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 ** Licensed under the Apache License, Version 2.0 (the "License");
11 ** you may not use this file except in compliance with the License.
12 ** You may obtain a copy of the License at
14 ** http://www.apache.org/licenses/LICENSE-2.0
16 ** Unless required by applicable law or agreed to in writing, software
17 ** distributed under the License is distributed on an "AS IS" BASIS,
18 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 ** See the License for the specific language governing permissions and
20 ** limitations under the License.
24 ** This header is generated from the Khronos Vulkan XML API Registry.
35 #define VK_VERSION_1_0 1
37 #define VK_MAKE_VERSION(major, minor, patch) \
38 (((major) << 22) | ((minor) << 12) | (patch))
40 // 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.
41 //#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0
43 // Vulkan 1.0 version number
44 #define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0)// Patch version should always be set to 0
46 #define VK_VERSION_MAJOR(version) ((deUint32)(version) >> 22)
47 #define VK_VERSION_MINOR(version) (((deUint32)(version) >> 12) & 0x3ff)
48 #define VK_VERSION_PATCH(version) ((deUint32)(version) & 0xfff)
49 // Version of this file
50 #define VK_HEADER_VERSION 132
53 #define VK_NULL_HANDLE 0
56 #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
59 #if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE)
60 #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
61 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
63 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef deUint64 object;
67 typedef deUint32 VkFlags;
68 typedef deUint32 VkBool32;
69 typedef deUint64 VkDeviceSize;
70 typedef deUint32 VkSampleMask;
71 VK_DEFINE_HANDLE(VkInstance)
72 VK_DEFINE_HANDLE(VkPhysicalDevice)
73 VK_DEFINE_HANDLE(VkDevice)
74 VK_DEFINE_HANDLE(VkQueue)
75 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)
76 VK_DEFINE_HANDLE(VkCommandBuffer)
77 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)
78 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)
79 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
80 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
81 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)
82 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)
83 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
84 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
85 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)
86 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
87 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
88 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
89 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
90 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
91 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)
92 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
93 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
94 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
95 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
96 #define VK_LOD_CLAMP_NONE 1000.0f
97 #define VK_REMAINING_MIP_LEVELS (~0U)
98 #define VK_REMAINING_ARRAY_LAYERS (~0U)
99 #define VK_WHOLE_SIZE (~0ULL)
100 #define VK_ATTACHMENT_UNUSED (~0U)
103 #define VK_QUEUE_FAMILY_IGNORED (~0U)
104 #define VK_SUBPASS_EXTERNAL (~0U)
105 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256
106 #define VK_UUID_SIZE 16
107 #define VK_MAX_MEMORY_TYPES 32
108 #define VK_MAX_MEMORY_HEAPS 16
109 #define VK_MAX_EXTENSION_NAME_SIZE 256
110 #define VK_MAX_DESCRIPTION_SIZE 256
112 typedef enum VkPipelineCacheHeaderVersion {
113 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
114 VK_PIPELINE_CACHE_HEADER_VERSION_BEGIN_RANGE = VK_PIPELINE_CACHE_HEADER_VERSION_ONE,
115 VK_PIPELINE_CACHE_HEADER_VERSION_END_RANGE = VK_PIPELINE_CACHE_HEADER_VERSION_ONE,
116 VK_PIPELINE_CACHE_HEADER_VERSION_RANGE_SIZE = (VK_PIPELINE_CACHE_HEADER_VERSION_ONE - VK_PIPELINE_CACHE_HEADER_VERSION_ONE + 1),
117 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
118 } VkPipelineCacheHeaderVersion;
120 typedef enum VkResult {
127 VK_ERROR_OUT_OF_HOST_MEMORY = -1,
128 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2,
129 VK_ERROR_INITIALIZATION_FAILED = -3,
130 VK_ERROR_DEVICE_LOST = -4,
131 VK_ERROR_MEMORY_MAP_FAILED = -5,
132 VK_ERROR_LAYER_NOT_PRESENT = -6,
133 VK_ERROR_EXTENSION_NOT_PRESENT = -7,
134 VK_ERROR_FEATURE_NOT_PRESENT = -8,
135 VK_ERROR_INCOMPATIBLE_DRIVER = -9,
136 VK_ERROR_TOO_MANY_OBJECTS = -10,
137 VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
138 VK_ERROR_FRAGMENTED_POOL = -12,
139 VK_ERROR_UNKNOWN = -13,
140 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000,
141 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,
142 VK_ERROR_FRAGMENTATION = -1000161000,
143 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000,
144 VK_ERROR_SURFACE_LOST_KHR = -1000000000,
145 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
146 VK_SUBOPTIMAL_KHR = 1000001003,
147 VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
148 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
149 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
150 VK_ERROR_INVALID_SHADER_NV = -1000012000,
151 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
152 VK_ERROR_NOT_PERMITTED_EXT = -1000174001,
153 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000,
154 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
155 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
156 VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION,
157 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
158 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
159 VK_RESULT_BEGIN_RANGE = VK_ERROR_UNKNOWN,
160 VK_RESULT_END_RANGE = VK_INCOMPLETE,
161 VK_RESULT_RANGE_SIZE = (VK_INCOMPLETE - VK_ERROR_UNKNOWN + 1),
162 VK_RESULT_MAX_ENUM = 0x7FFFFFFF
165 typedef enum VkStructureType {
166 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,
167 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,
168 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,
169 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,
170 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,
171 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,
172 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,
173 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,
174 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,
175 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,
176 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,
177 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,
178 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,
179 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,
180 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,
181 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,
182 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,
183 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,
184 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
185 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
186 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
187 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
188 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
189 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
190 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
191 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
192 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
193 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
194 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,
195 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,
196 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,
197 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,
198 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
199 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,
200 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,
201 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,
202 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,
203 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,
204 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
205 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
206 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
207 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
208 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
209 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
210 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
211 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
212 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
213 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
214 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
215 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000,
216 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000,
217 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001,
218 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000,
219 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000,
220 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,
221 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000,
222 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003,
223 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004,
224 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005,
225 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006,
226 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
227 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
228 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,
229 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001,
230 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000,
231 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001,
232 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002,
233 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003,
234 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004,
235 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000,
236 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,
237 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002,
238 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003,
239 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004,
240 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005,
241 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006,
242 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007,
243 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008,
244 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000,
245 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,
246 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002,
247 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,
248 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,
249 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,
250 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,
251 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000,
252 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000,
253 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001,
254 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002,
255 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003,
256 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,
257 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,
258 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,
259 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003,
260 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004,
261 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005,
262 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000,
263 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000,
264 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001,
265 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002,
266 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003,
267 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004,
268 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000,
269 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001,
270 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002,
271 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000,
272 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001,
273 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000,
274 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000,
275 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000,
276 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001,
277 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,
278 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,
279 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000,
280 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49,
281 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50,
282 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51,
283 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52,
284 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000,
285 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000,
286 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001,
287 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002,
288 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003,
289 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004,
290 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005,
291 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006,
292 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000,
293 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000,
294 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000,
295 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000,
296 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000,
297 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000,
298 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001,
299 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002,
300 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003,
301 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004,
302 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000,
303 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001,
304 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000,
305 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000,
306 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000,
307 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001,
308 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000,
309 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000,
310 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001,
311 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002,
312 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003,
313 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000,
314 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000,
315 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000,
316 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001,
317 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002,
318 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000,
319 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000,
320 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001,
321 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002,
322 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003,
323 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004,
324 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005,
325 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000,
326 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001,
327 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002,
328 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003,
329 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004,
330 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
331 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
332 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,
333 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008,
334 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009,
335 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010,
336 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011,
337 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
338 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
339 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,
340 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,
341 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000,
342 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000,
343 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000,
344 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000,
345 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,
346 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,
347 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000,
348 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,
349 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,
350 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,
351 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
352 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
353 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
354 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000,
355 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001,
356 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002,
357 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000,
358 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
359 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
360 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
361 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
362 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
363 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,
364 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,
365 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,
366 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,
367 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,
368 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000,
369 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
370 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
371 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,
372 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,
373 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,
374 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003,
375 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000,
376 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001,
377 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002,
378 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000,
379 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000,
380 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001,
381 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002,
382 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003,
383 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000,
384 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001,
385 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,
386 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000,
387 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001,
388 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002,
389 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
390 VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX = 1000086000,
391 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX = 1000086001,
392 VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX = 1000086002,
393 VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX = 1000086003,
394 VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX = 1000086004,
395 VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX = 1000086005,
396 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,
397 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000,
398 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,
399 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,
400 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,
401 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
402 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,
403 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,
404 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
405 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
406 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
407 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000,
408 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001,
409 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000,
410 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001,
411 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,
412 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,
413 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,
414 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,
415 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002,
416 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000,
417 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001,
418 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000,
419 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001,
420 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002,
421 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003,
422 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004,
423 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005,
424 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006,
425 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,
426 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,
427 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,
428 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000,
429 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001,
430 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002,
431 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003,
432 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004,
433 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
434 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
435 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000,
436 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001,
437 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002,
438 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003,
439 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004,
440 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000,
441 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001,
442 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002,
443 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003,
444 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004,
445 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005,
446 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = 1000138000,
447 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = 1000138001,
448 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = 1000138002,
449 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = 1000138003,
450 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
451 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,
452 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,
453 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,
454 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,
455 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,
456 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,
457 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,
458 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,
459 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,
460 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000,
461 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001,
462 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000,
463 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158001,
464 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002,
465 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003,
466 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004,
467 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005,
468 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,
469 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,
470 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000,
471 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001,
472 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002,
473 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005,
474 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000,
475 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001,
476 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003,
477 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004,
478 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005,
479 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006,
480 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007,
481 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008,
482 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009,
483 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011,
484 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012,
485 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000,
486 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
487 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000,
488 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001,
489 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000,
490 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,
491 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,
492 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,
493 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000,
494 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000,
495 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000,
496 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
497 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000,
498 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
499 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
500 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002,
501 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000,
502 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000,
503 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
504 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
505 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
506 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = 1000203000,
507 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000,
508 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
509 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
510 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
511 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
512 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000,
513 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = 1000210000,
514 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001,
515 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002,
516 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003,
517 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004,
518 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005,
519 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000,
520 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000,
521 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001,
522 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000,
523 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000,
524 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000,
525 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001,
526 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,
527 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = 1000225000,
528 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = 1000225001,
529 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = 1000225002,
530 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000,
531 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000,
532 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
533 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
534 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
535 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000,
536 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000,
537 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000,
538 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
539 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000,
540 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000,
541 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000,
542 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001,
543 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002,
544 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000,
545 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001,
546 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002,
547 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000,
548 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000,
549 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000,
550 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002,
551 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001,
552 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000,
553 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000,
554 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001,
555 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002,
556 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000,
557 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000,
558 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001,
559 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002,
560 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003,
561 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004,
562 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005,
563 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000,
564 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000,
565 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = 1000281001,
566 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
567 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
568 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
569 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
570 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
571 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
572 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
573 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
574 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
575 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
576 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
577 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
578 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
579 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
580 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
581 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
582 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
583 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
584 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
585 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
586 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
587 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
588 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
589 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
590 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
591 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
592 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
593 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
594 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
595 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
596 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
597 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
598 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
599 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
600 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
601 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
602 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
603 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
604 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
605 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
606 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
607 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
608 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
609 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
610 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
611 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
612 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
613 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
614 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
615 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
616 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
617 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
618 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
619 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
620 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
621 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
622 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
623 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
624 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES,
625 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES,
626 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
627 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
628 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
629 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
630 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
631 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
632 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
633 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
634 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
635 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
636 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
637 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
638 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
639 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
640 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
641 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
642 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
643 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
644 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
645 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
646 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
647 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
648 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
649 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
650 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
651 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
652 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
653 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
654 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
655 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
656 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
657 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
658 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
659 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
660 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
661 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
662 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
663 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
664 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
665 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
666 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
667 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
668 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
669 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
670 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
671 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
672 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
673 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
674 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
675 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
676 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
677 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
678 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
679 VK_STRUCTURE_TYPE_BEGIN_RANGE = VK_STRUCTURE_TYPE_APPLICATION_INFO,
680 VK_STRUCTURE_TYPE_END_RANGE = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO,
681 VK_STRUCTURE_TYPE_RANGE_SIZE = (VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO - VK_STRUCTURE_TYPE_APPLICATION_INFO + 1),
682 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
685 typedef enum VkSystemAllocationScope {
686 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
687 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
688 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
689 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
690 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
691 VK_SYSTEM_ALLOCATION_SCOPE_BEGIN_RANGE = VK_SYSTEM_ALLOCATION_SCOPE_COMMAND,
692 VK_SYSTEM_ALLOCATION_SCOPE_END_RANGE = VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE,
693 VK_SYSTEM_ALLOCATION_SCOPE_RANGE_SIZE = (VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE - VK_SYSTEM_ALLOCATION_SCOPE_COMMAND + 1),
694 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
695 } VkSystemAllocationScope;
697 typedef enum VkInternalAllocationType {
698 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
699 VK_INTERNAL_ALLOCATION_TYPE_BEGIN_RANGE = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE,
700 VK_INTERNAL_ALLOCATION_TYPE_END_RANGE = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE,
701 VK_INTERNAL_ALLOCATION_TYPE_RANGE_SIZE = (VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE - VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE + 1),
702 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
703 } VkInternalAllocationType;
705 typedef enum VkFormat {
706 VK_FORMAT_UNDEFINED = 0,
707 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
708 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
709 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
710 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
711 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
712 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
713 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
714 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
715 VK_FORMAT_R8_UNORM = 9,
716 VK_FORMAT_R8_SNORM = 10,
717 VK_FORMAT_R8_USCALED = 11,
718 VK_FORMAT_R8_SSCALED = 12,
719 VK_FORMAT_R8_UINT = 13,
720 VK_FORMAT_R8_SINT = 14,
721 VK_FORMAT_R8_SRGB = 15,
722 VK_FORMAT_R8G8_UNORM = 16,
723 VK_FORMAT_R8G8_SNORM = 17,
724 VK_FORMAT_R8G8_USCALED = 18,
725 VK_FORMAT_R8G8_SSCALED = 19,
726 VK_FORMAT_R8G8_UINT = 20,
727 VK_FORMAT_R8G8_SINT = 21,
728 VK_FORMAT_R8G8_SRGB = 22,
729 VK_FORMAT_R8G8B8_UNORM = 23,
730 VK_FORMAT_R8G8B8_SNORM = 24,
731 VK_FORMAT_R8G8B8_USCALED = 25,
732 VK_FORMAT_R8G8B8_SSCALED = 26,
733 VK_FORMAT_R8G8B8_UINT = 27,
734 VK_FORMAT_R8G8B8_SINT = 28,
735 VK_FORMAT_R8G8B8_SRGB = 29,
736 VK_FORMAT_B8G8R8_UNORM = 30,
737 VK_FORMAT_B8G8R8_SNORM = 31,
738 VK_FORMAT_B8G8R8_USCALED = 32,
739 VK_FORMAT_B8G8R8_SSCALED = 33,
740 VK_FORMAT_B8G8R8_UINT = 34,
741 VK_FORMAT_B8G8R8_SINT = 35,
742 VK_FORMAT_B8G8R8_SRGB = 36,
743 VK_FORMAT_R8G8B8A8_UNORM = 37,
744 VK_FORMAT_R8G8B8A8_SNORM = 38,
745 VK_FORMAT_R8G8B8A8_USCALED = 39,
746 VK_FORMAT_R8G8B8A8_SSCALED = 40,
747 VK_FORMAT_R8G8B8A8_UINT = 41,
748 VK_FORMAT_R8G8B8A8_SINT = 42,
749 VK_FORMAT_R8G8B8A8_SRGB = 43,
750 VK_FORMAT_B8G8R8A8_UNORM = 44,
751 VK_FORMAT_B8G8R8A8_SNORM = 45,
752 VK_FORMAT_B8G8R8A8_USCALED = 46,
753 VK_FORMAT_B8G8R8A8_SSCALED = 47,
754 VK_FORMAT_B8G8R8A8_UINT = 48,
755 VK_FORMAT_B8G8R8A8_SINT = 49,
756 VK_FORMAT_B8G8R8A8_SRGB = 50,
757 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
758 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
759 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
760 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
761 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
762 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
763 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
764 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
765 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
766 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
767 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
768 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
769 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
770 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
771 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
772 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
773 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
774 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
775 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
776 VK_FORMAT_R16_UNORM = 70,
777 VK_FORMAT_R16_SNORM = 71,
778 VK_FORMAT_R16_USCALED = 72,
779 VK_FORMAT_R16_SSCALED = 73,
780 VK_FORMAT_R16_UINT = 74,
781 VK_FORMAT_R16_SINT = 75,
782 VK_FORMAT_R16_SFLOAT = 76,
783 VK_FORMAT_R16G16_UNORM = 77,
784 VK_FORMAT_R16G16_SNORM = 78,
785 VK_FORMAT_R16G16_USCALED = 79,
786 VK_FORMAT_R16G16_SSCALED = 80,
787 VK_FORMAT_R16G16_UINT = 81,
788 VK_FORMAT_R16G16_SINT = 82,
789 VK_FORMAT_R16G16_SFLOAT = 83,
790 VK_FORMAT_R16G16B16_UNORM = 84,
791 VK_FORMAT_R16G16B16_SNORM = 85,
792 VK_FORMAT_R16G16B16_USCALED = 86,
793 VK_FORMAT_R16G16B16_SSCALED = 87,
794 VK_FORMAT_R16G16B16_UINT = 88,
795 VK_FORMAT_R16G16B16_SINT = 89,
796 VK_FORMAT_R16G16B16_SFLOAT = 90,
797 VK_FORMAT_R16G16B16A16_UNORM = 91,
798 VK_FORMAT_R16G16B16A16_SNORM = 92,
799 VK_FORMAT_R16G16B16A16_USCALED = 93,
800 VK_FORMAT_R16G16B16A16_SSCALED = 94,
801 VK_FORMAT_R16G16B16A16_UINT = 95,
802 VK_FORMAT_R16G16B16A16_SINT = 96,
803 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
804 VK_FORMAT_R32_UINT = 98,
805 VK_FORMAT_R32_SINT = 99,
806 VK_FORMAT_R32_SFLOAT = 100,
807 VK_FORMAT_R32G32_UINT = 101,
808 VK_FORMAT_R32G32_SINT = 102,
809 VK_FORMAT_R32G32_SFLOAT = 103,
810 VK_FORMAT_R32G32B32_UINT = 104,
811 VK_FORMAT_R32G32B32_SINT = 105,
812 VK_FORMAT_R32G32B32_SFLOAT = 106,
813 VK_FORMAT_R32G32B32A32_UINT = 107,
814 VK_FORMAT_R32G32B32A32_SINT = 108,
815 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
816 VK_FORMAT_R64_UINT = 110,
817 VK_FORMAT_R64_SINT = 111,
818 VK_FORMAT_R64_SFLOAT = 112,
819 VK_FORMAT_R64G64_UINT = 113,
820 VK_FORMAT_R64G64_SINT = 114,
821 VK_FORMAT_R64G64_SFLOAT = 115,
822 VK_FORMAT_R64G64B64_UINT = 116,
823 VK_FORMAT_R64G64B64_SINT = 117,
824 VK_FORMAT_R64G64B64_SFLOAT = 118,
825 VK_FORMAT_R64G64B64A64_UINT = 119,
826 VK_FORMAT_R64G64B64A64_SINT = 120,
827 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
828 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
829 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
830 VK_FORMAT_D16_UNORM = 124,
831 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
832 VK_FORMAT_D32_SFLOAT = 126,
833 VK_FORMAT_S8_UINT = 127,
834 VK_FORMAT_D16_UNORM_S8_UINT = 128,
835 VK_FORMAT_D24_UNORM_S8_UINT = 129,
836 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
837 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
838 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
839 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
840 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
841 VK_FORMAT_BC2_UNORM_BLOCK = 135,
842 VK_FORMAT_BC2_SRGB_BLOCK = 136,
843 VK_FORMAT_BC3_UNORM_BLOCK = 137,
844 VK_FORMAT_BC3_SRGB_BLOCK = 138,
845 VK_FORMAT_BC4_UNORM_BLOCK = 139,
846 VK_FORMAT_BC4_SNORM_BLOCK = 140,
847 VK_FORMAT_BC5_UNORM_BLOCK = 141,
848 VK_FORMAT_BC5_SNORM_BLOCK = 142,
849 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
850 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
851 VK_FORMAT_BC7_UNORM_BLOCK = 145,
852 VK_FORMAT_BC7_SRGB_BLOCK = 146,
853 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
854 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
855 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
856 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
857 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
858 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
859 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
860 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
861 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
862 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
863 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
864 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
865 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
866 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
867 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
868 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
869 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
870 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
871 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
872 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
873 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
874 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
875 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
876 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
877 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
878 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
879 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
880 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
881 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
882 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
883 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
884 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
885 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
886 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
887 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
888 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
889 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
890 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
891 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
892 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
893 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
894 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
895 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
896 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
897 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
898 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
899 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
900 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
901 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
902 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
903 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
904 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
905 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
906 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
907 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
908 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
909 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
910 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
911 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
912 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
913 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
914 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
915 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
916 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
917 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
918 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
919 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
920 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
921 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
922 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
923 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
924 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
925 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
926 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
927 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
928 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
929 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
930 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
931 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
932 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
933 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = 1000066000,
934 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = 1000066001,
935 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = 1000066002,
936 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = 1000066003,
937 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = 1000066004,
938 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = 1000066005,
939 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = 1000066006,
940 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = 1000066007,
941 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = 1000066008,
942 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = 1000066009,
943 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = 1000066010,
944 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = 1000066011,
945 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = 1000066012,
946 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = 1000066013,
947 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
948 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,
949 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
950 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
951 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
952 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
953 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
954 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16,
955 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
956 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
957 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
958 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
959 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
960 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
961 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
962 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
963 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
964 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16,
965 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
966 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
967 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
968 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
969 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
970 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
971 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
972 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
973 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
974 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM,
975 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM,
976 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
977 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
978 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
979 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
980 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
981 VK_FORMAT_BEGIN_RANGE = VK_FORMAT_UNDEFINED,
982 VK_FORMAT_END_RANGE = VK_FORMAT_ASTC_12x12_SRGB_BLOCK,
983 VK_FORMAT_RANGE_SIZE = (VK_FORMAT_ASTC_12x12_SRGB_BLOCK - VK_FORMAT_UNDEFINED + 1),
984 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
987 typedef enum VkImageType {
988 VK_IMAGE_TYPE_1D = 0,
989 VK_IMAGE_TYPE_2D = 1,
990 VK_IMAGE_TYPE_3D = 2,
991 VK_IMAGE_TYPE_BEGIN_RANGE = VK_IMAGE_TYPE_1D,
992 VK_IMAGE_TYPE_END_RANGE = VK_IMAGE_TYPE_3D,
993 VK_IMAGE_TYPE_RANGE_SIZE = (VK_IMAGE_TYPE_3D - VK_IMAGE_TYPE_1D + 1),
994 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
997 typedef enum VkImageTiling {
998 VK_IMAGE_TILING_OPTIMAL = 0,
999 VK_IMAGE_TILING_LINEAR = 1,
1000 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
1001 VK_IMAGE_TILING_BEGIN_RANGE = VK_IMAGE_TILING_OPTIMAL,
1002 VK_IMAGE_TILING_END_RANGE = VK_IMAGE_TILING_LINEAR,
1003 VK_IMAGE_TILING_RANGE_SIZE = (VK_IMAGE_TILING_LINEAR - VK_IMAGE_TILING_OPTIMAL + 1),
1004 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
1007 typedef enum VkPhysicalDeviceType {
1008 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
1009 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
1010 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
1011 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
1012 VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
1013 VK_PHYSICAL_DEVICE_TYPE_BEGIN_RANGE = VK_PHYSICAL_DEVICE_TYPE_OTHER,
1014 VK_PHYSICAL_DEVICE_TYPE_END_RANGE = VK_PHYSICAL_DEVICE_TYPE_CPU,
1015 VK_PHYSICAL_DEVICE_TYPE_RANGE_SIZE = (VK_PHYSICAL_DEVICE_TYPE_CPU - VK_PHYSICAL_DEVICE_TYPE_OTHER + 1),
1016 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
1017 } VkPhysicalDeviceType;
1019 typedef enum VkQueryType {
1020 VK_QUERY_TYPE_OCCLUSION = 0,
1021 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
1022 VK_QUERY_TYPE_TIMESTAMP = 2,
1023 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
1024 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
1025 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
1026 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
1027 VK_QUERY_TYPE_BEGIN_RANGE = VK_QUERY_TYPE_OCCLUSION,
1028 VK_QUERY_TYPE_END_RANGE = VK_QUERY_TYPE_TIMESTAMP,
1029 VK_QUERY_TYPE_RANGE_SIZE = (VK_QUERY_TYPE_TIMESTAMP - VK_QUERY_TYPE_OCCLUSION + 1),
1030 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
1033 typedef enum VkSharingMode {
1034 VK_SHARING_MODE_EXCLUSIVE = 0,
1035 VK_SHARING_MODE_CONCURRENT = 1,
1036 VK_SHARING_MODE_BEGIN_RANGE = VK_SHARING_MODE_EXCLUSIVE,
1037 VK_SHARING_MODE_END_RANGE = VK_SHARING_MODE_CONCURRENT,
1038 VK_SHARING_MODE_RANGE_SIZE = (VK_SHARING_MODE_CONCURRENT - VK_SHARING_MODE_EXCLUSIVE + 1),
1039 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
1042 typedef enum VkImageLayout {
1043 VK_IMAGE_LAYOUT_UNDEFINED = 0,
1044 VK_IMAGE_LAYOUT_GENERAL = 1,
1045 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
1046 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
1047 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
1048 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
1049 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
1050 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
1051 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
1052 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
1053 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
1054 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
1055 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
1056 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
1057 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
1058 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
1059 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
1060 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003,
1061 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
1062 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
1063 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
1064 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
1065 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
1066 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
1067 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
1068 VK_IMAGE_LAYOUT_BEGIN_RANGE = VK_IMAGE_LAYOUT_UNDEFINED,
1069 VK_IMAGE_LAYOUT_END_RANGE = VK_IMAGE_LAYOUT_PREINITIALIZED,
1070 VK_IMAGE_LAYOUT_RANGE_SIZE = (VK_IMAGE_LAYOUT_PREINITIALIZED - VK_IMAGE_LAYOUT_UNDEFINED + 1),
1071 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
1074 typedef enum VkImageViewType {
1075 VK_IMAGE_VIEW_TYPE_1D = 0,
1076 VK_IMAGE_VIEW_TYPE_2D = 1,
1077 VK_IMAGE_VIEW_TYPE_3D = 2,
1078 VK_IMAGE_VIEW_TYPE_CUBE = 3,
1079 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
1080 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
1081 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
1082 VK_IMAGE_VIEW_TYPE_BEGIN_RANGE = VK_IMAGE_VIEW_TYPE_1D,
1083 VK_IMAGE_VIEW_TYPE_END_RANGE = VK_IMAGE_VIEW_TYPE_CUBE_ARRAY,
1084 VK_IMAGE_VIEW_TYPE_RANGE_SIZE = (VK_IMAGE_VIEW_TYPE_CUBE_ARRAY - VK_IMAGE_VIEW_TYPE_1D + 1),
1085 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
1088 typedef enum VkComponentSwizzle {
1089 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
1090 VK_COMPONENT_SWIZZLE_ZERO = 1,
1091 VK_COMPONENT_SWIZZLE_ONE = 2,
1092 VK_COMPONENT_SWIZZLE_R = 3,
1093 VK_COMPONENT_SWIZZLE_G = 4,
1094 VK_COMPONENT_SWIZZLE_B = 5,
1095 VK_COMPONENT_SWIZZLE_A = 6,
1096 VK_COMPONENT_SWIZZLE_BEGIN_RANGE = VK_COMPONENT_SWIZZLE_IDENTITY,
1097 VK_COMPONENT_SWIZZLE_END_RANGE = VK_COMPONENT_SWIZZLE_A,
1098 VK_COMPONENT_SWIZZLE_RANGE_SIZE = (VK_COMPONENT_SWIZZLE_A - VK_COMPONENT_SWIZZLE_IDENTITY + 1),
1099 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
1100 } VkComponentSwizzle;
1102 typedef enum VkVertexInputRate {
1103 VK_VERTEX_INPUT_RATE_VERTEX = 0,
1104 VK_VERTEX_INPUT_RATE_INSTANCE = 1,
1105 VK_VERTEX_INPUT_RATE_BEGIN_RANGE = VK_VERTEX_INPUT_RATE_VERTEX,
1106 VK_VERTEX_INPUT_RATE_END_RANGE = VK_VERTEX_INPUT_RATE_INSTANCE,
1107 VK_VERTEX_INPUT_RATE_RANGE_SIZE = (VK_VERTEX_INPUT_RATE_INSTANCE - VK_VERTEX_INPUT_RATE_VERTEX + 1),
1108 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
1109 } VkVertexInputRate;
1111 typedef enum VkPrimitiveTopology {
1112 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
1113 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
1114 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
1115 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
1116 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
1117 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
1118 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
1119 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
1120 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
1121 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
1122 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
1123 VK_PRIMITIVE_TOPOLOGY_BEGIN_RANGE = VK_PRIMITIVE_TOPOLOGY_POINT_LIST,
1124 VK_PRIMITIVE_TOPOLOGY_END_RANGE = VK_PRIMITIVE_TOPOLOGY_PATCH_LIST,
1125 VK_PRIMITIVE_TOPOLOGY_RANGE_SIZE = (VK_PRIMITIVE_TOPOLOGY_PATCH_LIST - VK_PRIMITIVE_TOPOLOGY_POINT_LIST + 1),
1126 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
1127 } VkPrimitiveTopology;
1129 typedef enum VkPolygonMode {
1130 VK_POLYGON_MODE_FILL = 0,
1131 VK_POLYGON_MODE_LINE = 1,
1132 VK_POLYGON_MODE_POINT = 2,
1133 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
1134 VK_POLYGON_MODE_BEGIN_RANGE = VK_POLYGON_MODE_FILL,
1135 VK_POLYGON_MODE_END_RANGE = VK_POLYGON_MODE_POINT,
1136 VK_POLYGON_MODE_RANGE_SIZE = (VK_POLYGON_MODE_POINT - VK_POLYGON_MODE_FILL + 1),
1137 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
1140 typedef enum VkFrontFace {
1141 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
1142 VK_FRONT_FACE_CLOCKWISE = 1,
1143 VK_FRONT_FACE_BEGIN_RANGE = VK_FRONT_FACE_COUNTER_CLOCKWISE,
1144 VK_FRONT_FACE_END_RANGE = VK_FRONT_FACE_CLOCKWISE,
1145 VK_FRONT_FACE_RANGE_SIZE = (VK_FRONT_FACE_CLOCKWISE - VK_FRONT_FACE_COUNTER_CLOCKWISE + 1),
1146 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
1149 typedef enum VkCompareOp {
1150 VK_COMPARE_OP_NEVER = 0,
1151 VK_COMPARE_OP_LESS = 1,
1152 VK_COMPARE_OP_EQUAL = 2,
1153 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
1154 VK_COMPARE_OP_GREATER = 4,
1155 VK_COMPARE_OP_NOT_EQUAL = 5,
1156 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
1157 VK_COMPARE_OP_ALWAYS = 7,
1158 VK_COMPARE_OP_BEGIN_RANGE = VK_COMPARE_OP_NEVER,
1159 VK_COMPARE_OP_END_RANGE = VK_COMPARE_OP_ALWAYS,
1160 VK_COMPARE_OP_RANGE_SIZE = (VK_COMPARE_OP_ALWAYS - VK_COMPARE_OP_NEVER + 1),
1161 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
1164 typedef enum VkStencilOp {
1165 VK_STENCIL_OP_KEEP = 0,
1166 VK_STENCIL_OP_ZERO = 1,
1167 VK_STENCIL_OP_REPLACE = 2,
1168 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
1169 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
1170 VK_STENCIL_OP_INVERT = 5,
1171 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
1172 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
1173 VK_STENCIL_OP_BEGIN_RANGE = VK_STENCIL_OP_KEEP,
1174 VK_STENCIL_OP_END_RANGE = VK_STENCIL_OP_DECREMENT_AND_WRAP,
1175 VK_STENCIL_OP_RANGE_SIZE = (VK_STENCIL_OP_DECREMENT_AND_WRAP - VK_STENCIL_OP_KEEP + 1),
1176 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
1179 typedef enum VkLogicOp {
1180 VK_LOGIC_OP_CLEAR = 0,
1181 VK_LOGIC_OP_AND = 1,
1182 VK_LOGIC_OP_AND_REVERSE = 2,
1183 VK_LOGIC_OP_COPY = 3,
1184 VK_LOGIC_OP_AND_INVERTED = 4,
1185 VK_LOGIC_OP_NO_OP = 5,
1186 VK_LOGIC_OP_XOR = 6,
1188 VK_LOGIC_OP_NOR = 8,
1189 VK_LOGIC_OP_EQUIVALENT = 9,
1190 VK_LOGIC_OP_INVERT = 10,
1191 VK_LOGIC_OP_OR_REVERSE = 11,
1192 VK_LOGIC_OP_COPY_INVERTED = 12,
1193 VK_LOGIC_OP_OR_INVERTED = 13,
1194 VK_LOGIC_OP_NAND = 14,
1195 VK_LOGIC_OP_SET = 15,
1196 VK_LOGIC_OP_BEGIN_RANGE = VK_LOGIC_OP_CLEAR,
1197 VK_LOGIC_OP_END_RANGE = VK_LOGIC_OP_SET,
1198 VK_LOGIC_OP_RANGE_SIZE = (VK_LOGIC_OP_SET - VK_LOGIC_OP_CLEAR + 1),
1199 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
1202 typedef enum VkBlendFactor {
1203 VK_BLEND_FACTOR_ZERO = 0,
1204 VK_BLEND_FACTOR_ONE = 1,
1205 VK_BLEND_FACTOR_SRC_COLOR = 2,
1206 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
1207 VK_BLEND_FACTOR_DST_COLOR = 4,
1208 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
1209 VK_BLEND_FACTOR_SRC_ALPHA = 6,
1210 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
1211 VK_BLEND_FACTOR_DST_ALPHA = 8,
1212 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
1213 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
1214 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
1215 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
1216 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
1217 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
1218 VK_BLEND_FACTOR_SRC1_COLOR = 15,
1219 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
1220 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
1221 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
1222 VK_BLEND_FACTOR_BEGIN_RANGE = VK_BLEND_FACTOR_ZERO,
1223 VK_BLEND_FACTOR_END_RANGE = VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA,
1224 VK_BLEND_FACTOR_RANGE_SIZE = (VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA - VK_BLEND_FACTOR_ZERO + 1),
1225 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
1228 typedef enum VkBlendOp {
1229 VK_BLEND_OP_ADD = 0,
1230 VK_BLEND_OP_SUBTRACT = 1,
1231 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
1232 VK_BLEND_OP_MIN = 3,
1233 VK_BLEND_OP_MAX = 4,
1234 VK_BLEND_OP_ZERO_EXT = 1000148000,
1235 VK_BLEND_OP_SRC_EXT = 1000148001,
1236 VK_BLEND_OP_DST_EXT = 1000148002,
1237 VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
1238 VK_BLEND_OP_DST_OVER_EXT = 1000148004,
1239 VK_BLEND_OP_SRC_IN_EXT = 1000148005,
1240 VK_BLEND_OP_DST_IN_EXT = 1000148006,
1241 VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
1242 VK_BLEND_OP_DST_OUT_EXT = 1000148008,
1243 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
1244 VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
1245 VK_BLEND_OP_XOR_EXT = 1000148011,
1246 VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
1247 VK_BLEND_OP_SCREEN_EXT = 1000148013,
1248 VK_BLEND_OP_OVERLAY_EXT = 1000148014,
1249 VK_BLEND_OP_DARKEN_EXT = 1000148015,
1250 VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
1251 VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
1252 VK_BLEND_OP_COLORBURN_EXT = 1000148018,
1253 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
1254 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
1255 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
1256 VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
1257 VK_BLEND_OP_INVERT_EXT = 1000148023,
1258 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
1259 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
1260 VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
1261 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
1262 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
1263 VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
1264 VK_BLEND_OP_HARDMIX_EXT = 1000148030,
1265 VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
1266 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
1267 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
1268 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
1269 VK_BLEND_OP_PLUS_EXT = 1000148035,
1270 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
1271 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
1272 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
1273 VK_BLEND_OP_MINUS_EXT = 1000148039,
1274 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
1275 VK_BLEND_OP_CONTRAST_EXT = 1000148041,
1276 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
1277 VK_BLEND_OP_RED_EXT = 1000148043,
1278 VK_BLEND_OP_GREEN_EXT = 1000148044,
1279 VK_BLEND_OP_BLUE_EXT = 1000148045,
1280 VK_BLEND_OP_BEGIN_RANGE = VK_BLEND_OP_ADD,
1281 VK_BLEND_OP_END_RANGE = VK_BLEND_OP_MAX,
1282 VK_BLEND_OP_RANGE_SIZE = (VK_BLEND_OP_MAX - VK_BLEND_OP_ADD + 1),
1283 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
1286 typedef enum VkDynamicState {
1287 VK_DYNAMIC_STATE_VIEWPORT = 0,
1288 VK_DYNAMIC_STATE_SCISSOR = 1,
1289 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
1290 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
1291 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
1292 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
1293 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
1294 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
1295 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
1296 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
1297 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
1298 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
1299 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
1300 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
1301 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
1302 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000,
1303 VK_DYNAMIC_STATE_BEGIN_RANGE = VK_DYNAMIC_STATE_VIEWPORT,
1304 VK_DYNAMIC_STATE_END_RANGE = VK_DYNAMIC_STATE_STENCIL_REFERENCE,
1305 VK_DYNAMIC_STATE_RANGE_SIZE = (VK_DYNAMIC_STATE_STENCIL_REFERENCE - VK_DYNAMIC_STATE_VIEWPORT + 1),
1306 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
1309 typedef enum VkFilter {
1310 VK_FILTER_NEAREST = 0,
1311 VK_FILTER_LINEAR = 1,
1312 VK_FILTER_CUBIC_IMG = 1000015000,
1313 VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG,
1314 VK_FILTER_BEGIN_RANGE = VK_FILTER_NEAREST,
1315 VK_FILTER_END_RANGE = VK_FILTER_LINEAR,
1316 VK_FILTER_RANGE_SIZE = (VK_FILTER_LINEAR - VK_FILTER_NEAREST + 1),
1317 VK_FILTER_MAX_ENUM = 0x7FFFFFFF
1320 typedef enum VkSamplerMipmapMode {
1321 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
1322 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
1323 VK_SAMPLER_MIPMAP_MODE_BEGIN_RANGE = VK_SAMPLER_MIPMAP_MODE_NEAREST,
1324 VK_SAMPLER_MIPMAP_MODE_END_RANGE = VK_SAMPLER_MIPMAP_MODE_LINEAR,
1325 VK_SAMPLER_MIPMAP_MODE_RANGE_SIZE = (VK_SAMPLER_MIPMAP_MODE_LINEAR - VK_SAMPLER_MIPMAP_MODE_NEAREST + 1),
1326 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
1327 } VkSamplerMipmapMode;
1329 typedef enum VkSamplerAddressMode {
1330 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
1331 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
1332 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
1333 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
1334 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
1335 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
1336 VK_SAMPLER_ADDRESS_MODE_BEGIN_RANGE = VK_SAMPLER_ADDRESS_MODE_REPEAT,
1337 VK_SAMPLER_ADDRESS_MODE_END_RANGE = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER,
1338 VK_SAMPLER_ADDRESS_MODE_RANGE_SIZE = (VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER - VK_SAMPLER_ADDRESS_MODE_REPEAT + 1),
1339 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
1340 } VkSamplerAddressMode;
1342 typedef enum VkBorderColor {
1343 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
1344 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
1345 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
1346 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
1347 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
1348 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
1349 VK_BORDER_COLOR_BEGIN_RANGE = VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK,
1350 VK_BORDER_COLOR_END_RANGE = VK_BORDER_COLOR_INT_OPAQUE_WHITE,
1351 VK_BORDER_COLOR_RANGE_SIZE = (VK_BORDER_COLOR_INT_OPAQUE_WHITE - VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK + 1),
1352 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
1355 typedef enum VkDescriptorType {
1356 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
1357 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
1358 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
1359 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
1360 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
1361 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
1362 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
1363 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
1364 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
1365 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
1366 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
1367 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = 1000138000,
1368 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
1369 VK_DESCRIPTOR_TYPE_BEGIN_RANGE = VK_DESCRIPTOR_TYPE_SAMPLER,
1370 VK_DESCRIPTOR_TYPE_END_RANGE = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT,
1371 VK_DESCRIPTOR_TYPE_RANGE_SIZE = (VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT - VK_DESCRIPTOR_TYPE_SAMPLER + 1),
1372 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
1375 typedef enum VkAttachmentLoadOp {
1376 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
1377 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
1378 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
1379 VK_ATTACHMENT_LOAD_OP_BEGIN_RANGE = VK_ATTACHMENT_LOAD_OP_LOAD,
1380 VK_ATTACHMENT_LOAD_OP_END_RANGE = VK_ATTACHMENT_LOAD_OP_DONT_CARE,
1381 VK_ATTACHMENT_LOAD_OP_RANGE_SIZE = (VK_ATTACHMENT_LOAD_OP_DONT_CARE - VK_ATTACHMENT_LOAD_OP_LOAD + 1),
1382 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
1383 } VkAttachmentLoadOp;
1385 typedef enum VkAttachmentStoreOp {
1386 VK_ATTACHMENT_STORE_OP_STORE = 0,
1387 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
1388 VK_ATTACHMENT_STORE_OP_BEGIN_RANGE = VK_ATTACHMENT_STORE_OP_STORE,
1389 VK_ATTACHMENT_STORE_OP_END_RANGE = VK_ATTACHMENT_STORE_OP_DONT_CARE,
1390 VK_ATTACHMENT_STORE_OP_RANGE_SIZE = (VK_ATTACHMENT_STORE_OP_DONT_CARE - VK_ATTACHMENT_STORE_OP_STORE + 1),
1391 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
1392 } VkAttachmentStoreOp;
1394 typedef enum VkPipelineBindPoint {
1395 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
1396 VK_PIPELINE_BIND_POINT_COMPUTE = 1,
1397 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = 1000165000,
1398 VK_PIPELINE_BIND_POINT_BEGIN_RANGE = VK_PIPELINE_BIND_POINT_GRAPHICS,
1399 VK_PIPELINE_BIND_POINT_END_RANGE = VK_PIPELINE_BIND_POINT_COMPUTE,
1400 VK_PIPELINE_BIND_POINT_RANGE_SIZE = (VK_PIPELINE_BIND_POINT_COMPUTE - VK_PIPELINE_BIND_POINT_GRAPHICS + 1),
1401 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
1402 } VkPipelineBindPoint;
1404 typedef enum VkCommandBufferLevel {
1405 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
1406 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
1407 VK_COMMAND_BUFFER_LEVEL_BEGIN_RANGE = VK_COMMAND_BUFFER_LEVEL_PRIMARY,
1408 VK_COMMAND_BUFFER_LEVEL_END_RANGE = VK_COMMAND_BUFFER_LEVEL_SECONDARY,
1409 VK_COMMAND_BUFFER_LEVEL_RANGE_SIZE = (VK_COMMAND_BUFFER_LEVEL_SECONDARY - VK_COMMAND_BUFFER_LEVEL_PRIMARY + 1),
1410 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
1411 } VkCommandBufferLevel;
1413 typedef enum VkIndexType {
1414 VK_INDEX_TYPE_UINT16 = 0,
1415 VK_INDEX_TYPE_UINT32 = 1,
1416 VK_INDEX_TYPE_NONE_NV = 1000165000,
1417 VK_INDEX_TYPE_UINT8_EXT = 1000265000,
1418 VK_INDEX_TYPE_BEGIN_RANGE = VK_INDEX_TYPE_UINT16,
1419 VK_INDEX_TYPE_END_RANGE = VK_INDEX_TYPE_UINT32,
1420 VK_INDEX_TYPE_RANGE_SIZE = (VK_INDEX_TYPE_UINT32 - VK_INDEX_TYPE_UINT16 + 1),
1421 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
1424 typedef enum VkSubpassContents {
1425 VK_SUBPASS_CONTENTS_INLINE = 0,
1426 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
1427 VK_SUBPASS_CONTENTS_BEGIN_RANGE = VK_SUBPASS_CONTENTS_INLINE,
1428 VK_SUBPASS_CONTENTS_END_RANGE = VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS,
1429 VK_SUBPASS_CONTENTS_RANGE_SIZE = (VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS - VK_SUBPASS_CONTENTS_INLINE + 1),
1430 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
1431 } VkSubpassContents;
1433 typedef enum VkObjectType {
1434 VK_OBJECT_TYPE_UNKNOWN = 0,
1435 VK_OBJECT_TYPE_INSTANCE = 1,
1436 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
1437 VK_OBJECT_TYPE_DEVICE = 3,
1438 VK_OBJECT_TYPE_QUEUE = 4,
1439 VK_OBJECT_TYPE_SEMAPHORE = 5,
1440 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
1441 VK_OBJECT_TYPE_FENCE = 7,
1442 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
1443 VK_OBJECT_TYPE_BUFFER = 9,
1444 VK_OBJECT_TYPE_IMAGE = 10,
1445 VK_OBJECT_TYPE_EVENT = 11,
1446 VK_OBJECT_TYPE_QUERY_POOL = 12,
1447 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
1448 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
1449 VK_OBJECT_TYPE_SHADER_MODULE = 15,
1450 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
1451 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
1452 VK_OBJECT_TYPE_RENDER_PASS = 18,
1453 VK_OBJECT_TYPE_PIPELINE = 19,
1454 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
1455 VK_OBJECT_TYPE_SAMPLER = 21,
1456 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
1457 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
1458 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
1459 VK_OBJECT_TYPE_COMMAND_POOL = 25,
1460 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
1461 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
1462 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
1463 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
1464 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
1465 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
1466 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
1467 VK_OBJECT_TYPE_OBJECT_TABLE_NVX = 1000086000,
1468 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX = 1000086001,
1469 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
1470 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
1471 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
1472 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
1473 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
1474 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
1475 VK_OBJECT_TYPE_BEGIN_RANGE = VK_OBJECT_TYPE_UNKNOWN,
1476 VK_OBJECT_TYPE_END_RANGE = VK_OBJECT_TYPE_COMMAND_POOL,
1477 VK_OBJECT_TYPE_RANGE_SIZE = (VK_OBJECT_TYPE_COMMAND_POOL - VK_OBJECT_TYPE_UNKNOWN + 1),
1478 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
1481 typedef enum VkVendorId {
1482 VK_VENDOR_ID_VIV = 0x10001,
1483 VK_VENDOR_ID_VSI = 0x10002,
1484 VK_VENDOR_ID_KAZAN = 0x10003,
1485 VK_VENDOR_ID_BEGIN_RANGE = VK_VENDOR_ID_VIV,
1486 VK_VENDOR_ID_END_RANGE = VK_VENDOR_ID_KAZAN,
1487 VK_VENDOR_ID_RANGE_SIZE = (VK_VENDOR_ID_KAZAN - VK_VENDOR_ID_VIV + 1),
1488 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
1490 typedef VkFlags VkInstanceCreateFlags;
1492 typedef enum VkFormatFeatureFlagBits {
1493 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
1494 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
1495 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
1496 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
1497 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
1498 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
1499 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
1500 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
1501 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
1502 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
1503 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
1504 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
1505 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
1506 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,
1507 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,
1508 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,
1509 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,
1510 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,
1511 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,
1512 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
1513 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
1514 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
1515 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,
1516 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
1517 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
1518 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
1519 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
1520 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
1521 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
1522 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
1523 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
1524 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
1525 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,
1526 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
1527 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
1528 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
1529 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1530 } VkFormatFeatureFlagBits;
1531 typedef VkFlags VkFormatFeatureFlags;
1533 typedef enum VkImageUsageFlagBits {
1534 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
1535 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
1536 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
1537 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
1538 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
1539 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
1540 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
1541 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
1542 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00000100,
1543 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
1544 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1545 } VkImageUsageFlagBits;
1546 typedef VkFlags VkImageUsageFlags;
1548 typedef enum VkImageCreateFlagBits {
1549 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
1550 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
1551 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
1552 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
1553 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
1554 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,
1555 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,
1556 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,
1557 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,
1558 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,
1559 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,
1560 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,
1561 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
1562 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
1563 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
1564 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
1565 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
1566 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
1567 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
1568 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT,
1569 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT,
1570 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1571 } VkImageCreateFlagBits;
1572 typedef VkFlags VkImageCreateFlags;
1574 typedef enum VkSampleCountFlagBits {
1575 VK_SAMPLE_COUNT_1_BIT = 0x00000001,
1576 VK_SAMPLE_COUNT_2_BIT = 0x00000002,
1577 VK_SAMPLE_COUNT_4_BIT = 0x00000004,
1578 VK_SAMPLE_COUNT_8_BIT = 0x00000008,
1579 VK_SAMPLE_COUNT_16_BIT = 0x00000010,
1580 VK_SAMPLE_COUNT_32_BIT = 0x00000020,
1581 VK_SAMPLE_COUNT_64_BIT = 0x00000040,
1582 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1583 } VkSampleCountFlagBits;
1584 typedef VkFlags VkSampleCountFlags;
1586 typedef enum VkQueueFlagBits {
1587 VK_QUEUE_GRAPHICS_BIT = 0x00000001,
1588 VK_QUEUE_COMPUTE_BIT = 0x00000002,
1589 VK_QUEUE_TRANSFER_BIT = 0x00000004,
1590 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
1591 VK_QUEUE_PROTECTED_BIT = 0x00000010,
1592 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1594 typedef VkFlags VkQueueFlags;
1596 typedef enum VkMemoryPropertyFlagBits {
1597 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
1598 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
1599 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
1600 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
1601 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
1602 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
1603 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040,
1604 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080,
1605 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1606 } VkMemoryPropertyFlagBits;
1607 typedef VkFlags VkMemoryPropertyFlags;
1609 typedef enum VkMemoryHeapFlagBits {
1610 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
1611 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
1612 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
1613 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1614 } VkMemoryHeapFlagBits;
1615 typedef VkFlags VkMemoryHeapFlags;
1616 typedef VkFlags VkDeviceCreateFlags;
1618 typedef enum VkDeviceQueueCreateFlagBits {
1619 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
1620 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1621 } VkDeviceQueueCreateFlagBits;
1622 typedef VkFlags VkDeviceQueueCreateFlags;
1624 typedef enum VkPipelineStageFlagBits {
1625 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
1626 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
1627 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
1628 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
1629 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
1630 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
1631 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
1632 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
1633 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
1634 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
1635 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
1636 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
1637 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
1638 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
1639 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
1640 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
1641 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
1642 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
1643 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
1644 VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX = 0x00020000,
1645 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00400000,
1646 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = 0x00200000,
1647 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000,
1648 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000,
1649 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000,
1650 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
1651 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1652 } VkPipelineStageFlagBits;
1653 typedef VkFlags VkPipelineStageFlags;
1654 typedef VkFlags VkMemoryMapFlags;
1656 typedef enum VkImageAspectFlagBits {
1657 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
1658 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
1659 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
1660 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
1661 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
1662 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
1663 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
1664 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
1665 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
1666 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
1667 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
1668 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
1669 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
1670 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
1671 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1672 } VkImageAspectFlagBits;
1673 typedef VkFlags VkImageAspectFlags;
1675 typedef enum VkSparseImageFormatFlagBits {
1676 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
1677 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
1678 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
1679 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1680 } VkSparseImageFormatFlagBits;
1681 typedef VkFlags VkSparseImageFormatFlags;
1683 typedef enum VkSparseMemoryBindFlagBits {
1684 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
1685 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1686 } VkSparseMemoryBindFlagBits;
1687 typedef VkFlags VkSparseMemoryBindFlags;
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;
1696 typedef VkFlags VkQueryPoolCreateFlags;
1698 typedef enum VkQueryPipelineStatisticFlagBits {
1699 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
1700 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
1701 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
1702 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
1703 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
1704 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
1705 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
1706 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
1707 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
1708 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
1709 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
1710 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1711 } VkQueryPipelineStatisticFlagBits;
1712 typedef VkFlags VkQueryPipelineStatisticFlags;
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_NV = 0x00000400,
1750 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
1751 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
1752 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1753 } VkBufferUsageFlagBits;
1754 typedef VkFlags VkBufferUsageFlags;
1755 typedef VkFlags VkBufferViewCreateFlags;
1757 typedef enum VkImageViewCreateFlagBits {
1758 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
1759 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1760 } VkImageViewCreateFlagBits;
1761 typedef VkFlags VkImageViewCreateFlags;
1763 typedef enum VkShaderModuleCreateFlagBits {
1764 VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1765 } VkShaderModuleCreateFlagBits;
1766 typedef VkFlags VkShaderModuleCreateFlags;
1767 typedef VkFlags VkPipelineCacheCreateFlags;
1769 typedef enum VkPipelineCreateFlagBits {
1770 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
1771 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
1772 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
1773 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
1774 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010,
1775 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
1776 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,
1777 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
1778 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
1779 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
1780 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,
1781 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1782 } VkPipelineCreateFlagBits;
1783 typedef VkFlags VkPipelineCreateFlags;
1785 typedef enum VkPipelineShaderStageCreateFlagBits {
1786 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000001,
1787 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000002,
1788 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1789 } VkPipelineShaderStageCreateFlagBits;
1790 typedef VkFlags VkPipelineShaderStageCreateFlags;
1792 typedef enum VkShaderStageFlagBits {
1793 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
1794 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
1795 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
1796 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
1797 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
1798 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
1799 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
1800 VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
1801 VK_SHADER_STAGE_RAYGEN_BIT_NV = 0x00000100,
1802 VK_SHADER_STAGE_ANY_HIT_BIT_NV = 0x00000200,
1803 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = 0x00000400,
1804 VK_SHADER_STAGE_MISS_BIT_NV = 0x00000800,
1805 VK_SHADER_STAGE_INTERSECTION_BIT_NV = 0x00001000,
1806 VK_SHADER_STAGE_CALLABLE_BIT_NV = 0x00002000,
1807 VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040,
1808 VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080,
1809 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1810 } VkShaderStageFlagBits;
1811 typedef VkFlags VkPipelineVertexInputStateCreateFlags;
1812 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
1813 typedef VkFlags VkPipelineTessellationStateCreateFlags;
1814 typedef VkFlags VkPipelineViewportStateCreateFlags;
1815 typedef VkFlags VkPipelineRasterizationStateCreateFlags;
1817 typedef enum VkCullModeFlagBits {
1818 VK_CULL_MODE_NONE = 0,
1819 VK_CULL_MODE_FRONT_BIT = 0x00000001,
1820 VK_CULL_MODE_BACK_BIT = 0x00000002,
1821 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
1822 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1823 } VkCullModeFlagBits;
1824 typedef VkFlags VkCullModeFlags;
1825 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
1826 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
1827 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
1829 typedef enum VkColorComponentFlagBits {
1830 VK_COLOR_COMPONENT_R_BIT = 0x00000001,
1831 VK_COLOR_COMPONENT_G_BIT = 0x00000002,
1832 VK_COLOR_COMPONENT_B_BIT = 0x00000004,
1833 VK_COLOR_COMPONENT_A_BIT = 0x00000008,
1834 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1835 } VkColorComponentFlagBits;
1836 typedef VkFlags VkColorComponentFlags;
1837 typedef VkFlags VkPipelineDynamicStateCreateFlags;
1838 typedef VkFlags VkPipelineLayoutCreateFlags;
1839 typedef VkFlags VkShaderStageFlags;
1841 typedef enum VkSamplerCreateFlagBits {
1842 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
1843 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
1844 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1845 } VkSamplerCreateFlagBits;
1846 typedef VkFlags VkSamplerCreateFlags;
1848 typedef enum VkDescriptorSetLayoutCreateFlagBits {
1849 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
1850 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
1851 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
1852 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1853 } VkDescriptorSetLayoutCreateFlagBits;
1854 typedef VkFlags VkDescriptorSetLayoutCreateFlags;
1856 typedef enum VkDescriptorPoolCreateFlagBits {
1857 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
1858 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
1859 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
1860 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1861 } VkDescriptorPoolCreateFlagBits;
1862 typedef VkFlags VkDescriptorPoolCreateFlags;
1863 typedef VkFlags VkDescriptorPoolResetFlags;
1865 typedef enum VkFramebufferCreateFlagBits {
1866 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001,
1867 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
1868 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1869 } VkFramebufferCreateFlagBits;
1870 typedef VkFlags VkFramebufferCreateFlags;
1872 typedef enum VkRenderPassCreateFlagBits {
1873 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1874 } VkRenderPassCreateFlagBits;
1875 typedef VkFlags VkRenderPassCreateFlags;
1877 typedef enum VkAttachmentDescriptionFlagBits {
1878 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
1879 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1880 } VkAttachmentDescriptionFlagBits;
1881 typedef VkFlags VkAttachmentDescriptionFlags;
1883 typedef enum VkSubpassDescriptionFlagBits {
1884 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
1885 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
1886 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1887 } VkSubpassDescriptionFlagBits;
1888 typedef VkFlags VkSubpassDescriptionFlags;
1890 typedef enum VkAccessFlagBits {
1891 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
1892 VK_ACCESS_INDEX_READ_BIT = 0x00000002,
1893 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
1894 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
1895 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
1896 VK_ACCESS_SHADER_READ_BIT = 0x00000020,
1897 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
1898 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
1899 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
1900 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
1901 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
1902 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
1903 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
1904 VK_ACCESS_HOST_READ_BIT = 0x00002000,
1905 VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
1906 VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
1907 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
1908 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
1909 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
1910 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
1911 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
1912 VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX = 0x00020000,
1913 VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX = 0x00040000,
1914 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
1915 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000,
1916 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000,
1917 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000,
1918 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
1919 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1921 typedef VkFlags VkAccessFlags;
1923 typedef enum VkDependencyFlagBits {
1924 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
1925 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
1926 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
1927 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
1928 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
1929 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1930 } VkDependencyFlagBits;
1931 typedef VkFlags VkDependencyFlags;
1933 typedef enum VkCommandPoolCreateFlagBits {
1934 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
1935 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
1936 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,
1937 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1938 } VkCommandPoolCreateFlagBits;
1939 typedef VkFlags VkCommandPoolCreateFlags;
1941 typedef enum VkCommandPoolResetFlagBits {
1942 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
1943 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1944 } VkCommandPoolResetFlagBits;
1945 typedef VkFlags VkCommandPoolResetFlags;
1947 typedef enum VkCommandBufferUsageFlagBits {
1948 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
1949 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
1950 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
1951 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1952 } VkCommandBufferUsageFlagBits;
1953 typedef VkFlags VkCommandBufferUsageFlags;
1955 typedef enum VkQueryControlFlagBits {
1956 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
1957 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1958 } VkQueryControlFlagBits;
1959 typedef VkFlags VkQueryControlFlags;
1961 typedef enum VkCommandBufferResetFlagBits {
1962 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
1963 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1964 } VkCommandBufferResetFlagBits;
1965 typedef VkFlags VkCommandBufferResetFlags;
1967 typedef enum VkStencilFaceFlagBits {
1968 VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
1969 VK_STENCIL_FACE_BACK_BIT = 0x00000002,
1970 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
1971 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
1972 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1973 } VkStencilFaceFlagBits;
1974 typedef VkFlags VkStencilFaceFlags;
1975 typedef struct VkApplicationInfo {
1976 VkStructureType sType;
1978 const char* pApplicationName;
1979 deUint32 applicationVersion;
1980 const char* pEngineName;
1981 deUint32 engineVersion;
1982 deUint32 apiVersion;
1983 } VkApplicationInfo;
1985 typedef struct VkInstanceCreateInfo {
1986 VkStructureType sType;
1988 VkInstanceCreateFlags flags;
1989 const VkApplicationInfo* pApplicationInfo;
1990 deUint32 enabledLayerCount;
1991 const char* const* ppEnabledLayerNames;
1992 deUint32 enabledExtensionCount;
1993 const char* const* ppEnabledExtensionNames;
1994 } VkInstanceCreateInfo;
1996 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
1999 deUintptr alignment,
2000 VkSystemAllocationScope allocationScope);
2002 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
2006 deUintptr alignment,
2007 VkSystemAllocationScope allocationScope);
2009 typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
2013 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
2016 VkInternalAllocationType allocationType,
2017 VkSystemAllocationScope allocationScope);
2019 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
2022 VkInternalAllocationType allocationType,
2023 VkSystemAllocationScope allocationScope);
2025 typedef struct VkAllocationCallbacks {
2027 PFN_vkAllocationFunction pfnAllocation;
2028 PFN_vkReallocationFunction pfnReallocation;
2029 PFN_vkFreeFunction pfnFree;
2030 PFN_vkInternalAllocationNotification pfnInternalAllocation;
2031 PFN_vkInternalFreeNotification pfnInternalFree;
2032 } VkAllocationCallbacks;
2034 typedef struct VkPhysicalDeviceFeatures {
2035 VkBool32 robustBufferAccess;
2036 VkBool32 fullDrawIndexUint32;
2037 VkBool32 imageCubeArray;
2038 VkBool32 independentBlend;
2039 VkBool32 geometryShader;
2040 VkBool32 tessellationShader;
2041 VkBool32 sampleRateShading;
2042 VkBool32 dualSrcBlend;
2044 VkBool32 multiDrawIndirect;
2045 VkBool32 drawIndirectFirstInstance;
2046 VkBool32 depthClamp;
2047 VkBool32 depthBiasClamp;
2048 VkBool32 fillModeNonSolid;
2049 VkBool32 depthBounds;
2051 VkBool32 largePoints;
2052 VkBool32 alphaToOne;
2053 VkBool32 multiViewport;
2054 VkBool32 samplerAnisotropy;
2055 VkBool32 textureCompressionETC2;
2056 VkBool32 textureCompressionASTC_LDR;
2057 VkBool32 textureCompressionBC;
2058 VkBool32 occlusionQueryPrecise;
2059 VkBool32 pipelineStatisticsQuery;
2060 VkBool32 vertexPipelineStoresAndAtomics;
2061 VkBool32 fragmentStoresAndAtomics;
2062 VkBool32 shaderTessellationAndGeometryPointSize;
2063 VkBool32 shaderImageGatherExtended;
2064 VkBool32 shaderStorageImageExtendedFormats;
2065 VkBool32 shaderStorageImageMultisample;
2066 VkBool32 shaderStorageImageReadWithoutFormat;
2067 VkBool32 shaderStorageImageWriteWithoutFormat;
2068 VkBool32 shaderUniformBufferArrayDynamicIndexing;
2069 VkBool32 shaderSampledImageArrayDynamicIndexing;
2070 VkBool32 shaderStorageBufferArrayDynamicIndexing;
2071 VkBool32 shaderStorageImageArrayDynamicIndexing;
2072 VkBool32 shaderClipDistance;
2073 VkBool32 shaderCullDistance;
2074 VkBool32 shaderFloat64;
2075 VkBool32 shaderInt64;
2076 VkBool32 shaderInt16;
2077 VkBool32 shaderResourceResidency;
2078 VkBool32 shaderResourceMinLod;
2079 VkBool32 sparseBinding;
2080 VkBool32 sparseResidencyBuffer;
2081 VkBool32 sparseResidencyImage2D;
2082 VkBool32 sparseResidencyImage3D;
2083 VkBool32 sparseResidency2Samples;
2084 VkBool32 sparseResidency4Samples;
2085 VkBool32 sparseResidency8Samples;
2086 VkBool32 sparseResidency16Samples;
2087 VkBool32 sparseResidencyAliased;
2088 VkBool32 variableMultisampleRate;
2089 VkBool32 inheritedQueries;
2090 } VkPhysicalDeviceFeatures;
2092 typedef struct VkFormatProperties {
2093 VkFormatFeatureFlags linearTilingFeatures;
2094 VkFormatFeatureFlags optimalTilingFeatures;
2095 VkFormatFeatureFlags bufferFeatures;
2096 } VkFormatProperties;
2098 typedef struct VkExtent3D {
2104 typedef struct VkImageFormatProperties {
2105 VkExtent3D maxExtent;
2106 deUint32 maxMipLevels;
2107 deUint32 maxArrayLayers;
2108 VkSampleCountFlags sampleCounts;
2109 VkDeviceSize maxResourceSize;
2110 } VkImageFormatProperties;
2112 typedef struct VkPhysicalDeviceLimits {
2113 deUint32 maxImageDimension1D;
2114 deUint32 maxImageDimension2D;
2115 deUint32 maxImageDimension3D;
2116 deUint32 maxImageDimensionCube;
2117 deUint32 maxImageArrayLayers;
2118 deUint32 maxTexelBufferElements;
2119 deUint32 maxUniformBufferRange;
2120 deUint32 maxStorageBufferRange;
2121 deUint32 maxPushConstantsSize;
2122 deUint32 maxMemoryAllocationCount;
2123 deUint32 maxSamplerAllocationCount;
2124 VkDeviceSize bufferImageGranularity;
2125 VkDeviceSize sparseAddressSpaceSize;
2126 deUint32 maxBoundDescriptorSets;
2127 deUint32 maxPerStageDescriptorSamplers;
2128 deUint32 maxPerStageDescriptorUniformBuffers;
2129 deUint32 maxPerStageDescriptorStorageBuffers;
2130 deUint32 maxPerStageDescriptorSampledImages;
2131 deUint32 maxPerStageDescriptorStorageImages;
2132 deUint32 maxPerStageDescriptorInputAttachments;
2133 deUint32 maxPerStageResources;
2134 deUint32 maxDescriptorSetSamplers;
2135 deUint32 maxDescriptorSetUniformBuffers;
2136 deUint32 maxDescriptorSetUniformBuffersDynamic;
2137 deUint32 maxDescriptorSetStorageBuffers;
2138 deUint32 maxDescriptorSetStorageBuffersDynamic;
2139 deUint32 maxDescriptorSetSampledImages;
2140 deUint32 maxDescriptorSetStorageImages;
2141 deUint32 maxDescriptorSetInputAttachments;
2142 deUint32 maxVertexInputAttributes;
2143 deUint32 maxVertexInputBindings;
2144 deUint32 maxVertexInputAttributeOffset;
2145 deUint32 maxVertexInputBindingStride;
2146 deUint32 maxVertexOutputComponents;
2147 deUint32 maxTessellationGenerationLevel;
2148 deUint32 maxTessellationPatchSize;
2149 deUint32 maxTessellationControlPerVertexInputComponents;
2150 deUint32 maxTessellationControlPerVertexOutputComponents;
2151 deUint32 maxTessellationControlPerPatchOutputComponents;
2152 deUint32 maxTessellationControlTotalOutputComponents;
2153 deUint32 maxTessellationEvaluationInputComponents;
2154 deUint32 maxTessellationEvaluationOutputComponents;
2155 deUint32 maxGeometryShaderInvocations;
2156 deUint32 maxGeometryInputComponents;
2157 deUint32 maxGeometryOutputComponents;
2158 deUint32 maxGeometryOutputVertices;
2159 deUint32 maxGeometryTotalOutputComponents;
2160 deUint32 maxFragmentInputComponents;
2161 deUint32 maxFragmentOutputAttachments;
2162 deUint32 maxFragmentDualSrcAttachments;
2163 deUint32 maxFragmentCombinedOutputResources;
2164 deUint32 maxComputeSharedMemorySize;
2165 deUint32 maxComputeWorkGroupCount[3];
2166 deUint32 maxComputeWorkGroupInvocations;
2167 deUint32 maxComputeWorkGroupSize[3];
2168 deUint32 subPixelPrecisionBits;
2169 deUint32 subTexelPrecisionBits;
2170 deUint32 mipmapPrecisionBits;
2171 deUint32 maxDrawIndexedIndexValue;
2172 deUint32 maxDrawIndirectCount;
2173 float maxSamplerLodBias;
2174 float maxSamplerAnisotropy;
2175 deUint32 maxViewports;
2176 deUint32 maxViewportDimensions[2];
2177 float viewportBoundsRange[2];
2178 deUint32 viewportSubPixelBits;
2179 deUintptr minMemoryMapAlignment;
2180 VkDeviceSize minTexelBufferOffsetAlignment;
2181 VkDeviceSize minUniformBufferOffsetAlignment;
2182 VkDeviceSize minStorageBufferOffsetAlignment;
2183 deInt32 minTexelOffset;
2184 deUint32 maxTexelOffset;
2185 deInt32 minTexelGatherOffset;
2186 deUint32 maxTexelGatherOffset;
2187 float minInterpolationOffset;
2188 float maxInterpolationOffset;
2189 deUint32 subPixelInterpolationOffsetBits;
2190 deUint32 maxFramebufferWidth;
2191 deUint32 maxFramebufferHeight;
2192 deUint32 maxFramebufferLayers;
2193 VkSampleCountFlags framebufferColorSampleCounts;
2194 VkSampleCountFlags framebufferDepthSampleCounts;
2195 VkSampleCountFlags framebufferStencilSampleCounts;
2196 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
2197 deUint32 maxColorAttachments;
2198 VkSampleCountFlags sampledImageColorSampleCounts;
2199 VkSampleCountFlags sampledImageIntegerSampleCounts;
2200 VkSampleCountFlags sampledImageDepthSampleCounts;
2201 VkSampleCountFlags sampledImageStencilSampleCounts;
2202 VkSampleCountFlags storageImageSampleCounts;
2203 deUint32 maxSampleMaskWords;
2204 VkBool32 timestampComputeAndGraphics;
2205 float timestampPeriod;
2206 deUint32 maxClipDistances;
2207 deUint32 maxCullDistances;
2208 deUint32 maxCombinedClipAndCullDistances;
2209 deUint32 discreteQueuePriorities;
2210 float pointSizeRange[2];
2211 float lineWidthRange[2];
2212 float pointSizeGranularity;
2213 float lineWidthGranularity;
2214 VkBool32 strictLines;
2215 VkBool32 standardSampleLocations;
2216 VkDeviceSize optimalBufferCopyOffsetAlignment;
2217 VkDeviceSize optimalBufferCopyRowPitchAlignment;
2218 VkDeviceSize nonCoherentAtomSize;
2219 } VkPhysicalDeviceLimits;
2221 typedef struct VkPhysicalDeviceSparseProperties {
2222 VkBool32 residencyStandard2DBlockShape;
2223 VkBool32 residencyStandard2DMultisampleBlockShape;
2224 VkBool32 residencyStandard3DBlockShape;
2225 VkBool32 residencyAlignedMipSize;
2226 VkBool32 residencyNonResidentStrict;
2227 } VkPhysicalDeviceSparseProperties;
2229 typedef struct VkPhysicalDeviceProperties {
2230 deUint32 apiVersion;
2231 deUint32 driverVersion;
2234 VkPhysicalDeviceType deviceType;
2235 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
2236 deUint8 pipelineCacheUUID[VK_UUID_SIZE];
2237 VkPhysicalDeviceLimits limits;
2238 VkPhysicalDeviceSparseProperties sparseProperties;
2239 } VkPhysicalDeviceProperties;
2241 typedef struct VkQueueFamilyProperties {
2242 VkQueueFlags queueFlags;
2243 deUint32 queueCount;
2244 deUint32 timestampValidBits;
2245 VkExtent3D minImageTransferGranularity;
2246 } VkQueueFamilyProperties;
2248 typedef struct VkMemoryType {
2249 VkMemoryPropertyFlags propertyFlags;
2253 typedef struct VkMemoryHeap {
2255 VkMemoryHeapFlags flags;
2258 typedef struct VkPhysicalDeviceMemoryProperties {
2259 deUint32 memoryTypeCount;
2260 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
2261 deUint32 memoryHeapCount;
2262 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
2263 } VkPhysicalDeviceMemoryProperties;
2265 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
2266 typedef struct VkDeviceQueueCreateInfo {
2267 VkStructureType sType;
2269 VkDeviceQueueCreateFlags flags;
2270 deUint32 queueFamilyIndex;
2271 deUint32 queueCount;
2272 const float* pQueuePriorities;
2273 } VkDeviceQueueCreateInfo;
2275 typedef struct VkDeviceCreateInfo {
2276 VkStructureType sType;
2278 VkDeviceCreateFlags flags;
2279 deUint32 queueCreateInfoCount;
2280 const VkDeviceQueueCreateInfo* pQueueCreateInfos;
2281 deUint32 enabledLayerCount;
2282 const char* const* ppEnabledLayerNames;
2283 deUint32 enabledExtensionCount;
2284 const char* const* ppEnabledExtensionNames;
2285 const VkPhysicalDeviceFeatures* pEnabledFeatures;
2286 } VkDeviceCreateInfo;
2288 typedef struct VkExtensionProperties {
2289 char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
2290 deUint32 specVersion;
2291 } VkExtensionProperties;
2293 typedef struct VkLayerProperties {
2294 char layerName[VK_MAX_EXTENSION_NAME_SIZE];
2295 deUint32 specVersion;
2296 deUint32 implementationVersion;
2297 char description[VK_MAX_DESCRIPTION_SIZE];
2298 } VkLayerProperties;
2300 typedef struct VkSubmitInfo {
2301 VkStructureType sType;
2303 deUint32 waitSemaphoreCount;
2304 const VkSemaphore* pWaitSemaphores;
2305 const VkPipelineStageFlags* pWaitDstStageMask;
2306 deUint32 commandBufferCount;
2307 const VkCommandBuffer* pCommandBuffers;
2308 deUint32 signalSemaphoreCount;
2309 const VkSemaphore* pSignalSemaphores;
2312 typedef struct VkMemoryAllocateInfo {
2313 VkStructureType sType;
2315 VkDeviceSize allocationSize;
2316 deUint32 memoryTypeIndex;
2317 } VkMemoryAllocateInfo;
2319 typedef struct VkMappedMemoryRange {
2320 VkStructureType sType;
2322 VkDeviceMemory memory;
2323 VkDeviceSize offset;
2325 } VkMappedMemoryRange;
2327 typedef struct VkMemoryRequirements {
2329 VkDeviceSize alignment;
2330 deUint32 memoryTypeBits;
2331 } VkMemoryRequirements;
2333 typedef struct VkSparseImageFormatProperties {
2334 VkImageAspectFlags aspectMask;
2335 VkExtent3D imageGranularity;
2336 VkSparseImageFormatFlags flags;
2337 } VkSparseImageFormatProperties;
2339 typedef struct VkSparseImageMemoryRequirements {
2340 VkSparseImageFormatProperties formatProperties;
2341 deUint32 imageMipTailFirstLod;
2342 VkDeviceSize imageMipTailSize;
2343 VkDeviceSize imageMipTailOffset;
2344 VkDeviceSize imageMipTailStride;
2345 } VkSparseImageMemoryRequirements;
2347 typedef struct VkSparseMemoryBind {
2348 VkDeviceSize resourceOffset;
2350 VkDeviceMemory memory;
2351 VkDeviceSize memoryOffset;
2352 VkSparseMemoryBindFlags flags;
2353 } VkSparseMemoryBind;
2355 typedef struct VkSparseBufferMemoryBindInfo {
2358 const VkSparseMemoryBind* pBinds;
2359 } VkSparseBufferMemoryBindInfo;
2361 typedef struct VkSparseImageOpaqueMemoryBindInfo {
2364 const VkSparseMemoryBind* pBinds;
2365 } VkSparseImageOpaqueMemoryBindInfo;
2367 typedef struct VkImageSubresource {
2368 VkImageAspectFlags aspectMask;
2370 deUint32 arrayLayer;
2371 } VkImageSubresource;
2373 typedef struct VkOffset3D {
2379 typedef struct VkSparseImageMemoryBind {
2380 VkImageSubresource subresource;
2383 VkDeviceMemory memory;
2384 VkDeviceSize memoryOffset;
2385 VkSparseMemoryBindFlags flags;
2386 } VkSparseImageMemoryBind;
2388 typedef struct VkSparseImageMemoryBindInfo {
2391 const VkSparseImageMemoryBind* pBinds;
2392 } VkSparseImageMemoryBindInfo;
2394 typedef struct VkBindSparseInfo {
2395 VkStructureType sType;
2397 deUint32 waitSemaphoreCount;
2398 const VkSemaphore* pWaitSemaphores;
2399 deUint32 bufferBindCount;
2400 const VkSparseBufferMemoryBindInfo* pBufferBinds;
2401 deUint32 imageOpaqueBindCount;
2402 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
2403 deUint32 imageBindCount;
2404 const VkSparseImageMemoryBindInfo* pImageBinds;
2405 deUint32 signalSemaphoreCount;
2406 const VkSemaphore* pSignalSemaphores;
2409 typedef struct VkFenceCreateInfo {
2410 VkStructureType sType;
2412 VkFenceCreateFlags flags;
2413 } VkFenceCreateInfo;
2415 typedef struct VkSemaphoreCreateInfo {
2416 VkStructureType sType;
2418 VkSemaphoreCreateFlags flags;
2419 } VkSemaphoreCreateInfo;
2421 typedef struct VkEventCreateInfo {
2422 VkStructureType sType;
2424 VkEventCreateFlags flags;
2425 } VkEventCreateInfo;
2427 typedef struct VkQueryPoolCreateInfo {
2428 VkStructureType sType;
2430 VkQueryPoolCreateFlags flags;
2431 VkQueryType queryType;
2432 deUint32 queryCount;
2433 VkQueryPipelineStatisticFlags pipelineStatistics;
2434 } VkQueryPoolCreateInfo;
2436 typedef struct VkBufferCreateInfo {
2437 VkStructureType sType;
2439 VkBufferCreateFlags flags;
2441 VkBufferUsageFlags usage;
2442 VkSharingMode sharingMode;
2443 deUint32 queueFamilyIndexCount;
2444 const deUint32* pQueueFamilyIndices;
2445 } VkBufferCreateInfo;
2447 typedef struct VkBufferViewCreateInfo {
2448 VkStructureType sType;
2450 VkBufferViewCreateFlags flags;
2453 VkDeviceSize offset;
2455 } VkBufferViewCreateInfo;
2457 typedef struct VkImageCreateInfo {
2458 VkStructureType sType;
2460 VkImageCreateFlags flags;
2461 VkImageType imageType;
2465 deUint32 arrayLayers;
2466 VkSampleCountFlagBits samples;
2467 VkImageTiling tiling;
2468 VkImageUsageFlags usage;
2469 VkSharingMode sharingMode;
2470 deUint32 queueFamilyIndexCount;
2471 const deUint32* pQueueFamilyIndices;
2472 VkImageLayout initialLayout;
2473 } VkImageCreateInfo;
2475 typedef struct VkSubresourceLayout {
2476 VkDeviceSize offset;
2478 VkDeviceSize rowPitch;
2479 VkDeviceSize arrayPitch;
2480 VkDeviceSize depthPitch;
2481 } VkSubresourceLayout;
2483 typedef struct VkComponentMapping {
2484 VkComponentSwizzle r;
2485 VkComponentSwizzle g;
2486 VkComponentSwizzle b;
2487 VkComponentSwizzle a;
2488 } VkComponentMapping;
2490 typedef struct VkImageSubresourceRange {
2491 VkImageAspectFlags aspectMask;
2492 deUint32 baseMipLevel;
2493 deUint32 levelCount;
2494 deUint32 baseArrayLayer;
2495 deUint32 layerCount;
2496 } VkImageSubresourceRange;
2498 typedef struct VkImageViewCreateInfo {
2499 VkStructureType sType;
2501 VkImageViewCreateFlags flags;
2503 VkImageViewType viewType;
2505 VkComponentMapping components;
2506 VkImageSubresourceRange subresourceRange;
2507 } VkImageViewCreateInfo;
2509 typedef struct VkShaderModuleCreateInfo {
2510 VkStructureType sType;
2512 VkShaderModuleCreateFlags flags;
2514 const deUint32* pCode;
2515 } VkShaderModuleCreateInfo;
2517 typedef struct VkPipelineCacheCreateInfo {
2518 VkStructureType sType;
2520 VkPipelineCacheCreateFlags flags;
2521 deUintptr initialDataSize;
2522 const void* pInitialData;
2523 } VkPipelineCacheCreateInfo;
2525 typedef struct VkSpecializationMapEntry {
2526 deUint32 constantID;
2529 } VkSpecializationMapEntry;
2531 typedef struct VkSpecializationInfo {
2532 deUint32 mapEntryCount;
2533 const VkSpecializationMapEntry* pMapEntries;
2536 } VkSpecializationInfo;
2538 typedef struct VkPipelineShaderStageCreateInfo {
2539 VkStructureType sType;
2541 VkPipelineShaderStageCreateFlags flags;
2542 VkShaderStageFlagBits stage;
2543 VkShaderModule module;
2545 const VkSpecializationInfo* pSpecializationInfo;
2546 } VkPipelineShaderStageCreateInfo;
2548 typedef struct VkVertexInputBindingDescription {
2551 VkVertexInputRate inputRate;
2552 } VkVertexInputBindingDescription;
2554 typedef struct VkVertexInputAttributeDescription {
2559 } VkVertexInputAttributeDescription;
2561 typedef struct VkPipelineVertexInputStateCreateInfo {
2562 VkStructureType sType;
2564 VkPipelineVertexInputStateCreateFlags flags;
2565 deUint32 vertexBindingDescriptionCount;
2566 const VkVertexInputBindingDescription* pVertexBindingDescriptions;
2567 deUint32 vertexAttributeDescriptionCount;
2568 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
2569 } VkPipelineVertexInputStateCreateInfo;
2571 typedef struct VkPipelineInputAssemblyStateCreateInfo {
2572 VkStructureType sType;
2574 VkPipelineInputAssemblyStateCreateFlags flags;
2575 VkPrimitiveTopology topology;
2576 VkBool32 primitiveRestartEnable;
2577 } VkPipelineInputAssemblyStateCreateInfo;
2579 typedef struct VkPipelineTessellationStateCreateInfo {
2580 VkStructureType sType;
2582 VkPipelineTessellationStateCreateFlags flags;
2583 deUint32 patchControlPoints;
2584 } VkPipelineTessellationStateCreateInfo;
2586 typedef struct VkViewport {
2595 typedef struct VkOffset2D {
2600 typedef struct VkExtent2D {
2605 typedef struct VkRect2D {
2610 typedef struct VkPipelineViewportStateCreateInfo {
2611 VkStructureType sType;
2613 VkPipelineViewportStateCreateFlags flags;
2614 deUint32 viewportCount;
2615 const VkViewport* pViewports;
2616 deUint32 scissorCount;
2617 const VkRect2D* pScissors;
2618 } VkPipelineViewportStateCreateInfo;
2620 typedef struct VkPipelineRasterizationStateCreateInfo {
2621 VkStructureType sType;
2623 VkPipelineRasterizationStateCreateFlags flags;
2624 VkBool32 depthClampEnable;
2625 VkBool32 rasterizerDiscardEnable;
2626 VkPolygonMode polygonMode;
2627 VkCullModeFlags cullMode;
2628 VkFrontFace frontFace;
2629 VkBool32 depthBiasEnable;
2630 float depthBiasConstantFactor;
2631 float depthBiasClamp;
2632 float depthBiasSlopeFactor;
2634 } VkPipelineRasterizationStateCreateInfo;
2636 typedef struct VkPipelineMultisampleStateCreateInfo {
2637 VkStructureType sType;
2639 VkPipelineMultisampleStateCreateFlags flags;
2640 VkSampleCountFlagBits rasterizationSamples;
2641 VkBool32 sampleShadingEnable;
2642 float minSampleShading;
2643 const VkSampleMask* pSampleMask;
2644 VkBool32 alphaToCoverageEnable;
2645 VkBool32 alphaToOneEnable;
2646 } VkPipelineMultisampleStateCreateInfo;
2648 typedef struct VkStencilOpState {
2651 VkStencilOp depthFailOp;
2652 VkCompareOp compareOp;
2653 deUint32 compareMask;
2658 typedef struct VkPipelineDepthStencilStateCreateInfo {
2659 VkStructureType sType;
2661 VkPipelineDepthStencilStateCreateFlags flags;
2662 VkBool32 depthTestEnable;
2663 VkBool32 depthWriteEnable;
2664 VkCompareOp depthCompareOp;
2665 VkBool32 depthBoundsTestEnable;
2666 VkBool32 stencilTestEnable;
2667 VkStencilOpState front;
2668 VkStencilOpState back;
2669 float minDepthBounds;
2670 float maxDepthBounds;
2671 } VkPipelineDepthStencilStateCreateInfo;
2673 typedef struct VkPipelineColorBlendAttachmentState {
2674 VkBool32 blendEnable;
2675 VkBlendFactor srcColorBlendFactor;
2676 VkBlendFactor dstColorBlendFactor;
2677 VkBlendOp colorBlendOp;
2678 VkBlendFactor srcAlphaBlendFactor;
2679 VkBlendFactor dstAlphaBlendFactor;
2680 VkBlendOp alphaBlendOp;
2681 VkColorComponentFlags colorWriteMask;
2682 } VkPipelineColorBlendAttachmentState;
2684 typedef struct VkPipelineColorBlendStateCreateInfo {
2685 VkStructureType sType;
2687 VkPipelineColorBlendStateCreateFlags flags;
2688 VkBool32 logicOpEnable;
2690 deUint32 attachmentCount;
2691 const VkPipelineColorBlendAttachmentState* pAttachments;
2692 float blendConstants[4];
2693 } VkPipelineColorBlendStateCreateInfo;
2695 typedef struct VkPipelineDynamicStateCreateInfo {
2696 VkStructureType sType;
2698 VkPipelineDynamicStateCreateFlags flags;
2699 deUint32 dynamicStateCount;
2700 const VkDynamicState* pDynamicStates;
2701 } VkPipelineDynamicStateCreateInfo;
2703 typedef struct VkGraphicsPipelineCreateInfo {
2704 VkStructureType sType;
2706 VkPipelineCreateFlags flags;
2707 deUint32 stageCount;
2708 const VkPipelineShaderStageCreateInfo* pStages;
2709 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
2710 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
2711 const VkPipelineTessellationStateCreateInfo* pTessellationState;
2712 const VkPipelineViewportStateCreateInfo* pViewportState;
2713 const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
2714 const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
2715 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
2716 const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
2717 const VkPipelineDynamicStateCreateInfo* pDynamicState;
2718 VkPipelineLayout layout;
2719 VkRenderPass renderPass;
2721 VkPipeline basePipelineHandle;
2722 deInt32 basePipelineIndex;
2723 } VkGraphicsPipelineCreateInfo;
2725 typedef struct VkComputePipelineCreateInfo {
2726 VkStructureType sType;
2728 VkPipelineCreateFlags flags;
2729 VkPipelineShaderStageCreateInfo stage;
2730 VkPipelineLayout layout;
2731 VkPipeline basePipelineHandle;
2732 deInt32 basePipelineIndex;
2733 } VkComputePipelineCreateInfo;
2735 typedef struct VkPushConstantRange {
2736 VkShaderStageFlags stageFlags;
2739 } VkPushConstantRange;
2741 typedef struct VkPipelineLayoutCreateInfo {
2742 VkStructureType sType;
2744 VkPipelineLayoutCreateFlags flags;
2745 deUint32 setLayoutCount;
2746 const VkDescriptorSetLayout* pSetLayouts;
2747 deUint32 pushConstantRangeCount;
2748 const VkPushConstantRange* pPushConstantRanges;
2749 } VkPipelineLayoutCreateInfo;
2751 typedef struct VkSamplerCreateInfo {
2752 VkStructureType sType;
2754 VkSamplerCreateFlags flags;
2757 VkSamplerMipmapMode mipmapMode;
2758 VkSamplerAddressMode addressModeU;
2759 VkSamplerAddressMode addressModeV;
2760 VkSamplerAddressMode addressModeW;
2762 VkBool32 anisotropyEnable;
2763 float maxAnisotropy;
2764 VkBool32 compareEnable;
2765 VkCompareOp compareOp;
2768 VkBorderColor borderColor;
2769 VkBool32 unnormalizedCoordinates;
2770 } VkSamplerCreateInfo;
2772 typedef struct VkDescriptorSetLayoutBinding {
2774 VkDescriptorType descriptorType;
2775 deUint32 descriptorCount;
2776 VkShaderStageFlags stageFlags;
2777 const VkSampler* pImmutableSamplers;
2778 } VkDescriptorSetLayoutBinding;
2780 typedef struct VkDescriptorSetLayoutCreateInfo {
2781 VkStructureType sType;
2783 VkDescriptorSetLayoutCreateFlags flags;
2784 deUint32 bindingCount;
2785 const VkDescriptorSetLayoutBinding* pBindings;
2786 } VkDescriptorSetLayoutCreateInfo;
2788 typedef struct VkDescriptorPoolSize {
2789 VkDescriptorType type;
2790 deUint32 descriptorCount;
2791 } VkDescriptorPoolSize;
2793 typedef struct VkDescriptorPoolCreateInfo {
2794 VkStructureType sType;
2796 VkDescriptorPoolCreateFlags flags;
2798 deUint32 poolSizeCount;
2799 const VkDescriptorPoolSize* pPoolSizes;
2800 } VkDescriptorPoolCreateInfo;
2802 typedef struct VkDescriptorSetAllocateInfo {
2803 VkStructureType sType;
2805 VkDescriptorPool descriptorPool;
2806 deUint32 descriptorSetCount;
2807 const VkDescriptorSetLayout* pSetLayouts;
2808 } VkDescriptorSetAllocateInfo;
2810 typedef struct VkDescriptorImageInfo {
2812 VkImageView imageView;
2813 VkImageLayout imageLayout;
2814 } VkDescriptorImageInfo;
2816 typedef struct VkDescriptorBufferInfo {
2818 VkDeviceSize offset;
2820 } VkDescriptorBufferInfo;
2822 typedef struct VkWriteDescriptorSet {
2823 VkStructureType sType;
2825 VkDescriptorSet dstSet;
2826 deUint32 dstBinding;
2827 deUint32 dstArrayElement;
2828 deUint32 descriptorCount;
2829 VkDescriptorType descriptorType;
2830 const VkDescriptorImageInfo* pImageInfo;
2831 const VkDescriptorBufferInfo* pBufferInfo;
2832 const VkBufferView* pTexelBufferView;
2833 } VkWriteDescriptorSet;
2835 typedef struct VkCopyDescriptorSet {
2836 VkStructureType sType;
2838 VkDescriptorSet srcSet;
2839 deUint32 srcBinding;
2840 deUint32 srcArrayElement;
2841 VkDescriptorSet dstSet;
2842 deUint32 dstBinding;
2843 deUint32 dstArrayElement;
2844 deUint32 descriptorCount;
2845 } VkCopyDescriptorSet;
2847 typedef struct VkFramebufferCreateInfo {
2848 VkStructureType sType;
2850 VkFramebufferCreateFlags flags;
2851 VkRenderPass renderPass;
2852 deUint32 attachmentCount;
2853 const VkImageView* pAttachments;
2857 } VkFramebufferCreateInfo;
2859 typedef struct VkAttachmentDescription {
2860 VkAttachmentDescriptionFlags flags;
2862 VkSampleCountFlagBits samples;
2863 VkAttachmentLoadOp loadOp;
2864 VkAttachmentStoreOp storeOp;
2865 VkAttachmentLoadOp stencilLoadOp;
2866 VkAttachmentStoreOp stencilStoreOp;
2867 VkImageLayout initialLayout;
2868 VkImageLayout finalLayout;
2869 } VkAttachmentDescription;
2871 typedef struct VkAttachmentReference {
2872 deUint32 attachment;
2873 VkImageLayout layout;
2874 } VkAttachmentReference;
2876 typedef struct VkSubpassDescription {
2877 VkSubpassDescriptionFlags flags;
2878 VkPipelineBindPoint pipelineBindPoint;
2879 deUint32 inputAttachmentCount;
2880 const VkAttachmentReference* pInputAttachments;
2881 deUint32 colorAttachmentCount;
2882 const VkAttachmentReference* pColorAttachments;
2883 const VkAttachmentReference* pResolveAttachments;
2884 const VkAttachmentReference* pDepthStencilAttachment;
2885 deUint32 preserveAttachmentCount;
2886 const deUint32* pPreserveAttachments;
2887 } VkSubpassDescription;
2889 typedef struct VkSubpassDependency {
2890 deUint32 srcSubpass;
2891 deUint32 dstSubpass;
2892 VkPipelineStageFlags srcStageMask;
2893 VkPipelineStageFlags dstStageMask;
2894 VkAccessFlags srcAccessMask;
2895 VkAccessFlags dstAccessMask;
2896 VkDependencyFlags dependencyFlags;
2897 } VkSubpassDependency;
2899 typedef struct VkRenderPassCreateInfo {
2900 VkStructureType sType;
2902 VkRenderPassCreateFlags flags;
2903 deUint32 attachmentCount;
2904 const VkAttachmentDescription* pAttachments;
2905 deUint32 subpassCount;
2906 const VkSubpassDescription* pSubpasses;
2907 deUint32 dependencyCount;
2908 const VkSubpassDependency* pDependencies;
2909 } VkRenderPassCreateInfo;
2911 typedef struct VkCommandPoolCreateInfo {
2912 VkStructureType sType;
2914 VkCommandPoolCreateFlags flags;
2915 deUint32 queueFamilyIndex;
2916 } VkCommandPoolCreateInfo;
2918 typedef struct VkCommandBufferAllocateInfo {
2919 VkStructureType sType;
2921 VkCommandPool commandPool;
2922 VkCommandBufferLevel level;
2923 deUint32 commandBufferCount;
2924 } VkCommandBufferAllocateInfo;
2926 typedef struct VkCommandBufferInheritanceInfo {
2927 VkStructureType sType;
2929 VkRenderPass renderPass;
2931 VkFramebuffer framebuffer;
2932 VkBool32 occlusionQueryEnable;
2933 VkQueryControlFlags queryFlags;
2934 VkQueryPipelineStatisticFlags pipelineStatistics;
2935 } VkCommandBufferInheritanceInfo;
2937 typedef struct VkCommandBufferBeginInfo {
2938 VkStructureType sType;
2940 VkCommandBufferUsageFlags flags;
2941 const VkCommandBufferInheritanceInfo* pInheritanceInfo;
2942 } VkCommandBufferBeginInfo;
2944 typedef struct VkBufferCopy {
2945 VkDeviceSize srcOffset;
2946 VkDeviceSize dstOffset;
2950 typedef struct VkImageSubresourceLayers {
2951 VkImageAspectFlags aspectMask;
2953 deUint32 baseArrayLayer;
2954 deUint32 layerCount;
2955 } VkImageSubresourceLayers;
2957 typedef struct VkImageCopy {
2958 VkImageSubresourceLayers srcSubresource;
2959 VkOffset3D srcOffset;
2960 VkImageSubresourceLayers dstSubresource;
2961 VkOffset3D dstOffset;
2965 typedef struct VkImageBlit {
2966 VkImageSubresourceLayers srcSubresource;
2967 VkOffset3D srcOffsets[2];
2968 VkImageSubresourceLayers dstSubresource;
2969 VkOffset3D dstOffsets[2];
2972 typedef struct VkBufferImageCopy {
2973 VkDeviceSize bufferOffset;
2974 deUint32 bufferRowLength;
2975 deUint32 bufferImageHeight;
2976 VkImageSubresourceLayers imageSubresource;
2977 VkOffset3D imageOffset;
2978 VkExtent3D imageExtent;
2979 } VkBufferImageCopy;
2981 typedef union VkClearColorValue {
2985 } VkClearColorValue;
2987 typedef struct VkClearDepthStencilValue {
2990 } VkClearDepthStencilValue;
2992 typedef union VkClearValue {
2993 VkClearColorValue color;
2994 VkClearDepthStencilValue depthStencil;
2997 typedef struct VkClearAttachment {
2998 VkImageAspectFlags aspectMask;
2999 deUint32 colorAttachment;
3000 VkClearValue clearValue;
3001 } VkClearAttachment;
3003 typedef struct VkClearRect {
3005 deUint32 baseArrayLayer;
3006 deUint32 layerCount;
3009 typedef struct VkImageResolve {
3010 VkImageSubresourceLayers srcSubresource;
3011 VkOffset3D srcOffset;
3012 VkImageSubresourceLayers dstSubresource;
3013 VkOffset3D dstOffset;
3017 typedef struct VkMemoryBarrier {
3018 VkStructureType sType;
3020 VkAccessFlags srcAccessMask;
3021 VkAccessFlags dstAccessMask;
3024 typedef struct VkBufferMemoryBarrier {
3025 VkStructureType sType;
3027 VkAccessFlags srcAccessMask;
3028 VkAccessFlags dstAccessMask;
3029 deUint32 srcQueueFamilyIndex;
3030 deUint32 dstQueueFamilyIndex;
3032 VkDeviceSize offset;
3034 } VkBufferMemoryBarrier;
3036 typedef struct VkImageMemoryBarrier {
3037 VkStructureType sType;
3039 VkAccessFlags srcAccessMask;
3040 VkAccessFlags dstAccessMask;
3041 VkImageLayout oldLayout;
3042 VkImageLayout newLayout;
3043 deUint32 srcQueueFamilyIndex;
3044 deUint32 dstQueueFamilyIndex;
3046 VkImageSubresourceRange subresourceRange;
3047 } VkImageMemoryBarrier;
3049 typedef struct VkRenderPassBeginInfo {
3050 VkStructureType sType;
3052 VkRenderPass renderPass;
3053 VkFramebuffer framebuffer;
3054 VkRect2D renderArea;
3055 deUint32 clearValueCount;
3056 const VkClearValue* pClearValues;
3057 } VkRenderPassBeginInfo;
3059 typedef struct VkDispatchIndirectCommand {
3063 } VkDispatchIndirectCommand;
3065 typedef struct VkDrawIndexedIndirectCommand {
3066 deUint32 indexCount;
3067 deUint32 instanceCount;
3068 deUint32 firstIndex;
3069 deInt32 vertexOffset;
3070 deUint32 firstInstance;
3071 } VkDrawIndexedIndirectCommand;
3073 typedef struct VkDrawIndirectCommand {
3074 deUint32 vertexCount;
3075 deUint32 instanceCount;
3076 deUint32 firstVertex;
3077 deUint32 firstInstance;
3078 } VkDrawIndirectCommand;
3080 typedef struct VkBaseOutStructure {
3081 VkStructureType sType;
3082 struct VkBaseOutStructure* pNext;
3083 } VkBaseOutStructure;
3085 typedef struct VkBaseInStructure {
3086 VkStructureType sType;
3087 const struct VkBaseInStructure* pNext;
3088 } VkBaseInStructure;
3090 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
3091 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
3092 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, deUint32* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
3093 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
3094 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
3095 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
3096 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
3097 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
3098 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
3099 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
3100 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
3101 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
3102 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);
3103 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
3104 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
3105 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(deUint32* pPropertyCount, VkLayerProperties* pProperties);
3106 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkLayerProperties* pProperties);
3107 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue);
3108 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
3109 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
3110 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
3111 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
3112 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
3113 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
3114 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
3115 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
3116 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
3117 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
3118 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
3119 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
3120 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
3121 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
3122 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
3123 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, deUint32* pPropertyCount, VkSparseImageFormatProperties* pProperties);
3124 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, deUint32 bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
3125 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
3126 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
3127 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences);
3128 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
3129 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 timeout);
3130 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
3131 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
3132 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
3133 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
3134 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
3135 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
3136 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
3137 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
3138 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
3139 typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, deUintptr dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
3140 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
3141 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
3142 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
3143 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
3144 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
3145 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
3146 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
3147 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
3148 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
3149 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
3150 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
3151 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
3152 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
3153 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, deUintptr* pDataSize, void* pData);
3154 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches);
3155 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
3156 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
3157 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
3158 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
3159 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
3160 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
3161 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
3162 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
3163 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
3164 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
3165 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
3166 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
3167 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
3168 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
3169 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
3170 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
3171 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
3172 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
3173 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
3174 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
3175 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
3176 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
3177 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
3178 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
3179 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
3180 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
3181 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
3182 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
3183 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
3184 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports);
3185 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 scissorCount, const VkRect2D* pScissors);
3186 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
3187 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
3188 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
3189 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
3190 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask);
3191 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask);
3192 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference);
3193 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets);
3194 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
3195 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
3196 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance);
3197 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance);
3198 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
3199 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
3200 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
3201 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
3202 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions);
3203 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions);
3204 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter);
3205 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions);
3206 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions);
3207 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
3208 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data);
3209 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
3210 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
3211 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects);
3212 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions);
3213 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
3214 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
3215 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);
3216 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);
3217 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags);
3218 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query);
3219 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
3220 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query);
3221 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
3222 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues);
3223 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
3224 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
3225 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
3226 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
3228 #ifndef VK_NO_PROTOTYPES
3229 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
3230 const VkInstanceCreateInfo* pCreateInfo,
3231 const VkAllocationCallbacks* pAllocator,
3232 VkInstance* pInstance);
3234 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
3235 VkInstance instance,
3236 const VkAllocationCallbacks* pAllocator);
3238 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
3239 VkInstance instance,
3240 deUint32* pPhysicalDeviceCount,
3241 VkPhysicalDevice* pPhysicalDevices);
3243 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(
3244 VkPhysicalDevice physicalDevice,
3245 VkPhysicalDeviceFeatures* pFeatures);
3247 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(
3248 VkPhysicalDevice physicalDevice,
3250 VkFormatProperties* pFormatProperties);
3252 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(
3253 VkPhysicalDevice physicalDevice,
3256 VkImageTiling tiling,
3257 VkImageUsageFlags usage,
3258 VkImageCreateFlags flags,
3259 VkImageFormatProperties* pImageFormatProperties);
3261 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(
3262 VkPhysicalDevice physicalDevice,
3263 VkPhysicalDeviceProperties* pProperties);
3265 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(
3266 VkPhysicalDevice physicalDevice,
3267 deUint32* pQueueFamilyPropertyCount,
3268 VkQueueFamilyProperties* pQueueFamilyProperties);
3270 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
3271 VkPhysicalDevice physicalDevice,
3272 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
3274 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(
3275 VkInstance instance,
3278 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(
3282 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
3283 VkPhysicalDevice physicalDevice,
3284 const VkDeviceCreateInfo* pCreateInfo,
3285 const VkAllocationCallbacks* pAllocator,
3288 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(
3290 const VkAllocationCallbacks* pAllocator);
3292 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
3293 const char* pLayerName,
3294 deUint32* pPropertyCount,
3295 VkExtensionProperties* pProperties);
3297 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
3298 VkPhysicalDevice physicalDevice,
3299 const char* pLayerName,
3300 deUint32* pPropertyCount,
3301 VkExtensionProperties* pProperties);
3303 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
3304 deUint32* pPropertyCount,
3305 VkLayerProperties* pProperties);
3307 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
3308 VkPhysicalDevice physicalDevice,
3309 deUint32* pPropertyCount,
3310 VkLayerProperties* pProperties);
3312 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(
3314 deUint32 queueFamilyIndex,
3315 deUint32 queueIndex,
3318 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(
3320 deUint32 submitCount,
3321 const VkSubmitInfo* pSubmits,
3324 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(
3327 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(
3330 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(
3332 const VkMemoryAllocateInfo* pAllocateInfo,
3333 const VkAllocationCallbacks* pAllocator,
3334 VkDeviceMemory* pMemory);
3336 VKAPI_ATTR void VKAPI_CALL vkFreeMemory(
3338 VkDeviceMemory memory,
3339 const VkAllocationCallbacks* pAllocator);
3341 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(
3343 VkDeviceMemory memory,
3344 VkDeviceSize offset,
3346 VkMemoryMapFlags flags,
3349 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(
3351 VkDeviceMemory memory);
3353 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(
3355 deUint32 memoryRangeCount,
3356 const VkMappedMemoryRange* pMemoryRanges);
3358 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(
3360 deUint32 memoryRangeCount,
3361 const VkMappedMemoryRange* pMemoryRanges);
3363 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(
3365 VkDeviceMemory memory,
3366 VkDeviceSize* pCommittedMemoryInBytes);
3368 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(
3371 VkDeviceMemory memory,
3372 VkDeviceSize memoryOffset);
3374 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(
3377 VkDeviceMemory memory,
3378 VkDeviceSize memoryOffset);
3380 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(
3383 VkMemoryRequirements* pMemoryRequirements);
3385 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(
3388 VkMemoryRequirements* pMemoryRequirements);
3390 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(
3393 deUint32* pSparseMemoryRequirementCount,
3394 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
3396 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(
3397 VkPhysicalDevice physicalDevice,
3400 VkSampleCountFlagBits samples,
3401 VkImageUsageFlags usage,
3402 VkImageTiling tiling,
3403 deUint32* pPropertyCount,
3404 VkSparseImageFormatProperties* pProperties);
3406 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(
3408 deUint32 bindInfoCount,
3409 const VkBindSparseInfo* pBindInfo,
3412 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(
3414 const VkFenceCreateInfo* pCreateInfo,
3415 const VkAllocationCallbacks* pAllocator,
3418 VKAPI_ATTR void VKAPI_CALL vkDestroyFence(
3421 const VkAllocationCallbacks* pAllocator);
3423 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(
3425 deUint32 fenceCount,
3426 const VkFence* pFences);
3428 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(
3432 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(
3434 deUint32 fenceCount,
3435 const VkFence* pFences,
3439 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(
3441 const VkSemaphoreCreateInfo* pCreateInfo,
3442 const VkAllocationCallbacks* pAllocator,
3443 VkSemaphore* pSemaphore);
3445 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(
3447 VkSemaphore semaphore,
3448 const VkAllocationCallbacks* pAllocator);
3450 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(
3452 const VkEventCreateInfo* pCreateInfo,
3453 const VkAllocationCallbacks* pAllocator,
3456 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(
3459 const VkAllocationCallbacks* pAllocator);
3461 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(
3465 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(
3469 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(
3473 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(
3475 const VkQueryPoolCreateInfo* pCreateInfo,
3476 const VkAllocationCallbacks* pAllocator,
3477 VkQueryPool* pQueryPool);
3479 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(
3481 VkQueryPool queryPool,
3482 const VkAllocationCallbacks* pAllocator);
3484 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
3486 VkQueryPool queryPool,
3487 deUint32 firstQuery,
3488 deUint32 queryCount,
3491 VkDeviceSize stride,
3492 VkQueryResultFlags flags);
3494 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(
3496 const VkBufferCreateInfo* pCreateInfo,
3497 const VkAllocationCallbacks* pAllocator,
3500 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(
3503 const VkAllocationCallbacks* pAllocator);
3505 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(
3507 const VkBufferViewCreateInfo* pCreateInfo,
3508 const VkAllocationCallbacks* pAllocator,
3509 VkBufferView* pView);
3511 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(
3513 VkBufferView bufferView,
3514 const VkAllocationCallbacks* pAllocator);
3516 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(
3518 const VkImageCreateInfo* pCreateInfo,
3519 const VkAllocationCallbacks* pAllocator,
3522 VKAPI_ATTR void VKAPI_CALL vkDestroyImage(
3525 const VkAllocationCallbacks* pAllocator);
3527 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(
3530 const VkImageSubresource* pSubresource,
3531 VkSubresourceLayout* pLayout);
3533 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(
3535 const VkImageViewCreateInfo* pCreateInfo,
3536 const VkAllocationCallbacks* pAllocator,
3537 VkImageView* pView);
3539 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(
3541 VkImageView imageView,
3542 const VkAllocationCallbacks* pAllocator);
3544 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(
3546 const VkShaderModuleCreateInfo* pCreateInfo,
3547 const VkAllocationCallbacks* pAllocator,
3548 VkShaderModule* pShaderModule);
3550 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(
3552 VkShaderModule shaderModule,
3553 const VkAllocationCallbacks* pAllocator);
3555 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(
3557 const VkPipelineCacheCreateInfo* pCreateInfo,
3558 const VkAllocationCallbacks* pAllocator,
3559 VkPipelineCache* pPipelineCache);
3561 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(
3563 VkPipelineCache pipelineCache,
3564 const VkAllocationCallbacks* pAllocator);
3566 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(
3568 VkPipelineCache pipelineCache,
3569 deUintptr* pDataSize,
3572 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(
3574 VkPipelineCache dstCache,
3575 deUint32 srcCacheCount,
3576 const VkPipelineCache* pSrcCaches);
3578 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(
3580 VkPipelineCache pipelineCache,
3581 deUint32 createInfoCount,
3582 const VkGraphicsPipelineCreateInfo* pCreateInfos,
3583 const VkAllocationCallbacks* pAllocator,
3584 VkPipeline* pPipelines);
3586 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(
3588 VkPipelineCache pipelineCache,
3589 deUint32 createInfoCount,
3590 const VkComputePipelineCreateInfo* pCreateInfos,
3591 const VkAllocationCallbacks* pAllocator,
3592 VkPipeline* pPipelines);
3594 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(
3596 VkPipeline pipeline,
3597 const VkAllocationCallbacks* pAllocator);
3599 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(
3601 const VkPipelineLayoutCreateInfo* pCreateInfo,
3602 const VkAllocationCallbacks* pAllocator,
3603 VkPipelineLayout* pPipelineLayout);
3605 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(
3607 VkPipelineLayout pipelineLayout,
3608 const VkAllocationCallbacks* pAllocator);
3610 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(
3612 const VkSamplerCreateInfo* pCreateInfo,
3613 const VkAllocationCallbacks* pAllocator,
3614 VkSampler* pSampler);
3616 VKAPI_ATTR void VKAPI_CALL vkDestroySampler(
3619 const VkAllocationCallbacks* pAllocator);
3621 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(
3623 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
3624 const VkAllocationCallbacks* pAllocator,
3625 VkDescriptorSetLayout* pSetLayout);
3627 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(
3629 VkDescriptorSetLayout descriptorSetLayout,
3630 const VkAllocationCallbacks* pAllocator);
3632 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(
3634 const VkDescriptorPoolCreateInfo* pCreateInfo,
3635 const VkAllocationCallbacks* pAllocator,
3636 VkDescriptorPool* pDescriptorPool);
3638 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(
3640 VkDescriptorPool descriptorPool,
3641 const VkAllocationCallbacks* pAllocator);
3643 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(
3645 VkDescriptorPool descriptorPool,
3646 VkDescriptorPoolResetFlags flags);
3648 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(
3650 const VkDescriptorSetAllocateInfo* pAllocateInfo,
3651 VkDescriptorSet* pDescriptorSets);
3653 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(
3655 VkDescriptorPool descriptorPool,
3656 deUint32 descriptorSetCount,
3657 const VkDescriptorSet* pDescriptorSets);
3659 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(
3661 deUint32 descriptorWriteCount,
3662 const VkWriteDescriptorSet* pDescriptorWrites,
3663 deUint32 descriptorCopyCount,
3664 const VkCopyDescriptorSet* pDescriptorCopies);
3666 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(
3668 const VkFramebufferCreateInfo* pCreateInfo,
3669 const VkAllocationCallbacks* pAllocator,
3670 VkFramebuffer* pFramebuffer);
3672 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(
3674 VkFramebuffer framebuffer,
3675 const VkAllocationCallbacks* pAllocator);
3677 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(
3679 const VkRenderPassCreateInfo* pCreateInfo,
3680 const VkAllocationCallbacks* pAllocator,
3681 VkRenderPass* pRenderPass);
3683 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(
3685 VkRenderPass renderPass,
3686 const VkAllocationCallbacks* pAllocator);
3688 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(
3690 VkRenderPass renderPass,
3691 VkExtent2D* pGranularity);
3693 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(
3695 const VkCommandPoolCreateInfo* pCreateInfo,
3696 const VkAllocationCallbacks* pAllocator,
3697 VkCommandPool* pCommandPool);
3699 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(
3701 VkCommandPool commandPool,
3702 const VkAllocationCallbacks* pAllocator);
3704 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(
3706 VkCommandPool commandPool,
3707 VkCommandPoolResetFlags flags);
3709 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
3711 const VkCommandBufferAllocateInfo* pAllocateInfo,
3712 VkCommandBuffer* pCommandBuffers);
3714 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(
3716 VkCommandPool commandPool,
3717 deUint32 commandBufferCount,
3718 const VkCommandBuffer* pCommandBuffers);
3720 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(
3721 VkCommandBuffer commandBuffer,
3722 const VkCommandBufferBeginInfo* pBeginInfo);
3724 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(
3725 VkCommandBuffer commandBuffer);
3727 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(
3728 VkCommandBuffer commandBuffer,
3729 VkCommandBufferResetFlags flags);
3731 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
3732 VkCommandBuffer commandBuffer,
3733 VkPipelineBindPoint pipelineBindPoint,
3734 VkPipeline pipeline);
3736 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
3737 VkCommandBuffer commandBuffer,
3738 deUint32 firstViewport,
3739 deUint32 viewportCount,
3740 const VkViewport* pViewports);
3742 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
3743 VkCommandBuffer commandBuffer,
3744 deUint32 firstScissor,
3745 deUint32 scissorCount,
3746 const VkRect2D* pScissors);
3748 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(
3749 VkCommandBuffer commandBuffer,
3752 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(
3753 VkCommandBuffer commandBuffer,
3754 float depthBiasConstantFactor,
3755 float depthBiasClamp,
3756 float depthBiasSlopeFactor);
3758 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(
3759 VkCommandBuffer commandBuffer,
3760 const float blendConstants[4]);
3762 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(
3763 VkCommandBuffer commandBuffer,
3764 float minDepthBounds,
3765 float maxDepthBounds);
3767 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(
3768 VkCommandBuffer commandBuffer,
3769 VkStencilFaceFlags faceMask,
3770 deUint32 compareMask);
3772 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(
3773 VkCommandBuffer commandBuffer,
3774 VkStencilFaceFlags faceMask,
3775 deUint32 writeMask);
3777 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(
3778 VkCommandBuffer commandBuffer,
3779 VkStencilFaceFlags faceMask,
3780 deUint32 reference);
3782 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(
3783 VkCommandBuffer commandBuffer,
3784 VkPipelineBindPoint pipelineBindPoint,
3785 VkPipelineLayout layout,
3787 deUint32 descriptorSetCount,
3788 const VkDescriptorSet* pDescriptorSets,
3789 deUint32 dynamicOffsetCount,
3790 const deUint32* pDynamicOffsets);
3792 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
3793 VkCommandBuffer commandBuffer,
3795 VkDeviceSize offset,
3796 VkIndexType indexType);
3798 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
3799 VkCommandBuffer commandBuffer,
3800 deUint32 firstBinding,
3801 deUint32 bindingCount,
3802 const VkBuffer* pBuffers,
3803 const VkDeviceSize* pOffsets);
3805 VKAPI_ATTR void VKAPI_CALL vkCmdDraw(
3806 VkCommandBuffer commandBuffer,
3807 deUint32 vertexCount,
3808 deUint32 instanceCount,
3809 deUint32 firstVertex,
3810 deUint32 firstInstance);
3812 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(
3813 VkCommandBuffer commandBuffer,
3814 deUint32 indexCount,
3815 deUint32 instanceCount,
3816 deUint32 firstIndex,
3817 deInt32 vertexOffset,
3818 deUint32 firstInstance);
3820 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(
3821 VkCommandBuffer commandBuffer,
3823 VkDeviceSize offset,
3827 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(
3828 VkCommandBuffer commandBuffer,
3830 VkDeviceSize offset,
3834 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(
3835 VkCommandBuffer commandBuffer,
3836 deUint32 groupCountX,
3837 deUint32 groupCountY,
3838 deUint32 groupCountZ);
3840 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(
3841 VkCommandBuffer commandBuffer,
3843 VkDeviceSize offset);
3845 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(
3846 VkCommandBuffer commandBuffer,
3849 deUint32 regionCount,
3850 const VkBufferCopy* pRegions);
3852 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(
3853 VkCommandBuffer commandBuffer,
3855 VkImageLayout srcImageLayout,
3857 VkImageLayout dstImageLayout,
3858 deUint32 regionCount,
3859 const VkImageCopy* pRegions);
3861 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(
3862 VkCommandBuffer commandBuffer,
3864 VkImageLayout srcImageLayout,
3866 VkImageLayout dstImageLayout,
3867 deUint32 regionCount,
3868 const VkImageBlit* pRegions,
3871 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(
3872 VkCommandBuffer commandBuffer,
3875 VkImageLayout dstImageLayout,
3876 deUint32 regionCount,
3877 const VkBufferImageCopy* pRegions);
3879 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(
3880 VkCommandBuffer commandBuffer,
3882 VkImageLayout srcImageLayout,
3884 deUint32 regionCount,
3885 const VkBufferImageCopy* pRegions);
3887 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(
3888 VkCommandBuffer commandBuffer,
3890 VkDeviceSize dstOffset,
3891 VkDeviceSize dataSize,
3894 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(
3895 VkCommandBuffer commandBuffer,
3897 VkDeviceSize dstOffset,
3901 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(
3902 VkCommandBuffer commandBuffer,
3904 VkImageLayout imageLayout,
3905 const VkClearColorValue* pColor,
3906 deUint32 rangeCount,
3907 const VkImageSubresourceRange* pRanges);
3909 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(
3910 VkCommandBuffer commandBuffer,
3912 VkImageLayout imageLayout,
3913 const VkClearDepthStencilValue* pDepthStencil,
3914 deUint32 rangeCount,
3915 const VkImageSubresourceRange* pRanges);
3917 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(
3918 VkCommandBuffer commandBuffer,
3919 deUint32 attachmentCount,
3920 const VkClearAttachment* pAttachments,
3922 const VkClearRect* pRects);
3924 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(
3925 VkCommandBuffer commandBuffer,
3927 VkImageLayout srcImageLayout,
3929 VkImageLayout dstImageLayout,
3930 deUint32 regionCount,
3931 const VkImageResolve* pRegions);
3933 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(
3934 VkCommandBuffer commandBuffer,
3936 VkPipelineStageFlags stageMask);
3938 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(
3939 VkCommandBuffer commandBuffer,
3941 VkPipelineStageFlags stageMask);
3943 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
3944 VkCommandBuffer commandBuffer,
3945 deUint32 eventCount,
3946 const VkEvent* pEvents,
3947 VkPipelineStageFlags srcStageMask,
3948 VkPipelineStageFlags dstStageMask,
3949 deUint32 memoryBarrierCount,
3950 const VkMemoryBarrier* pMemoryBarriers,
3951 deUint32 bufferMemoryBarrierCount,
3952 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
3953 deUint32 imageMemoryBarrierCount,
3954 const VkImageMemoryBarrier* pImageMemoryBarriers);
3956 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(
3957 VkCommandBuffer commandBuffer,
3958 VkPipelineStageFlags srcStageMask,
3959 VkPipelineStageFlags dstStageMask,
3960 VkDependencyFlags dependencyFlags,
3961 deUint32 memoryBarrierCount,
3962 const VkMemoryBarrier* pMemoryBarriers,
3963 deUint32 bufferMemoryBarrierCount,
3964 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
3965 deUint32 imageMemoryBarrierCount,
3966 const VkImageMemoryBarrier* pImageMemoryBarriers);
3968 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(
3969 VkCommandBuffer commandBuffer,
3970 VkQueryPool queryPool,
3972 VkQueryControlFlags flags);
3974 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
3975 VkCommandBuffer commandBuffer,
3976 VkQueryPool queryPool,
3979 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
3980 VkCommandBuffer commandBuffer,
3981 VkQueryPool queryPool,
3982 deUint32 firstQuery,
3983 deUint32 queryCount);
3985 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
3986 VkCommandBuffer commandBuffer,
3987 VkPipelineStageFlagBits pipelineStage,
3988 VkQueryPool queryPool,
3991 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
3992 VkCommandBuffer commandBuffer,
3993 VkQueryPool queryPool,
3994 deUint32 firstQuery,
3995 deUint32 queryCount,
3997 VkDeviceSize dstOffset,
3998 VkDeviceSize stride,
3999 VkQueryResultFlags flags);
4001 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(
4002 VkCommandBuffer commandBuffer,
4003 VkPipelineLayout layout,
4004 VkShaderStageFlags stageFlags,
4007 const void* pValues);
4009 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(
4010 VkCommandBuffer commandBuffer,
4011 const VkRenderPassBeginInfo* pRenderPassBegin,
4012 VkSubpassContents contents);
4014 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(
4015 VkCommandBuffer commandBuffer,
4016 VkSubpassContents contents);
4018 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(
4019 VkCommandBuffer commandBuffer);
4021 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
4022 VkCommandBuffer commandBuffer,
4023 deUint32 commandBufferCount,
4024 const VkCommandBuffer* pCommandBuffers);
4028 #define VK_VERSION_1_1 1
4029 // Vulkan 1.1 version number
4030 #define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0)// Patch version should always be set to 0
4032 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
4033 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
4034 #define VK_MAX_DEVICE_GROUP_SIZE 32
4035 #define VK_LUID_SIZE 8
4036 #define VK_QUEUE_FAMILY_EXTERNAL (~0U-1)
4038 typedef enum VkPointClippingBehavior {
4039 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
4040 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
4041 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
4042 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
4043 VK_POINT_CLIPPING_BEHAVIOR_BEGIN_RANGE = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
4044 VK_POINT_CLIPPING_BEHAVIOR_END_RANGE = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
4045 VK_POINT_CLIPPING_BEHAVIOR_RANGE_SIZE = (VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY - VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES + 1),
4046 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
4047 } VkPointClippingBehavior;
4049 typedef enum VkTessellationDomainOrigin {
4050 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
4051 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
4052 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
4053 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
4054 VK_TESSELLATION_DOMAIN_ORIGIN_BEGIN_RANGE = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
4055 VK_TESSELLATION_DOMAIN_ORIGIN_END_RANGE = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
4056 VK_TESSELLATION_DOMAIN_ORIGIN_RANGE_SIZE = (VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT - VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT + 1),
4057 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
4058 } VkTessellationDomainOrigin;
4060 typedef enum VkSamplerYcbcrModelConversion {
4061 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
4062 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
4063 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
4064 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
4065 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
4066 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
4067 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
4068 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
4069 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
4070 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
4071 VK_SAMPLER_YCBCR_MODEL_CONVERSION_BEGIN_RANGE = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
4072 VK_SAMPLER_YCBCR_MODEL_CONVERSION_END_RANGE = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
4073 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RANGE_SIZE = (VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 - VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY + 1),
4074 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
4075 } VkSamplerYcbcrModelConversion;
4077 typedef enum VkSamplerYcbcrRange {
4078 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
4079 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
4080 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
4081 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
4082 VK_SAMPLER_YCBCR_RANGE_BEGIN_RANGE = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
4083 VK_SAMPLER_YCBCR_RANGE_END_RANGE = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
4084 VK_SAMPLER_YCBCR_RANGE_RANGE_SIZE = (VK_SAMPLER_YCBCR_RANGE_ITU_NARROW - VK_SAMPLER_YCBCR_RANGE_ITU_FULL + 1),
4085 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
4086 } VkSamplerYcbcrRange;
4088 typedef enum VkChromaLocation {
4089 VK_CHROMA_LOCATION_COSITED_EVEN = 0,
4090 VK_CHROMA_LOCATION_MIDPOINT = 1,
4091 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,
4092 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,
4093 VK_CHROMA_LOCATION_BEGIN_RANGE = VK_CHROMA_LOCATION_COSITED_EVEN,
4094 VK_CHROMA_LOCATION_END_RANGE = VK_CHROMA_LOCATION_MIDPOINT,
4095 VK_CHROMA_LOCATION_RANGE_SIZE = (VK_CHROMA_LOCATION_MIDPOINT - VK_CHROMA_LOCATION_COSITED_EVEN + 1),
4096 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
4099 typedef enum VkDescriptorUpdateTemplateType {
4100 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
4101 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
4102 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
4103 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_BEGIN_RANGE = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
4104 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_END_RANGE = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
4105 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_RANGE_SIZE = (VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET - VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET + 1),
4106 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
4107 } VkDescriptorUpdateTemplateType;
4109 typedef enum VkSubgroupFeatureFlagBits {
4110 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
4111 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
4112 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
4113 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
4114 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
4115 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
4116 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
4117 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
4118 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
4119 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4120 } VkSubgroupFeatureFlagBits;
4121 typedef VkFlags VkSubgroupFeatureFlags;
4123 typedef enum VkPeerMemoryFeatureFlagBits {
4124 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,
4125 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,
4126 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,
4127 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,
4128 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
4129 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
4130 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
4131 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
4132 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4133 } VkPeerMemoryFeatureFlagBits;
4134 typedef VkFlags VkPeerMemoryFeatureFlags;
4136 typedef enum VkMemoryAllocateFlagBits {
4137 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,
4138 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002,
4139 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004,
4140 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
4141 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
4142 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
4143 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4144 } VkMemoryAllocateFlagBits;
4145 typedef VkFlags VkMemoryAllocateFlags;
4146 typedef VkFlags VkCommandPoolTrimFlags;
4147 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
4149 typedef enum VkExternalMemoryHandleTypeFlagBits {
4150 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4151 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4152 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4153 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,
4154 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,
4155 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
4156 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
4157 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,
4158 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
4159 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
4160 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
4161 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
4162 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4163 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4164 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
4165 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
4166 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
4167 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
4168 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4169 } VkExternalMemoryHandleTypeFlagBits;
4170 typedef VkFlags VkExternalMemoryHandleTypeFlags;
4172 typedef enum VkExternalMemoryFeatureFlagBits {
4173 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,
4174 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,
4175 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,
4176 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
4177 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
4178 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
4179 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4180 } VkExternalMemoryFeatureFlagBits;
4181 typedef VkFlags VkExternalMemoryFeatureFlags;
4183 typedef enum VkExternalFenceHandleTypeFlagBits {
4184 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4185 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4186 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4187 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,
4188 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
4189 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4190 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4191 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
4192 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4193 } VkExternalFenceHandleTypeFlagBits;
4194 typedef VkFlags VkExternalFenceHandleTypeFlags;
4196 typedef enum VkExternalFenceFeatureFlagBits {
4197 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,
4198 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,
4199 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
4200 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
4201 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4202 } VkExternalFenceFeatureFlagBits;
4203 typedef VkFlags VkExternalFenceFeatureFlags;
4205 typedef enum VkFenceImportFlagBits {
4206 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,
4207 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,
4208 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4209 } VkFenceImportFlagBits;
4210 typedef VkFlags VkFenceImportFlags;
4212 typedef enum VkSemaphoreImportFlagBits {
4213 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,
4214 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
4215 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4216 } VkSemaphoreImportFlagBits;
4217 typedef VkFlags VkSemaphoreImportFlags;
4219 typedef enum VkExternalSemaphoreHandleTypeFlagBits {
4220 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4221 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4222 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4223 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
4224 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
4225 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
4226 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4227 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4228 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
4229 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
4230 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4231 } VkExternalSemaphoreHandleTypeFlagBits;
4232 typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
4234 typedef enum VkExternalSemaphoreFeatureFlagBits {
4235 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,
4236 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,
4237 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
4238 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
4239 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4240 } VkExternalSemaphoreFeatureFlagBits;
4241 typedef VkFlags VkExternalSemaphoreFeatureFlags;
4242 typedef struct VkPhysicalDeviceSubgroupProperties {
4243 VkStructureType sType;
4245 deUint32 subgroupSize;
4246 VkShaderStageFlags supportedStages;
4247 VkSubgroupFeatureFlags supportedOperations;
4248 VkBool32 quadOperationsInAllStages;
4249 } VkPhysicalDeviceSubgroupProperties;
4251 typedef struct VkBindBufferMemoryInfo {
4252 VkStructureType sType;
4255 VkDeviceMemory memory;
4256 VkDeviceSize memoryOffset;
4257 } VkBindBufferMemoryInfo;
4259 typedef struct VkBindImageMemoryInfo {
4260 VkStructureType sType;
4263 VkDeviceMemory memory;
4264 VkDeviceSize memoryOffset;
4265 } VkBindImageMemoryInfo;
4267 typedef struct VkPhysicalDevice16BitStorageFeatures {
4268 VkStructureType sType;
4270 VkBool32 storageBuffer16BitAccess;
4271 VkBool32 uniformAndStorageBuffer16BitAccess;
4272 VkBool32 storagePushConstant16;
4273 VkBool32 storageInputOutput16;
4274 } VkPhysicalDevice16BitStorageFeatures;
4276 typedef struct VkMemoryDedicatedRequirements {
4277 VkStructureType sType;
4279 VkBool32 prefersDedicatedAllocation;
4280 VkBool32 requiresDedicatedAllocation;
4281 } VkMemoryDedicatedRequirements;
4283 typedef struct VkMemoryDedicatedAllocateInfo {
4284 VkStructureType sType;
4288 } VkMemoryDedicatedAllocateInfo;
4290 typedef struct VkMemoryAllocateFlagsInfo {
4291 VkStructureType sType;
4293 VkMemoryAllocateFlags flags;
4294 deUint32 deviceMask;
4295 } VkMemoryAllocateFlagsInfo;
4297 typedef struct VkDeviceGroupRenderPassBeginInfo {
4298 VkStructureType sType;
4300 deUint32 deviceMask;
4301 deUint32 deviceRenderAreaCount;
4302 const VkRect2D* pDeviceRenderAreas;
4303 } VkDeviceGroupRenderPassBeginInfo;
4305 typedef struct VkDeviceGroupCommandBufferBeginInfo {
4306 VkStructureType sType;
4308 deUint32 deviceMask;
4309 } VkDeviceGroupCommandBufferBeginInfo;
4311 typedef struct VkDeviceGroupSubmitInfo {
4312 VkStructureType sType;
4314 deUint32 waitSemaphoreCount;
4315 const deUint32* pWaitSemaphoreDeviceIndices;
4316 deUint32 commandBufferCount;
4317 const deUint32* pCommandBufferDeviceMasks;
4318 deUint32 signalSemaphoreCount;
4319 const deUint32* pSignalSemaphoreDeviceIndices;
4320 } VkDeviceGroupSubmitInfo;
4322 typedef struct VkDeviceGroupBindSparseInfo {
4323 VkStructureType sType;
4325 deUint32 resourceDeviceIndex;
4326 deUint32 memoryDeviceIndex;
4327 } VkDeviceGroupBindSparseInfo;
4329 typedef struct VkBindBufferMemoryDeviceGroupInfo {
4330 VkStructureType sType;
4332 deUint32 deviceIndexCount;
4333 const deUint32* pDeviceIndices;
4334 } VkBindBufferMemoryDeviceGroupInfo;
4336 typedef struct VkBindImageMemoryDeviceGroupInfo {
4337 VkStructureType sType;
4339 deUint32 deviceIndexCount;
4340 const deUint32* pDeviceIndices;
4341 deUint32 splitInstanceBindRegionCount;
4342 const VkRect2D* pSplitInstanceBindRegions;
4343 } VkBindImageMemoryDeviceGroupInfo;
4345 typedef struct VkPhysicalDeviceGroupProperties {
4346 VkStructureType sType;
4348 deUint32 physicalDeviceCount;
4349 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
4350 VkBool32 subsetAllocation;
4351 } VkPhysicalDeviceGroupProperties;
4353 typedef struct VkDeviceGroupDeviceCreateInfo {
4354 VkStructureType sType;
4356 deUint32 physicalDeviceCount;
4357 const VkPhysicalDevice* pPhysicalDevices;
4358 } VkDeviceGroupDeviceCreateInfo;
4360 typedef struct VkBufferMemoryRequirementsInfo2 {
4361 VkStructureType sType;
4364 } VkBufferMemoryRequirementsInfo2;
4366 typedef struct VkImageMemoryRequirementsInfo2 {
4367 VkStructureType sType;
4370 } VkImageMemoryRequirementsInfo2;
4372 typedef struct VkImageSparseMemoryRequirementsInfo2 {
4373 VkStructureType sType;
4376 } VkImageSparseMemoryRequirementsInfo2;
4378 typedef struct VkMemoryRequirements2 {
4379 VkStructureType sType;
4381 VkMemoryRequirements memoryRequirements;
4382 } VkMemoryRequirements2;
4384 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
4386 typedef struct VkSparseImageMemoryRequirements2 {
4387 VkStructureType sType;
4389 VkSparseImageMemoryRequirements memoryRequirements;
4390 } VkSparseImageMemoryRequirements2;
4392 typedef struct VkPhysicalDeviceFeatures2 {
4393 VkStructureType sType;
4395 VkPhysicalDeviceFeatures features;
4396 } VkPhysicalDeviceFeatures2;
4398 typedef struct VkPhysicalDeviceProperties2 {
4399 VkStructureType sType;
4401 VkPhysicalDeviceProperties properties;
4402 } VkPhysicalDeviceProperties2;
4404 typedef struct VkFormatProperties2 {
4405 VkStructureType sType;
4407 VkFormatProperties formatProperties;
4408 } VkFormatProperties2;
4410 typedef struct VkImageFormatProperties2 {
4411 VkStructureType sType;
4413 VkImageFormatProperties imageFormatProperties;
4414 } VkImageFormatProperties2;
4416 typedef struct VkPhysicalDeviceImageFormatInfo2 {
4417 VkStructureType sType;
4421 VkImageTiling tiling;
4422 VkImageUsageFlags usage;
4423 VkImageCreateFlags flags;
4424 } VkPhysicalDeviceImageFormatInfo2;
4426 typedef struct VkQueueFamilyProperties2 {
4427 VkStructureType sType;
4429 VkQueueFamilyProperties queueFamilyProperties;
4430 } VkQueueFamilyProperties2;
4432 typedef struct VkPhysicalDeviceMemoryProperties2 {
4433 VkStructureType sType;
4435 VkPhysicalDeviceMemoryProperties memoryProperties;
4436 } VkPhysicalDeviceMemoryProperties2;
4438 typedef struct VkSparseImageFormatProperties2 {
4439 VkStructureType sType;
4441 VkSparseImageFormatProperties properties;
4442 } VkSparseImageFormatProperties2;
4444 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
4445 VkStructureType sType;
4449 VkSampleCountFlagBits samples;
4450 VkImageUsageFlags usage;
4451 VkImageTiling tiling;
4452 } VkPhysicalDeviceSparseImageFormatInfo2;
4454 typedef struct VkPhysicalDevicePointClippingProperties {
4455 VkStructureType sType;
4457 VkPointClippingBehavior pointClippingBehavior;
4458 } VkPhysicalDevicePointClippingProperties;
4460 typedef struct VkInputAttachmentAspectReference {
4462 deUint32 inputAttachmentIndex;
4463 VkImageAspectFlags aspectMask;
4464 } VkInputAttachmentAspectReference;
4466 typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
4467 VkStructureType sType;
4469 deUint32 aspectReferenceCount;
4470 const VkInputAttachmentAspectReference* pAspectReferences;
4471 } VkRenderPassInputAttachmentAspectCreateInfo;
4473 typedef struct VkImageViewUsageCreateInfo {
4474 VkStructureType sType;
4476 VkImageUsageFlags usage;
4477 } VkImageViewUsageCreateInfo;
4479 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
4480 VkStructureType sType;
4482 VkTessellationDomainOrigin domainOrigin;
4483 } VkPipelineTessellationDomainOriginStateCreateInfo;
4485 typedef struct VkRenderPassMultiviewCreateInfo {
4486 VkStructureType sType;
4488 deUint32 subpassCount;
4489 const deUint32* pViewMasks;
4490 deUint32 dependencyCount;
4491 const deInt32* pViewOffsets;
4492 deUint32 correlationMaskCount;
4493 const deUint32* pCorrelationMasks;
4494 } VkRenderPassMultiviewCreateInfo;
4496 typedef struct VkPhysicalDeviceMultiviewFeatures {
4497 VkStructureType sType;
4500 VkBool32 multiviewGeometryShader;
4501 VkBool32 multiviewTessellationShader;
4502 } VkPhysicalDeviceMultiviewFeatures;
4504 typedef struct VkPhysicalDeviceMultiviewProperties {
4505 VkStructureType sType;
4507 deUint32 maxMultiviewViewCount;
4508 deUint32 maxMultiviewInstanceIndex;
4509 } VkPhysicalDeviceMultiviewProperties;
4511 typedef struct VkPhysicalDeviceVariablePointersFeatures {
4512 VkStructureType sType;
4514 VkBool32 variablePointersStorageBuffer;
4515 VkBool32 variablePointers;
4516 } VkPhysicalDeviceVariablePointersFeatures;
4518 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures;
4520 typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
4521 VkStructureType sType;
4523 VkBool32 protectedMemory;
4524 } VkPhysicalDeviceProtectedMemoryFeatures;
4526 typedef struct VkPhysicalDeviceProtectedMemoryProperties {
4527 VkStructureType sType;
4529 VkBool32 protectedNoFault;
4530 } VkPhysicalDeviceProtectedMemoryProperties;
4532 typedef struct VkDeviceQueueInfo2 {
4533 VkStructureType sType;
4535 VkDeviceQueueCreateFlags flags;
4536 deUint32 queueFamilyIndex;
4537 deUint32 queueIndex;
4538 } VkDeviceQueueInfo2;
4540 typedef struct VkProtectedSubmitInfo {
4541 VkStructureType sType;
4543 VkBool32 protectedSubmit;
4544 } VkProtectedSubmitInfo;
4546 typedef struct VkSamplerYcbcrConversionCreateInfo {
4547 VkStructureType sType;
4550 VkSamplerYcbcrModelConversion ycbcrModel;
4551 VkSamplerYcbcrRange ycbcrRange;
4552 VkComponentMapping components;
4553 VkChromaLocation xChromaOffset;
4554 VkChromaLocation yChromaOffset;
4555 VkFilter chromaFilter;
4556 VkBool32 forceExplicitReconstruction;
4557 } VkSamplerYcbcrConversionCreateInfo;
4559 typedef struct VkSamplerYcbcrConversionInfo {
4560 VkStructureType sType;
4562 VkSamplerYcbcrConversion conversion;
4563 } VkSamplerYcbcrConversionInfo;
4565 typedef struct VkBindImagePlaneMemoryInfo {
4566 VkStructureType sType;
4568 VkImageAspectFlagBits planeAspect;
4569 } VkBindImagePlaneMemoryInfo;
4571 typedef struct VkImagePlaneMemoryRequirementsInfo {
4572 VkStructureType sType;
4574 VkImageAspectFlagBits planeAspect;
4575 } VkImagePlaneMemoryRequirementsInfo;
4577 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
4578 VkStructureType sType;
4580 VkBool32 samplerYcbcrConversion;
4581 } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
4583 typedef struct VkSamplerYcbcrConversionImageFormatProperties {
4584 VkStructureType sType;
4586 deUint32 combinedImageSamplerDescriptorCount;
4587 } VkSamplerYcbcrConversionImageFormatProperties;
4589 typedef struct VkDescriptorUpdateTemplateEntry {
4590 deUint32 dstBinding;
4591 deUint32 dstArrayElement;
4592 deUint32 descriptorCount;
4593 VkDescriptorType descriptorType;
4596 } VkDescriptorUpdateTemplateEntry;
4598 typedef struct VkDescriptorUpdateTemplateCreateInfo {
4599 VkStructureType sType;
4601 VkDescriptorUpdateTemplateCreateFlags flags;
4602 deUint32 descriptorUpdateEntryCount;
4603 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
4604 VkDescriptorUpdateTemplateType templateType;
4605 VkDescriptorSetLayout descriptorSetLayout;
4606 VkPipelineBindPoint pipelineBindPoint;
4607 VkPipelineLayout pipelineLayout;
4609 } VkDescriptorUpdateTemplateCreateInfo;
4611 typedef struct VkExternalMemoryProperties {
4612 VkExternalMemoryFeatureFlags externalMemoryFeatures;
4613 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
4614 VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
4615 } VkExternalMemoryProperties;
4617 typedef struct VkPhysicalDeviceExternalImageFormatInfo {
4618 VkStructureType sType;
4620 VkExternalMemoryHandleTypeFlagBits handleType;
4621 } VkPhysicalDeviceExternalImageFormatInfo;
4623 typedef struct VkExternalImageFormatProperties {
4624 VkStructureType sType;
4626 VkExternalMemoryProperties externalMemoryProperties;
4627 } VkExternalImageFormatProperties;
4629 typedef struct VkPhysicalDeviceExternalBufferInfo {
4630 VkStructureType sType;
4632 VkBufferCreateFlags flags;
4633 VkBufferUsageFlags usage;
4634 VkExternalMemoryHandleTypeFlagBits handleType;
4635 } VkPhysicalDeviceExternalBufferInfo;
4637 typedef struct VkExternalBufferProperties {
4638 VkStructureType sType;
4640 VkExternalMemoryProperties externalMemoryProperties;
4641 } VkExternalBufferProperties;
4643 typedef struct VkPhysicalDeviceIDProperties {
4644 VkStructureType sType;
4646 deUint8 deviceUUID[VK_UUID_SIZE];
4647 deUint8 driverUUID[VK_UUID_SIZE];
4648 deUint8 deviceLUID[VK_LUID_SIZE];
4649 deUint32 deviceNodeMask;
4650 VkBool32 deviceLUIDValid;
4651 } VkPhysicalDeviceIDProperties;
4653 typedef struct VkExternalMemoryImageCreateInfo {
4654 VkStructureType sType;
4656 VkExternalMemoryHandleTypeFlags handleTypes;
4657 } VkExternalMemoryImageCreateInfo;
4659 typedef struct VkExternalMemoryBufferCreateInfo {
4660 VkStructureType sType;
4662 VkExternalMemoryHandleTypeFlags handleTypes;
4663 } VkExternalMemoryBufferCreateInfo;
4665 typedef struct VkExportMemoryAllocateInfo {
4666 VkStructureType sType;
4668 VkExternalMemoryHandleTypeFlags handleTypes;
4669 } VkExportMemoryAllocateInfo;
4671 typedef struct VkPhysicalDeviceExternalFenceInfo {
4672 VkStructureType sType;
4674 VkExternalFenceHandleTypeFlagBits handleType;
4675 } VkPhysicalDeviceExternalFenceInfo;
4677 typedef struct VkExternalFenceProperties {
4678 VkStructureType sType;
4680 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
4681 VkExternalFenceHandleTypeFlags compatibleHandleTypes;
4682 VkExternalFenceFeatureFlags externalFenceFeatures;
4683 } VkExternalFenceProperties;
4685 typedef struct VkExportFenceCreateInfo {
4686 VkStructureType sType;
4688 VkExternalFenceHandleTypeFlags handleTypes;
4689 } VkExportFenceCreateInfo;
4691 typedef struct VkExportSemaphoreCreateInfo {
4692 VkStructureType sType;
4694 VkExternalSemaphoreHandleTypeFlags handleTypes;
4695 } VkExportSemaphoreCreateInfo;
4697 typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
4698 VkStructureType sType;
4700 VkExternalSemaphoreHandleTypeFlagBits handleType;
4701 } VkPhysicalDeviceExternalSemaphoreInfo;
4703 typedef struct VkExternalSemaphoreProperties {
4704 VkStructureType sType;
4706 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
4707 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
4708 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
4709 } VkExternalSemaphoreProperties;
4711 typedef struct VkPhysicalDeviceMaintenance3Properties {
4712 VkStructureType sType;
4714 deUint32 maxPerSetDescriptors;
4715 VkDeviceSize maxMemoryAllocationSize;
4716 } VkPhysicalDeviceMaintenance3Properties;
4718 typedef struct VkDescriptorSetLayoutSupport {
4719 VkStructureType sType;
4722 } VkDescriptorSetLayoutSupport;
4724 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
4725 VkStructureType sType;
4727 VkBool32 shaderDrawParameters;
4728 } VkPhysicalDeviceShaderDrawParametersFeatures;
4730 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
4732 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(deUint32* pApiVersion);
4733 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
4734 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
4735 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
4736 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
4737 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
4738 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
4739 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
4740 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
4741 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
4742 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
4743 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
4744 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
4745 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
4746 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
4747 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
4748 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
4749 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
4750 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
4751 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
4752 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
4753 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
4754 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
4755 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
4756 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
4757 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
4758 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
4759 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
4761 #ifndef VK_NO_PROTOTYPES
4762 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(
4763 deUint32* pApiVersion);
4765 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(
4767 deUint32 bindInfoCount,
4768 const VkBindBufferMemoryInfo* pBindInfos);
4770 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(
4772 deUint32 bindInfoCount,
4773 const VkBindImageMemoryInfo* pBindInfos);
4775 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(
4778 deUint32 localDeviceIndex,
4779 deUint32 remoteDeviceIndex,
4780 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
4782 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(
4783 VkCommandBuffer commandBuffer,
4784 deUint32 deviceMask);
4786 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(
4787 VkCommandBuffer commandBuffer,
4788 deUint32 baseGroupX,
4789 deUint32 baseGroupY,
4790 deUint32 baseGroupZ,
4791 deUint32 groupCountX,
4792 deUint32 groupCountY,
4793 deUint32 groupCountZ);
4795 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(
4796 VkInstance instance,
4797 deUint32* pPhysicalDeviceGroupCount,
4798 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
4800 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(
4802 const VkImageMemoryRequirementsInfo2* pInfo,
4803 VkMemoryRequirements2* pMemoryRequirements);
4805 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(
4807 const VkBufferMemoryRequirementsInfo2* pInfo,
4808 VkMemoryRequirements2* pMemoryRequirements);
4810 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(
4812 const VkImageSparseMemoryRequirementsInfo2* pInfo,
4813 deUint32* pSparseMemoryRequirementCount,
4814 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
4816 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(
4817 VkPhysicalDevice physicalDevice,
4818 VkPhysicalDeviceFeatures2* pFeatures);
4820 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(
4821 VkPhysicalDevice physicalDevice,
4822 VkPhysicalDeviceProperties2* pProperties);
4824 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(
4825 VkPhysicalDevice physicalDevice,
4827 VkFormatProperties2* pFormatProperties);
4829 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(
4830 VkPhysicalDevice physicalDevice,
4831 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
4832 VkImageFormatProperties2* pImageFormatProperties);
4834 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(
4835 VkPhysicalDevice physicalDevice,
4836 deUint32* pQueueFamilyPropertyCount,
4837 VkQueueFamilyProperties2* pQueueFamilyProperties);
4839 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(
4840 VkPhysicalDevice physicalDevice,
4841 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
4843 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(
4844 VkPhysicalDevice physicalDevice,
4845 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
4846 deUint32* pPropertyCount,
4847 VkSparseImageFormatProperties2* pProperties);
4849 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(
4851 VkCommandPool commandPool,
4852 VkCommandPoolTrimFlags flags);
4854 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(
4856 const VkDeviceQueueInfo2* pQueueInfo,
4859 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(
4861 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
4862 const VkAllocationCallbacks* pAllocator,
4863 VkSamplerYcbcrConversion* pYcbcrConversion);
4865 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(
4867 VkSamplerYcbcrConversion ycbcrConversion,
4868 const VkAllocationCallbacks* pAllocator);
4870 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(
4872 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
4873 const VkAllocationCallbacks* pAllocator,
4874 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
4876 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(
4878 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
4879 const VkAllocationCallbacks* pAllocator);
4881 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(
4883 VkDescriptorSet descriptorSet,
4884 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
4887 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(
4888 VkPhysicalDevice physicalDevice,
4889 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
4890 VkExternalBufferProperties* pExternalBufferProperties);
4892 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(
4893 VkPhysicalDevice physicalDevice,
4894 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
4895 VkExternalFenceProperties* pExternalFenceProperties);
4897 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(
4898 VkPhysicalDevice physicalDevice,
4899 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
4900 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
4902 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
4904 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
4905 VkDescriptorSetLayoutSupport* pSupport);
4909 #define VK_VERSION_1_2 1
4910 // Vulkan 1.2 version number
4911 #define VK_API_VERSION_1_2 VK_MAKE_VERSION(1, 2, 0)// Patch version should always be set to 0
4913 typedef deUint64 VkDeviceAddress;
4914 #define VK_MAX_DRIVER_NAME_SIZE 256
4915 #define VK_MAX_DRIVER_INFO_SIZE 256
4917 typedef enum VkDriverId {
4918 VK_DRIVER_ID_AMD_PROPRIETARY = 1,
4919 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,
4920 VK_DRIVER_ID_MESA_RADV = 3,
4921 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,
4922 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,
4923 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,
4924 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,
4925 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8,
4926 VK_DRIVER_ID_ARM_PROPRIETARY = 9,
4927 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10,
4928 VK_DRIVER_ID_GGP_PROPRIETARY = 11,
4929 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
4930 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
4931 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
4932 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
4933 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
4934 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
4935 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
4936 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
4937 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
4938 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY,
4939 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
4940 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY,
4941 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
4942 VK_DRIVER_ID_BEGIN_RANGE = VK_DRIVER_ID_AMD_PROPRIETARY,
4943 VK_DRIVER_ID_END_RANGE = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
4944 VK_DRIVER_ID_RANGE_SIZE = (VK_DRIVER_ID_BROADCOM_PROPRIETARY - VK_DRIVER_ID_AMD_PROPRIETARY + 1),
4945 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF
4948 typedef enum VkShaderFloatControlsIndependence {
4949 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,
4950 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,
4951 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2,
4952 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
4953 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
4954 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
4955 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_BEGIN_RANGE = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
4956 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_END_RANGE = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
4957 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_RANGE_SIZE = (VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE - VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY + 1),
4958 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF
4959 } VkShaderFloatControlsIndependence;
4961 typedef enum VkSamplerReductionMode {
4962 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
4963 VK_SAMPLER_REDUCTION_MODE_MIN = 1,
4964 VK_SAMPLER_REDUCTION_MODE_MAX = 2,
4965 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
4966 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN,
4967 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX,
4968 VK_SAMPLER_REDUCTION_MODE_BEGIN_RANGE = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
4969 VK_SAMPLER_REDUCTION_MODE_END_RANGE = VK_SAMPLER_REDUCTION_MODE_MAX,
4970 VK_SAMPLER_REDUCTION_MODE_RANGE_SIZE = (VK_SAMPLER_REDUCTION_MODE_MAX - VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE + 1),
4971 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF
4972 } VkSamplerReductionMode;
4974 typedef enum VkSemaphoreType {
4975 VK_SEMAPHORE_TYPE_BINARY = 0,
4976 VK_SEMAPHORE_TYPE_TIMELINE = 1,
4977 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY,
4978 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE,
4979 VK_SEMAPHORE_TYPE_BEGIN_RANGE = VK_SEMAPHORE_TYPE_BINARY,
4980 VK_SEMAPHORE_TYPE_END_RANGE = VK_SEMAPHORE_TYPE_TIMELINE,
4981 VK_SEMAPHORE_TYPE_RANGE_SIZE = (VK_SEMAPHORE_TYPE_TIMELINE - VK_SEMAPHORE_TYPE_BINARY + 1),
4982 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
4985 typedef enum VkResolveModeFlagBits {
4986 VK_RESOLVE_MODE_NONE = 0,
4987 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001,
4988 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002,
4989 VK_RESOLVE_MODE_MIN_BIT = 0x00000004,
4990 VK_RESOLVE_MODE_MAX_BIT = 0x00000008,
4991 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE,
4992 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
4993 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT,
4994 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT,
4995 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT,
4996 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4997 } VkResolveModeFlagBits;
4998 typedef VkFlags VkResolveModeFlags;
5000 typedef enum VkDescriptorBindingFlagBits {
5001 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001,
5002 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002,
5003 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004,
5004 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008,
5005 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
5006 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
5007 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
5008 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT,
5009 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5010 } VkDescriptorBindingFlagBits;
5011 typedef VkFlags VkDescriptorBindingFlags;
5013 typedef enum VkSemaphoreWaitFlagBits {
5014 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001,
5015 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT,
5016 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5017 } VkSemaphoreWaitFlagBits;
5018 typedef VkFlags VkSemaphoreWaitFlags;
5019 typedef struct VkPhysicalDeviceVulkan11Features {
5020 VkStructureType sType;
5022 VkBool32 storageBuffer16BitAccess;
5023 VkBool32 uniformAndStorageBuffer16BitAccess;
5024 VkBool32 storagePushConstant16;
5025 VkBool32 storageInputOutput16;
5027 VkBool32 multiviewGeometryShader;
5028 VkBool32 multiviewTessellationShader;
5029 VkBool32 variablePointersStorageBuffer;
5030 VkBool32 variablePointers;
5031 VkBool32 protectedMemory;
5032 VkBool32 samplerYcbcrConversion;
5033 VkBool32 shaderDrawParameters;
5034 } VkPhysicalDeviceVulkan11Features;
5036 typedef struct VkPhysicalDeviceVulkan11Properties {
5037 VkStructureType sType;
5039 deUint8 deviceUUID[VK_UUID_SIZE];
5040 deUint8 driverUUID[VK_UUID_SIZE];
5041 deUint8 deviceLUID[VK_LUID_SIZE];
5042 deUint32 deviceNodeMask;
5043 VkBool32 deviceLUIDValid;
5044 deUint32 subgroupSize;
5045 VkShaderStageFlags subgroupSupportedStages;
5046 VkSubgroupFeatureFlags subgroupSupportedOperations;
5047 VkBool32 subgroupQuadOperationsInAllStages;
5048 VkPointClippingBehavior pointClippingBehavior;
5049 deUint32 maxMultiviewViewCount;
5050 deUint32 maxMultiviewInstanceIndex;
5051 VkBool32 protectedNoFault;
5052 deUint32 maxPerSetDescriptors;
5053 VkDeviceSize maxMemoryAllocationSize;
5054 } VkPhysicalDeviceVulkan11Properties;
5056 typedef struct VkPhysicalDeviceVulkan12Features {
5057 VkStructureType sType;
5059 VkBool32 samplerMirrorClampToEdge;
5060 VkBool32 drawIndirectCount;
5061 VkBool32 storageBuffer8BitAccess;
5062 VkBool32 uniformAndStorageBuffer8BitAccess;
5063 VkBool32 storagePushConstant8;
5064 VkBool32 shaderBufferInt64Atomics;
5065 VkBool32 shaderSharedInt64Atomics;
5066 VkBool32 shaderFloat16;
5067 VkBool32 shaderInt8;
5068 VkBool32 descriptorIndexing;
5069 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
5070 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
5071 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
5072 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
5073 VkBool32 shaderSampledImageArrayNonUniformIndexing;
5074 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
5075 VkBool32 shaderStorageImageArrayNonUniformIndexing;
5076 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
5077 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
5078 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
5079 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
5080 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
5081 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
5082 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
5083 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
5084 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
5085 VkBool32 descriptorBindingUpdateUnusedWhilePending;
5086 VkBool32 descriptorBindingPartiallyBound;
5087 VkBool32 descriptorBindingVariableDescriptorCount;
5088 VkBool32 runtimeDescriptorArray;
5089 VkBool32 samplerFilterMinmax;
5090 VkBool32 scalarBlockLayout;
5091 VkBool32 imagelessFramebuffer;
5092 VkBool32 uniformBufferStandardLayout;
5093 VkBool32 shaderSubgroupExtendedTypes;
5094 VkBool32 separateDepthStencilLayouts;
5095 VkBool32 hostQueryReset;
5096 VkBool32 timelineSemaphore;
5097 VkBool32 bufferDeviceAddress;
5098 VkBool32 bufferDeviceAddressCaptureReplay;
5099 VkBool32 bufferDeviceAddressMultiDevice;
5100 VkBool32 vulkanMemoryModel;
5101 VkBool32 vulkanMemoryModelDeviceScope;
5102 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
5103 VkBool32 shaderOutputViewportIndex;
5104 VkBool32 shaderOutputLayer;
5105 VkBool32 subgroupBroadcastDynamicId;
5106 } VkPhysicalDeviceVulkan12Features;
5108 typedef struct VkConformanceVersion {
5113 } VkConformanceVersion;
5115 typedef struct VkPhysicalDeviceVulkan12Properties {
5116 VkStructureType sType;
5118 VkDriverId driverID;
5119 char driverName[VK_MAX_DRIVER_NAME_SIZE];
5120 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
5121 VkConformanceVersion conformanceVersion;
5122 VkShaderFloatControlsIndependence denormBehaviorIndependence;
5123 VkShaderFloatControlsIndependence roundingModeIndependence;
5124 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
5125 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
5126 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
5127 VkBool32 shaderDenormPreserveFloat16;
5128 VkBool32 shaderDenormPreserveFloat32;
5129 VkBool32 shaderDenormPreserveFloat64;
5130 VkBool32 shaderDenormFlushToZeroFloat16;
5131 VkBool32 shaderDenormFlushToZeroFloat32;
5132 VkBool32 shaderDenormFlushToZeroFloat64;
5133 VkBool32 shaderRoundingModeRTEFloat16;
5134 VkBool32 shaderRoundingModeRTEFloat32;
5135 VkBool32 shaderRoundingModeRTEFloat64;
5136 VkBool32 shaderRoundingModeRTZFloat16;
5137 VkBool32 shaderRoundingModeRTZFloat32;
5138 VkBool32 shaderRoundingModeRTZFloat64;
5139 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
5140 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
5141 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
5142 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
5143 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
5144 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
5145 VkBool32 robustBufferAccessUpdateAfterBind;
5146 VkBool32 quadDivergentImplicitLod;
5147 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
5148 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
5149 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
5150 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
5151 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
5152 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
5153 deUint32 maxPerStageUpdateAfterBindResources;
5154 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
5155 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
5156 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
5157 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
5158 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
5159 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
5160 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
5161 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
5162 VkResolveModeFlags supportedDepthResolveModes;
5163 VkResolveModeFlags supportedStencilResolveModes;
5164 VkBool32 independentResolveNone;
5165 VkBool32 independentResolve;
5166 VkBool32 filterMinmaxSingleComponentFormats;
5167 VkBool32 filterMinmaxImageComponentMapping;
5168 deUint64 maxTimelineSemaphoreValueDifference;
5169 VkSampleCountFlags framebufferIntegerColorSampleCounts;
5170 } VkPhysicalDeviceVulkan12Properties;
5172 typedef struct VkImageFormatListCreateInfo {
5173 VkStructureType sType;
5175 deUint32 viewFormatCount;
5176 const VkFormat* pViewFormats;
5177 } VkImageFormatListCreateInfo;
5179 typedef struct VkAttachmentDescription2 {
5180 VkStructureType sType;
5182 VkAttachmentDescriptionFlags flags;
5184 VkSampleCountFlagBits samples;
5185 VkAttachmentLoadOp loadOp;
5186 VkAttachmentStoreOp storeOp;
5187 VkAttachmentLoadOp stencilLoadOp;
5188 VkAttachmentStoreOp stencilStoreOp;
5189 VkImageLayout initialLayout;
5190 VkImageLayout finalLayout;
5191 } VkAttachmentDescription2;
5193 typedef struct VkAttachmentReference2 {
5194 VkStructureType sType;
5196 deUint32 attachment;
5197 VkImageLayout layout;
5198 VkImageAspectFlags aspectMask;
5199 } VkAttachmentReference2;
5201 typedef struct VkSubpassDescription2 {
5202 VkStructureType sType;
5204 VkSubpassDescriptionFlags flags;
5205 VkPipelineBindPoint pipelineBindPoint;
5207 deUint32 inputAttachmentCount;
5208 const VkAttachmentReference2* pInputAttachments;
5209 deUint32 colorAttachmentCount;
5210 const VkAttachmentReference2* pColorAttachments;
5211 const VkAttachmentReference2* pResolveAttachments;
5212 const VkAttachmentReference2* pDepthStencilAttachment;
5213 deUint32 preserveAttachmentCount;
5214 const deUint32* pPreserveAttachments;
5215 } VkSubpassDescription2;
5217 typedef struct VkSubpassDependency2 {
5218 VkStructureType sType;
5220 deUint32 srcSubpass;
5221 deUint32 dstSubpass;
5222 VkPipelineStageFlags srcStageMask;
5223 VkPipelineStageFlags dstStageMask;
5224 VkAccessFlags srcAccessMask;
5225 VkAccessFlags dstAccessMask;
5226 VkDependencyFlags dependencyFlags;
5228 } VkSubpassDependency2;
5230 typedef struct VkRenderPassCreateInfo2 {
5231 VkStructureType sType;
5233 VkRenderPassCreateFlags flags;
5234 deUint32 attachmentCount;
5235 const VkAttachmentDescription2* pAttachments;
5236 deUint32 subpassCount;
5237 const VkSubpassDescription2* pSubpasses;
5238 deUint32 dependencyCount;
5239 const VkSubpassDependency2* pDependencies;
5240 deUint32 correlatedViewMaskCount;
5241 const deUint32* pCorrelatedViewMasks;
5242 } VkRenderPassCreateInfo2;
5244 typedef struct VkSubpassBeginInfo {
5245 VkStructureType sType;
5247 VkSubpassContents contents;
5248 } VkSubpassBeginInfo;
5250 typedef struct VkSubpassEndInfo {
5251 VkStructureType sType;
5255 typedef struct VkPhysicalDevice8BitStorageFeatures {
5256 VkStructureType sType;
5258 VkBool32 storageBuffer8BitAccess;
5259 VkBool32 uniformAndStorageBuffer8BitAccess;
5260 VkBool32 storagePushConstant8;
5261 } VkPhysicalDevice8BitStorageFeatures;
5263 typedef struct VkPhysicalDeviceDriverProperties {
5264 VkStructureType sType;
5266 VkDriverId driverID;
5267 char driverName[VK_MAX_DRIVER_NAME_SIZE];
5268 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
5269 VkConformanceVersion conformanceVersion;
5270 } VkPhysicalDeviceDriverProperties;
5272 typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
5273 VkStructureType sType;
5275 VkBool32 shaderBufferInt64Atomics;
5276 VkBool32 shaderSharedInt64Atomics;
5277 } VkPhysicalDeviceShaderAtomicInt64Features;
5279 typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
5280 VkStructureType sType;
5282 VkBool32 shaderFloat16;
5283 VkBool32 shaderInt8;
5284 } VkPhysicalDeviceShaderFloat16Int8Features;
5286 typedef struct VkPhysicalDeviceFloatControlsProperties {
5287 VkStructureType sType;
5289 VkShaderFloatControlsIndependence denormBehaviorIndependence;
5290 VkShaderFloatControlsIndependence roundingModeIndependence;
5291 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
5292 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
5293 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
5294 VkBool32 shaderDenormPreserveFloat16;
5295 VkBool32 shaderDenormPreserveFloat32;
5296 VkBool32 shaderDenormPreserveFloat64;
5297 VkBool32 shaderDenormFlushToZeroFloat16;
5298 VkBool32 shaderDenormFlushToZeroFloat32;
5299 VkBool32 shaderDenormFlushToZeroFloat64;
5300 VkBool32 shaderRoundingModeRTEFloat16;
5301 VkBool32 shaderRoundingModeRTEFloat32;
5302 VkBool32 shaderRoundingModeRTEFloat64;
5303 VkBool32 shaderRoundingModeRTZFloat16;
5304 VkBool32 shaderRoundingModeRTZFloat32;
5305 VkBool32 shaderRoundingModeRTZFloat64;
5306 } VkPhysicalDeviceFloatControlsProperties;
5308 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
5309 VkStructureType sType;
5311 deUint32 bindingCount;
5312 const VkDescriptorBindingFlags* pBindingFlags;
5313 } VkDescriptorSetLayoutBindingFlagsCreateInfo;
5315 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
5316 VkStructureType sType;
5318 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
5319 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
5320 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
5321 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
5322 VkBool32 shaderSampledImageArrayNonUniformIndexing;
5323 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
5324 VkBool32 shaderStorageImageArrayNonUniformIndexing;
5325 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
5326 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
5327 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
5328 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
5329 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
5330 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
5331 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
5332 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
5333 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
5334 VkBool32 descriptorBindingUpdateUnusedWhilePending;
5335 VkBool32 descriptorBindingPartiallyBound;
5336 VkBool32 descriptorBindingVariableDescriptorCount;
5337 VkBool32 runtimeDescriptorArray;
5338 } VkPhysicalDeviceDescriptorIndexingFeatures;
5340 typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
5341 VkStructureType sType;
5343 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
5344 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
5345 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
5346 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
5347 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
5348 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
5349 VkBool32 robustBufferAccessUpdateAfterBind;
5350 VkBool32 quadDivergentImplicitLod;
5351 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
5352 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
5353 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
5354 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
5355 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
5356 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
5357 deUint32 maxPerStageUpdateAfterBindResources;
5358 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
5359 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
5360 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
5361 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
5362 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
5363 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
5364 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
5365 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
5366 } VkPhysicalDeviceDescriptorIndexingProperties;
5368 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
5369 VkStructureType sType;
5371 deUint32 descriptorSetCount;
5372 const deUint32* pDescriptorCounts;
5373 } VkDescriptorSetVariableDescriptorCountAllocateInfo;
5375 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
5376 VkStructureType sType;
5378 deUint32 maxVariableDescriptorCount;
5379 } VkDescriptorSetVariableDescriptorCountLayoutSupport;
5381 typedef struct VkSubpassDescriptionDepthStencilResolve {
5382 VkStructureType sType;
5384 VkResolveModeFlagBits depthResolveMode;
5385 VkResolveModeFlagBits stencilResolveMode;
5386 const VkAttachmentReference2* pDepthStencilResolveAttachment;
5387 } VkSubpassDescriptionDepthStencilResolve;
5389 typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
5390 VkStructureType sType;
5392 VkResolveModeFlags supportedDepthResolveModes;
5393 VkResolveModeFlags supportedStencilResolveModes;
5394 VkBool32 independentResolveNone;
5395 VkBool32 independentResolve;
5396 } VkPhysicalDeviceDepthStencilResolveProperties;
5398 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
5399 VkStructureType sType;
5401 VkBool32 scalarBlockLayout;
5402 } VkPhysicalDeviceScalarBlockLayoutFeatures;
5404 typedef struct VkImageStencilUsageCreateInfo {
5405 VkStructureType sType;
5407 VkImageUsageFlags stencilUsage;
5408 } VkImageStencilUsageCreateInfo;
5410 typedef struct VkSamplerReductionModeCreateInfo {
5411 VkStructureType sType;
5413 VkSamplerReductionMode reductionMode;
5414 } VkSamplerReductionModeCreateInfo;
5416 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
5417 VkStructureType sType;
5419 VkBool32 filterMinmaxSingleComponentFormats;
5420 VkBool32 filterMinmaxImageComponentMapping;
5421 } VkPhysicalDeviceSamplerFilterMinmaxProperties;
5423 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
5424 VkStructureType sType;
5426 VkBool32 vulkanMemoryModel;
5427 VkBool32 vulkanMemoryModelDeviceScope;
5428 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
5429 } VkPhysicalDeviceVulkanMemoryModelFeatures;
5431 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
5432 VkStructureType sType;
5434 VkBool32 imagelessFramebuffer;
5435 } VkPhysicalDeviceImagelessFramebufferFeatures;
5437 typedef struct VkFramebufferAttachmentImageInfo {
5438 VkStructureType sType;
5440 VkImageCreateFlags flags;
5441 VkImageUsageFlags usage;
5444 deUint32 layerCount;
5445 deUint32 viewFormatCount;
5446 const VkFormat* pViewFormats;
5447 } VkFramebufferAttachmentImageInfo;
5449 typedef struct VkFramebufferAttachmentsCreateInfo {
5450 VkStructureType sType;
5452 deUint32 attachmentImageInfoCount;
5453 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
5454 } VkFramebufferAttachmentsCreateInfo;
5456 typedef struct VkRenderPassAttachmentBeginInfo {
5457 VkStructureType sType;
5459 deUint32 attachmentCount;
5460 const VkImageView* pAttachments;
5461 } VkRenderPassAttachmentBeginInfo;
5463 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
5464 VkStructureType sType;
5466 VkBool32 uniformBufferStandardLayout;
5467 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
5469 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
5470 VkStructureType sType;
5472 VkBool32 shaderSubgroupExtendedTypes;
5473 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
5475 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
5476 VkStructureType sType;
5478 VkBool32 separateDepthStencilLayouts;
5479 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
5481 typedef struct VkAttachmentReferenceStencilLayout {
5482 VkStructureType sType;
5484 VkImageLayout stencilLayout;
5485 } VkAttachmentReferenceStencilLayout;
5487 typedef struct VkAttachmentDescriptionStencilLayout {
5488 VkStructureType sType;
5490 VkImageLayout stencilInitialLayout;
5491 VkImageLayout stencilFinalLayout;
5492 } VkAttachmentDescriptionStencilLayout;
5494 typedef struct VkPhysicalDeviceHostQueryResetFeatures {
5495 VkStructureType sType;
5497 VkBool32 hostQueryReset;
5498 } VkPhysicalDeviceHostQueryResetFeatures;
5500 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
5501 VkStructureType sType;
5503 VkBool32 timelineSemaphore;
5504 } VkPhysicalDeviceTimelineSemaphoreFeatures;
5506 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
5507 VkStructureType sType;
5509 deUint64 maxTimelineSemaphoreValueDifference;
5510 } VkPhysicalDeviceTimelineSemaphoreProperties;
5512 typedef struct VkSemaphoreTypeCreateInfo {
5513 VkStructureType sType;
5515 VkSemaphoreType semaphoreType;
5516 deUint64 initialValue;
5517 } VkSemaphoreTypeCreateInfo;
5519 typedef struct VkTimelineSemaphoreSubmitInfo {
5520 VkStructureType sType;
5522 deUint32 waitSemaphoreValueCount;
5523 const deUint64* pWaitSemaphoreValues;
5524 deUint32 signalSemaphoreValueCount;
5525 const deUint64* pSignalSemaphoreValues;
5526 } VkTimelineSemaphoreSubmitInfo;
5528 typedef struct VkSemaphoreWaitInfo {
5529 VkStructureType sType;
5531 VkSemaphoreWaitFlags flags;
5532 deUint32 semaphoreCount;
5533 const VkSemaphore* pSemaphores;
5534 const deUint64* pValues;
5535 } VkSemaphoreWaitInfo;
5537 typedef struct VkSemaphoreSignalInfo {
5538 VkStructureType sType;
5540 VkSemaphore semaphore;
5542 } VkSemaphoreSignalInfo;
5544 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
5545 VkStructureType sType;
5547 VkBool32 bufferDeviceAddress;
5548 VkBool32 bufferDeviceAddressCaptureReplay;
5549 VkBool32 bufferDeviceAddressMultiDevice;
5550 } VkPhysicalDeviceBufferDeviceAddressFeatures;
5552 typedef struct VkBufferDeviceAddressInfo {
5553 VkStructureType sType;
5556 } VkBufferDeviceAddressInfo;
5558 typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
5559 VkStructureType sType;
5561 deUint64 opaqueCaptureAddress;
5562 } VkBufferOpaqueCaptureAddressCreateInfo;
5564 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
5565 VkStructureType sType;
5567 deUint64 opaqueCaptureAddress;
5568 } VkMemoryOpaqueCaptureAddressAllocateInfo;
5570 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
5571 VkStructureType sType;
5573 VkDeviceMemory memory;
5574 } VkDeviceMemoryOpaqueCaptureAddressInfo;
5576 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
5577 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
5578 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
5579 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
5580 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
5581 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
5582 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
5583 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
5584 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
5585 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
5586 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
5587 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
5588 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
5590 #ifndef VK_NO_PROTOTYPES
5591 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount(
5592 VkCommandBuffer commandBuffer,
5594 VkDeviceSize offset,
5595 VkBuffer countBuffer,
5596 VkDeviceSize countBufferOffset,
5597 deUint32 maxDrawCount,
5600 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount(
5601 VkCommandBuffer commandBuffer,
5603 VkDeviceSize offset,
5604 VkBuffer countBuffer,
5605 VkDeviceSize countBufferOffset,
5606 deUint32 maxDrawCount,
5609 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2(
5611 const VkRenderPassCreateInfo2* pCreateInfo,
5612 const VkAllocationCallbacks* pAllocator,
5613 VkRenderPass* pRenderPass);
5615 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2(
5616 VkCommandBuffer commandBuffer,
5617 const VkRenderPassBeginInfo* pRenderPassBegin,
5618 const VkSubpassBeginInfo* pSubpassBeginInfo);
5620 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2(
5621 VkCommandBuffer commandBuffer,
5622 const VkSubpassBeginInfo* pSubpassBeginInfo,
5623 const VkSubpassEndInfo* pSubpassEndInfo);
5625 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2(
5626 VkCommandBuffer commandBuffer,
5627 const VkSubpassEndInfo* pSubpassEndInfo);
5629 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool(
5631 VkQueryPool queryPool,
5632 deUint32 firstQuery,
5633 deUint32 queryCount);
5635 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue(
5637 VkSemaphore semaphore,
5640 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores(
5642 const VkSemaphoreWaitInfo* pWaitInfo,
5645 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore(
5647 const VkSemaphoreSignalInfo* pSignalInfo);
5649 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress(
5651 const VkBufferDeviceAddressInfo* pInfo);
5653 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddress(
5655 const VkBufferDeviceAddressInfo* pInfo);
5657 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress(
5659 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
5663 #define VK_KHR_surface 1
5664 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
5665 #define VK_KHR_SURFACE_SPEC_VERSION 25
5666 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
5668 typedef enum VkColorSpaceKHR {
5669 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
5670 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
5671 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
5672 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003,
5673 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
5674 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
5675 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
5676 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
5677 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
5678 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
5679 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
5680 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
5681 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
5682 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
5683 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
5684 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000,
5685 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
5686 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
5687 VK_COLOR_SPACE_BEGIN_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
5688 VK_COLOR_SPACE_END_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
5689 VK_COLOR_SPACE_RANGE_SIZE_KHR = (VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - VK_COLOR_SPACE_SRGB_NONLINEAR_KHR + 1),
5690 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
5693 typedef enum VkPresentModeKHR {
5694 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
5695 VK_PRESENT_MODE_MAILBOX_KHR = 1,
5696 VK_PRESENT_MODE_FIFO_KHR = 2,
5697 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
5698 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
5699 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
5700 VK_PRESENT_MODE_BEGIN_RANGE_KHR = VK_PRESENT_MODE_IMMEDIATE_KHR,
5701 VK_PRESENT_MODE_END_RANGE_KHR = VK_PRESENT_MODE_FIFO_RELAXED_KHR,
5702 VK_PRESENT_MODE_RANGE_SIZE_KHR = (VK_PRESENT_MODE_FIFO_RELAXED_KHR - VK_PRESENT_MODE_IMMEDIATE_KHR + 1),
5703 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
5706 typedef enum VkSurfaceTransformFlagBitsKHR {
5707 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
5708 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
5709 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
5710 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
5711 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
5712 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
5713 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
5714 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
5715 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
5716 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5717 } VkSurfaceTransformFlagBitsKHR;
5718 typedef VkFlags VkSurfaceTransformFlagsKHR;
5720 typedef enum VkCompositeAlphaFlagBitsKHR {
5721 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
5722 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
5723 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
5724 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
5725 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5726 } VkCompositeAlphaFlagBitsKHR;
5727 typedef VkFlags VkCompositeAlphaFlagsKHR;
5728 typedef struct VkSurfaceCapabilitiesKHR {
5729 deUint32 minImageCount;
5730 deUint32 maxImageCount;
5731 VkExtent2D currentExtent;
5732 VkExtent2D minImageExtent;
5733 VkExtent2D maxImageExtent;
5734 deUint32 maxImageArrayLayers;
5735 VkSurfaceTransformFlagsKHR supportedTransforms;
5736 VkSurfaceTransformFlagBitsKHR currentTransform;
5737 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
5738 VkImageUsageFlags supportedUsageFlags;
5739 } VkSurfaceCapabilitiesKHR;
5741 typedef struct VkSurfaceFormatKHR {
5743 VkColorSpaceKHR colorSpace;
5744 } VkSurfaceFormatKHR;
5746 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
5747 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
5748 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
5749 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
5750 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pPresentModeCount, VkPresentModeKHR* pPresentModes);
5752 #ifndef VK_NO_PROTOTYPES
5753 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
5754 VkInstance instance,
5755 VkSurfaceKHR surface,
5756 const VkAllocationCallbacks* pAllocator);
5758 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(
5759 VkPhysicalDevice physicalDevice,
5760 deUint32 queueFamilyIndex,
5761 VkSurfaceKHR surface,
5762 VkBool32* pSupported);
5764 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
5765 VkPhysicalDevice physicalDevice,
5766 VkSurfaceKHR surface,
5767 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
5769 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(
5770 VkPhysicalDevice physicalDevice,
5771 VkSurfaceKHR surface,
5772 deUint32* pSurfaceFormatCount,
5773 VkSurfaceFormatKHR* pSurfaceFormats);
5775 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
5776 VkPhysicalDevice physicalDevice,
5777 VkSurfaceKHR surface,
5778 deUint32* pPresentModeCount,
5779 VkPresentModeKHR* pPresentModes);
5783 #define VK_KHR_swapchain 1
5784 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
5785 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
5786 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
5788 typedef enum VkSwapchainCreateFlagBitsKHR {
5789 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
5790 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
5791 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004,
5792 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5793 } VkSwapchainCreateFlagBitsKHR;
5794 typedef VkFlags VkSwapchainCreateFlagsKHR;
5796 typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
5797 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,
5798 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,
5799 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,
5800 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
5801 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5802 } VkDeviceGroupPresentModeFlagBitsKHR;
5803 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
5804 typedef struct VkSwapchainCreateInfoKHR {
5805 VkStructureType sType;
5807 VkSwapchainCreateFlagsKHR flags;
5808 VkSurfaceKHR surface;
5809 deUint32 minImageCount;
5810 VkFormat imageFormat;
5811 VkColorSpaceKHR imageColorSpace;
5812 VkExtent2D imageExtent;
5813 deUint32 imageArrayLayers;
5814 VkImageUsageFlags imageUsage;
5815 VkSharingMode imageSharingMode;
5816 deUint32 queueFamilyIndexCount;
5817 const deUint32* pQueueFamilyIndices;
5818 VkSurfaceTransformFlagBitsKHR preTransform;
5819 VkCompositeAlphaFlagBitsKHR compositeAlpha;
5820 VkPresentModeKHR presentMode;
5822 VkSwapchainKHR oldSwapchain;
5823 } VkSwapchainCreateInfoKHR;
5825 typedef struct VkPresentInfoKHR {
5826 VkStructureType sType;
5828 deUint32 waitSemaphoreCount;
5829 const VkSemaphore* pWaitSemaphores;
5830 deUint32 swapchainCount;
5831 const VkSwapchainKHR* pSwapchains;
5832 const deUint32* pImageIndices;
5836 typedef struct VkImageSwapchainCreateInfoKHR {
5837 VkStructureType sType;
5839 VkSwapchainKHR swapchain;
5840 } VkImageSwapchainCreateInfoKHR;
5842 typedef struct VkBindImageMemorySwapchainInfoKHR {
5843 VkStructureType sType;
5845 VkSwapchainKHR swapchain;
5846 deUint32 imageIndex;
5847 } VkBindImageMemorySwapchainInfoKHR;
5849 typedef struct VkAcquireNextImageInfoKHR {
5850 VkStructureType sType;
5852 VkSwapchainKHR swapchain;
5854 VkSemaphore semaphore;
5856 deUint32 deviceMask;
5857 } VkAcquireNextImageInfoKHR;
5859 typedef struct VkDeviceGroupPresentCapabilitiesKHR {
5860 VkStructureType sType;
5862 deUint32 presentMask[VK_MAX_DEVICE_GROUP_SIZE];
5863 VkDeviceGroupPresentModeFlagsKHR modes;
5864 } VkDeviceGroupPresentCapabilitiesKHR;
5866 typedef struct VkDeviceGroupPresentInfoKHR {
5867 VkStructureType sType;
5869 deUint32 swapchainCount;
5870 const deUint32* pDeviceMasks;
5871 VkDeviceGroupPresentModeFlagBitsKHR mode;
5872 } VkDeviceGroupPresentInfoKHR;
5874 typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
5875 VkStructureType sType;
5877 VkDeviceGroupPresentModeFlagsKHR modes;
5878 } VkDeviceGroupSwapchainCreateInfoKHR;
5880 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
5881 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
5882 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages);
5883 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* pImageIndex);
5884 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
5885 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
5886 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
5887 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pRectCount, VkRect2D* pRects);
5888 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, deUint32* pImageIndex);
5890 #ifndef VK_NO_PROTOTYPES
5891 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
5893 const VkSwapchainCreateInfoKHR* pCreateInfo,
5894 const VkAllocationCallbacks* pAllocator,
5895 VkSwapchainKHR* pSwapchain);
5897 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
5899 VkSwapchainKHR swapchain,
5900 const VkAllocationCallbacks* pAllocator);
5902 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
5904 VkSwapchainKHR swapchain,
5905 deUint32* pSwapchainImageCount,
5906 VkImage* pSwapchainImages);
5908 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
5910 VkSwapchainKHR swapchain,
5912 VkSemaphore semaphore,
5914 deUint32* pImageIndex);
5916 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
5918 const VkPresentInfoKHR* pPresentInfo);
5920 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(
5922 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
5924 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(
5926 VkSurfaceKHR surface,
5927 VkDeviceGroupPresentModeFlagsKHR* pModes);
5929 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(
5930 VkPhysicalDevice physicalDevice,
5931 VkSurfaceKHR surface,
5932 deUint32* pRectCount,
5935 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(
5937 const VkAcquireNextImageInfoKHR* pAcquireInfo,
5938 deUint32* pImageIndex);
5942 #define VK_KHR_display 1
5943 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
5944 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
5945 #define VK_KHR_DISPLAY_SPEC_VERSION 23
5946 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
5948 typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
5949 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
5950 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,
5951 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,
5952 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
5953 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5954 } VkDisplayPlaneAlphaFlagBitsKHR;
5955 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
5956 typedef VkFlags VkDisplayModeCreateFlagsKHR;
5957 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
5958 typedef struct VkDisplayPropertiesKHR {
5959 VkDisplayKHR display;
5960 const char* displayName;
5961 VkExtent2D physicalDimensions;
5962 VkExtent2D physicalResolution;
5963 VkSurfaceTransformFlagsKHR supportedTransforms;
5964 VkBool32 planeReorderPossible;
5965 VkBool32 persistentContent;
5966 } VkDisplayPropertiesKHR;
5968 typedef struct VkDisplayModeParametersKHR {
5969 VkExtent2D visibleRegion;
5970 deUint32 refreshRate;
5971 } VkDisplayModeParametersKHR;
5973 typedef struct VkDisplayModePropertiesKHR {
5974 VkDisplayModeKHR displayMode;
5975 VkDisplayModeParametersKHR parameters;
5976 } VkDisplayModePropertiesKHR;
5978 typedef struct VkDisplayModeCreateInfoKHR {
5979 VkStructureType sType;
5981 VkDisplayModeCreateFlagsKHR flags;
5982 VkDisplayModeParametersKHR parameters;
5983 } VkDisplayModeCreateInfoKHR;
5985 typedef struct VkDisplayPlaneCapabilitiesKHR {
5986 VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
5987 VkOffset2D minSrcPosition;
5988 VkOffset2D maxSrcPosition;
5989 VkExtent2D minSrcExtent;
5990 VkExtent2D maxSrcExtent;
5991 VkOffset2D minDstPosition;
5992 VkOffset2D maxDstPosition;
5993 VkExtent2D minDstExtent;
5994 VkExtent2D maxDstExtent;
5995 } VkDisplayPlaneCapabilitiesKHR;
5997 typedef struct VkDisplayPlanePropertiesKHR {
5998 VkDisplayKHR currentDisplay;
5999 deUint32 currentStackIndex;
6000 } VkDisplayPlanePropertiesKHR;
6002 typedef struct VkDisplaySurfaceCreateInfoKHR {
6003 VkStructureType sType;
6005 VkDisplaySurfaceCreateFlagsKHR flags;
6006 VkDisplayModeKHR displayMode;
6007 deUint32 planeIndex;
6008 deUint32 planeStackIndex;
6009 VkSurfaceTransformFlagBitsKHR transform;
6011 VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
6012 VkExtent2D imageExtent;
6013 } VkDisplaySurfaceCreateInfoKHR;
6015 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
6016 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
6017 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, deUint32 planeIndex, deUint32* pDisplayCount, VkDisplayKHR* pDisplays);
6018 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
6019 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
6020 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, deUint32 planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
6021 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
6023 #ifndef VK_NO_PROTOTYPES
6024 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(
6025 VkPhysicalDevice physicalDevice,
6026 deUint32* pPropertyCount,
6027 VkDisplayPropertiesKHR* pProperties);
6029 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
6030 VkPhysicalDevice physicalDevice,
6031 deUint32* pPropertyCount,
6032 VkDisplayPlanePropertiesKHR* pProperties);
6034 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(
6035 VkPhysicalDevice physicalDevice,
6036 deUint32 planeIndex,
6037 deUint32* pDisplayCount,
6038 VkDisplayKHR* pDisplays);
6040 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(
6041 VkPhysicalDevice physicalDevice,
6042 VkDisplayKHR display,
6043 deUint32* pPropertyCount,
6044 VkDisplayModePropertiesKHR* pProperties);
6046 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(
6047 VkPhysicalDevice physicalDevice,
6048 VkDisplayKHR display,
6049 const VkDisplayModeCreateInfoKHR* pCreateInfo,
6050 const VkAllocationCallbacks* pAllocator,
6051 VkDisplayModeKHR* pMode);
6053 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(
6054 VkPhysicalDevice physicalDevice,
6055 VkDisplayModeKHR mode,
6056 deUint32 planeIndex,
6057 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
6059 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
6060 VkInstance instance,
6061 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
6062 const VkAllocationCallbacks* pAllocator,
6063 VkSurfaceKHR* pSurface);
6067 #define VK_KHR_display_swapchain 1
6068 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10
6069 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
6070 typedef struct VkDisplayPresentInfoKHR {
6071 VkStructureType sType;
6075 VkBool32 persistent;
6076 } VkDisplayPresentInfoKHR;
6078 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
6080 #ifndef VK_NO_PROTOTYPES
6081 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
6083 deUint32 swapchainCount,
6084 const VkSwapchainCreateInfoKHR* pCreateInfos,
6085 const VkAllocationCallbacks* pAllocator,
6086 VkSwapchainKHR* pSwapchains);
6090 #define VK_KHR_sampler_mirror_clamp_to_edge 1
6091 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3
6092 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
6095 #define VK_KHR_multiview 1
6096 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1
6097 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
6098 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
6100 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
6102 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
6106 #define VK_KHR_get_physical_device_properties2 1
6107 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2
6108 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
6109 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
6111 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
6113 typedef VkFormatProperties2 VkFormatProperties2KHR;
6115 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
6117 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
6119 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
6121 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
6123 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
6125 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
6127 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
6128 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
6129 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
6130 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
6131 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
6132 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6133 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
6135 #ifndef VK_NO_PROTOTYPES
6136 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(
6137 VkPhysicalDevice physicalDevice,
6138 VkPhysicalDeviceFeatures2* pFeatures);
6140 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(
6141 VkPhysicalDevice physicalDevice,
6142 VkPhysicalDeviceProperties2* pProperties);
6144 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(
6145 VkPhysicalDevice physicalDevice,
6147 VkFormatProperties2* pFormatProperties);
6149 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(
6150 VkPhysicalDevice physicalDevice,
6151 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
6152 VkImageFormatProperties2* pImageFormatProperties);
6154 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(
6155 VkPhysicalDevice physicalDevice,
6156 deUint32* pQueueFamilyPropertyCount,
6157 VkQueueFamilyProperties2* pQueueFamilyProperties);
6159 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(
6160 VkPhysicalDevice physicalDevice,
6161 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6163 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
6164 VkPhysicalDevice physicalDevice,
6165 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
6166 deUint32* pPropertyCount,
6167 VkSparseImageFormatProperties2* pProperties);
6171 #define VK_KHR_device_group 1
6172 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
6173 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
6174 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
6176 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR;
6178 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
6180 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR;
6182 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
6184 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
6186 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
6188 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
6190 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
6192 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
6194 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
6196 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6197 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
6198 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
6200 #ifndef VK_NO_PROTOTYPES
6201 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(
6204 deUint32 localDeviceIndex,
6205 deUint32 remoteDeviceIndex,
6206 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6208 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(
6209 VkCommandBuffer commandBuffer,
6210 deUint32 deviceMask);
6212 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
6213 VkCommandBuffer commandBuffer,
6214 deUint32 baseGroupX,
6215 deUint32 baseGroupY,
6216 deUint32 baseGroupZ,
6217 deUint32 groupCountX,
6218 deUint32 groupCountY,
6219 deUint32 groupCountZ);
6223 #define VK_KHR_shader_draw_parameters 1
6224 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
6225 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
6228 #define VK_KHR_maintenance1 1
6229 #define VK_KHR_MAINTENANCE1_SPEC_VERSION 2
6230 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1"
6231 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
6233 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
6235 #ifndef VK_NO_PROTOTYPES
6236 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(
6238 VkCommandPool commandPool,
6239 VkCommandPoolTrimFlags flags);
6243 #define VK_KHR_device_group_creation 1
6244 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
6245 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
6246 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
6247 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
6249 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
6251 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6253 #ifndef VK_NO_PROTOTYPES
6254 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(
6255 VkInstance instance,
6256 deUint32* pPhysicalDeviceGroupCount,
6257 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6261 #define VK_KHR_external_memory_capabilities 1
6262 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
6263 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
6264 #define VK_LUID_SIZE_KHR VK_LUID_SIZE
6265 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;
6267 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR;
6269 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;
6271 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR;
6273 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
6275 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
6277 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
6279 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
6281 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
6283 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
6285 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
6287 #ifndef VK_NO_PROTOTYPES
6288 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(
6289 VkPhysicalDevice physicalDevice,
6290 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
6291 VkExternalBufferProperties* pExternalBufferProperties);
6295 #define VK_KHR_external_memory 1
6296 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
6297 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
6298 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
6299 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
6301 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
6303 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
6307 #define VK_KHR_external_memory_fd 1
6308 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
6309 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
6310 typedef struct VkImportMemoryFdInfoKHR {
6311 VkStructureType sType;
6313 VkExternalMemoryHandleTypeFlagBits handleType;
6315 } VkImportMemoryFdInfoKHR;
6317 typedef struct VkMemoryFdPropertiesKHR {
6318 VkStructureType sType;
6320 deUint32 memoryTypeBits;
6321 } VkMemoryFdPropertiesKHR;
6323 typedef struct VkMemoryGetFdInfoKHR {
6324 VkStructureType sType;
6326 VkDeviceMemory memory;
6327 VkExternalMemoryHandleTypeFlagBits handleType;
6328 } VkMemoryGetFdInfoKHR;
6330 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
6331 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
6333 #ifndef VK_NO_PROTOTYPES
6334 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(
6336 const VkMemoryGetFdInfoKHR* pGetFdInfo,
6339 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(
6341 VkExternalMemoryHandleTypeFlagBits handleType,
6343 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
6347 #define VK_KHR_external_semaphore_capabilities 1
6348 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
6349 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
6350 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;
6352 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR;
6354 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;
6356 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR;
6358 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
6360 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
6362 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6364 #ifndef VK_NO_PROTOTYPES
6365 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
6366 VkPhysicalDevice physicalDevice,
6367 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
6368 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6372 #define VK_KHR_external_semaphore 1
6373 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
6374 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
6375 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;
6377 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR;
6379 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
6383 #define VK_KHR_external_semaphore_fd 1
6384 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
6385 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
6386 typedef struct VkImportSemaphoreFdInfoKHR {
6387 VkStructureType sType;
6389 VkSemaphore semaphore;
6390 VkSemaphoreImportFlags flags;
6391 VkExternalSemaphoreHandleTypeFlagBits handleType;
6393 } VkImportSemaphoreFdInfoKHR;
6395 typedef struct VkSemaphoreGetFdInfoKHR {
6396 VkStructureType sType;
6398 VkSemaphore semaphore;
6399 VkExternalSemaphoreHandleTypeFlagBits handleType;
6400 } VkSemaphoreGetFdInfoKHR;
6402 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
6403 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
6405 #ifndef VK_NO_PROTOTYPES
6406 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(
6408 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
6410 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(
6412 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
6417 #define VK_KHR_push_descriptor 1
6418 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
6419 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
6420 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
6421 VkStructureType sType;
6423 deUint32 maxPushDescriptors;
6424 } VkPhysicalDevicePushDescriptorPropertiesKHR;
6426 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
6427 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData);
6429 #ifndef VK_NO_PROTOTYPES
6430 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
6431 VkCommandBuffer commandBuffer,
6432 VkPipelineBindPoint pipelineBindPoint,
6433 VkPipelineLayout layout,
6435 deUint32 descriptorWriteCount,
6436 const VkWriteDescriptorSet* pDescriptorWrites);
6438 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
6439 VkCommandBuffer commandBuffer,
6440 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6441 VkPipelineLayout layout,
6447 #define VK_KHR_shader_float16_int8 1
6448 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
6449 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
6450 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR;
6452 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR;
6456 #define VK_KHR_16bit_storage 1
6457 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
6458 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
6459 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
6463 #define VK_KHR_incremental_present 1
6464 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 1
6465 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
6466 typedef struct VkRectLayerKHR {
6472 typedef struct VkPresentRegionKHR {
6473 deUint32 rectangleCount;
6474 const VkRectLayerKHR* pRectangles;
6475 } VkPresentRegionKHR;
6477 typedef struct VkPresentRegionsKHR {
6478 VkStructureType sType;
6480 deUint32 swapchainCount;
6481 const VkPresentRegionKHR* pRegions;
6482 } VkPresentRegionsKHR;
6486 #define VK_KHR_descriptor_update_template 1
6487 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
6489 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
6490 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
6491 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR;
6493 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
6495 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
6497 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
6499 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6500 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
6501 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
6503 #ifndef VK_NO_PROTOTYPES
6504 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(
6506 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
6507 const VkAllocationCallbacks* pAllocator,
6508 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6510 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(
6512 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6513 const VkAllocationCallbacks* pAllocator);
6515 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(
6517 VkDescriptorSet descriptorSet,
6518 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6523 #define VK_KHR_imageless_framebuffer 1
6524 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
6525 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
6526 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
6528 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR;
6530 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR;
6532 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR;
6536 #define VK_KHR_create_renderpass2 1
6537 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
6538 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
6539 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;
6541 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR;
6543 typedef VkAttachmentReference2 VkAttachmentReference2KHR;
6545 typedef VkSubpassDescription2 VkSubpassDescription2KHR;
6547 typedef VkSubpassDependency2 VkSubpassDependency2KHR;
6549 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR;
6551 typedef VkSubpassEndInfo VkSubpassEndInfoKHR;
6553 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
6554 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
6555 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
6556 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
6558 #ifndef VK_NO_PROTOTYPES
6559 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR(
6561 const VkRenderPassCreateInfo2* pCreateInfo,
6562 const VkAllocationCallbacks* pAllocator,
6563 VkRenderPass* pRenderPass);
6565 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR(
6566 VkCommandBuffer commandBuffer,
6567 const VkRenderPassBeginInfo* pRenderPassBegin,
6568 const VkSubpassBeginInfo* pSubpassBeginInfo);
6570 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR(
6571 VkCommandBuffer commandBuffer,
6572 const VkSubpassBeginInfo* pSubpassBeginInfo,
6573 const VkSubpassEndInfo* pSubpassEndInfo);
6575 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR(
6576 VkCommandBuffer commandBuffer,
6577 const VkSubpassEndInfo* pSubpassEndInfo);
6581 #define VK_KHR_shared_presentable_image 1
6582 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
6583 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
6584 typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
6585 VkStructureType sType;
6587 VkImageUsageFlags sharedPresentSupportedUsageFlags;
6588 } VkSharedPresentSurfaceCapabilitiesKHR;
6590 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);
6592 #ifndef VK_NO_PROTOTYPES
6593 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
6595 VkSwapchainKHR swapchain);
6599 #define VK_KHR_external_fence_capabilities 1
6600 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
6601 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
6602 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;
6604 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR;
6606 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;
6608 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR;
6610 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
6612 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
6614 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
6616 #ifndef VK_NO_PROTOTYPES
6617 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(
6618 VkPhysicalDevice physicalDevice,
6619 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
6620 VkExternalFenceProperties* pExternalFenceProperties);
6624 #define VK_KHR_external_fence 1
6625 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
6626 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
6627 typedef VkFenceImportFlags VkFenceImportFlagsKHR;
6629 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR;
6631 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
6635 #define VK_KHR_external_fence_fd 1
6636 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
6637 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
6638 typedef struct VkImportFenceFdInfoKHR {
6639 VkStructureType sType;
6642 VkFenceImportFlags flags;
6643 VkExternalFenceHandleTypeFlagBits handleType;
6645 } VkImportFenceFdInfoKHR;
6647 typedef struct VkFenceGetFdInfoKHR {
6648 VkStructureType sType;
6651 VkExternalFenceHandleTypeFlagBits handleType;
6652 } VkFenceGetFdInfoKHR;
6654 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
6655 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
6657 #ifndef VK_NO_PROTOTYPES
6658 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(
6660 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
6662 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(
6664 const VkFenceGetFdInfoKHR* pGetFdInfo,
6669 #define VK_KHR_performance_query 1
6670 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
6671 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
6673 typedef enum VkPerformanceCounterUnitKHR {
6674 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0,
6675 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1,
6676 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2,
6677 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3,
6678 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4,
6679 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5,
6680 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6,
6681 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7,
6682 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,
6683 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,
6684 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10,
6685 VK_PERFORMANCE_COUNTER_UNIT_BEGIN_RANGE_KHR = VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR,
6686 VK_PERFORMANCE_COUNTER_UNIT_END_RANGE_KHR = VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR,
6687 VK_PERFORMANCE_COUNTER_UNIT_RANGE_SIZE_KHR = (VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR - VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR + 1),
6688 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF
6689 } VkPerformanceCounterUnitKHR;
6691 typedef enum VkPerformanceCounterScopeKHR {
6692 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0,
6693 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1,
6694 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2,
6695 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
6696 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
6697 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
6698 VK_PERFORMANCE_COUNTER_SCOPE_BEGIN_RANGE_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
6699 VK_PERFORMANCE_COUNTER_SCOPE_END_RANGE_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
6700 VK_PERFORMANCE_COUNTER_SCOPE_RANGE_SIZE_KHR = (VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR - VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR + 1),
6701 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
6702 } VkPerformanceCounterScopeKHR;
6704 typedef enum VkPerformanceCounterStorageKHR {
6705 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0,
6706 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1,
6707 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2,
6708 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,
6709 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,
6710 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5,
6711 VK_PERFORMANCE_COUNTER_STORAGE_BEGIN_RANGE_KHR = VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR,
6712 VK_PERFORMANCE_COUNTER_STORAGE_END_RANGE_KHR = VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR,
6713 VK_PERFORMANCE_COUNTER_STORAGE_RANGE_SIZE_KHR = (VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR - VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR + 1),
6714 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF
6715 } VkPerformanceCounterStorageKHR;
6717 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR {
6718 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = 0x00000001,
6719 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = 0x00000002,
6720 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6721 } VkPerformanceCounterDescriptionFlagBitsKHR;
6722 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR;
6724 typedef enum VkAcquireProfilingLockFlagBitsKHR {
6725 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6726 } VkAcquireProfilingLockFlagBitsKHR;
6727 typedef VkFlags VkAcquireProfilingLockFlagsKHR;
6728 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
6729 VkStructureType sType;
6731 VkBool32 performanceCounterQueryPools;
6732 VkBool32 performanceCounterMultipleQueryPools;
6733 } VkPhysicalDevicePerformanceQueryFeaturesKHR;
6735 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
6736 VkStructureType sType;
6738 VkBool32 allowCommandBufferQueryCopies;
6739 } VkPhysicalDevicePerformanceQueryPropertiesKHR;
6741 typedef struct VkPerformanceCounterKHR {
6742 VkStructureType sType;
6744 VkPerformanceCounterUnitKHR unit;
6745 VkPerformanceCounterScopeKHR scope;
6746 VkPerformanceCounterStorageKHR storage;
6747 deUint8 uuid[VK_UUID_SIZE];
6748 } VkPerformanceCounterKHR;
6750 typedef struct VkPerformanceCounterDescriptionKHR {
6751 VkStructureType sType;
6753 VkPerformanceCounterDescriptionFlagsKHR flags;
6754 char name[VK_MAX_DESCRIPTION_SIZE];
6755 char category[VK_MAX_DESCRIPTION_SIZE];
6756 char description[VK_MAX_DESCRIPTION_SIZE];
6757 } VkPerformanceCounterDescriptionKHR;
6759 typedef struct VkQueryPoolPerformanceCreateInfoKHR {
6760 VkStructureType sType;
6762 deUint32 queueFamilyIndex;
6763 deUint32 counterIndexCount;
6764 const deUint32* pCounterIndices;
6765 } VkQueryPoolPerformanceCreateInfoKHR;
6767 typedef union VkPerformanceCounterResultKHR {
6774 } VkPerformanceCounterResultKHR;
6776 typedef struct VkAcquireProfilingLockInfoKHR {
6777 VkStructureType sType;
6779 VkAcquireProfilingLockFlagsKHR flags;
6781 } VkAcquireProfilingLockInfoKHR;
6783 typedef struct VkPerformanceQuerySubmitInfoKHR {
6784 VkStructureType sType;
6786 deUint32 counterPassIndex;
6787 } VkPerformanceQuerySubmitInfoKHR;
6789 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, deUint32* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
6790 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, deUint32* pNumPasses);
6791 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
6792 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device);
6794 #ifndef VK_NO_PROTOTYPES
6795 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
6796 VkPhysicalDevice physicalDevice,
6797 deUint32 queueFamilyIndex,
6798 deUint32* pCounterCount,
6799 VkPerformanceCounterKHR* pCounters,
6800 VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
6802 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
6803 VkPhysicalDevice physicalDevice,
6804 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo,
6805 deUint32* pNumPasses);
6807 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR(
6809 const VkAcquireProfilingLockInfoKHR* pInfo);
6811 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR(
6816 #define VK_KHR_maintenance2 1
6817 #define VK_KHR_MAINTENANCE2_SPEC_VERSION 1
6818 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"
6819 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
6821 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
6823 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
6825 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
6827 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
6829 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
6831 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
6835 #define VK_KHR_get_surface_capabilities2 1
6836 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
6837 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
6838 typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
6839 VkStructureType sType;
6841 VkSurfaceKHR surface;
6842 } VkPhysicalDeviceSurfaceInfo2KHR;
6844 typedef struct VkSurfaceCapabilities2KHR {
6845 VkStructureType sType;
6847 VkSurfaceCapabilitiesKHR surfaceCapabilities;
6848 } VkSurfaceCapabilities2KHR;
6850 typedef struct VkSurfaceFormat2KHR {
6851 VkStructureType sType;
6853 VkSurfaceFormatKHR surfaceFormat;
6854 } VkSurfaceFormat2KHR;
6856 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
6857 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, deUint32* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
6859 #ifndef VK_NO_PROTOTYPES
6860 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(
6861 VkPhysicalDevice physicalDevice,
6862 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
6863 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
6865 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(
6866 VkPhysicalDevice physicalDevice,
6867 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
6868 deUint32* pSurfaceFormatCount,
6869 VkSurfaceFormat2KHR* pSurfaceFormats);
6873 #define VK_KHR_variable_pointers 1
6874 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
6875 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
6876 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;
6878 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR;
6882 #define VK_KHR_get_display_properties2 1
6883 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1
6884 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
6885 typedef struct VkDisplayProperties2KHR {
6886 VkStructureType sType;
6888 VkDisplayPropertiesKHR displayProperties;
6889 } VkDisplayProperties2KHR;
6891 typedef struct VkDisplayPlaneProperties2KHR {
6892 VkStructureType sType;
6894 VkDisplayPlanePropertiesKHR displayPlaneProperties;
6895 } VkDisplayPlaneProperties2KHR;
6897 typedef struct VkDisplayModeProperties2KHR {
6898 VkStructureType sType;
6900 VkDisplayModePropertiesKHR displayModeProperties;
6901 } VkDisplayModeProperties2KHR;
6903 typedef struct VkDisplayPlaneInfo2KHR {
6904 VkStructureType sType;
6906 VkDisplayModeKHR mode;
6907 deUint32 planeIndex;
6908 } VkDisplayPlaneInfo2KHR;
6910 typedef struct VkDisplayPlaneCapabilities2KHR {
6911 VkStructureType sType;
6913 VkDisplayPlaneCapabilitiesKHR capabilities;
6914 } VkDisplayPlaneCapabilities2KHR;
6916 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayProperties2KHR* pProperties);
6917 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
6918 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
6919 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
6921 #ifndef VK_NO_PROTOTYPES
6922 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR(
6923 VkPhysicalDevice physicalDevice,
6924 deUint32* pPropertyCount,
6925 VkDisplayProperties2KHR* pProperties);
6927 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
6928 VkPhysicalDevice physicalDevice,
6929 deUint32* pPropertyCount,
6930 VkDisplayPlaneProperties2KHR* pProperties);
6932 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR(
6933 VkPhysicalDevice physicalDevice,
6934 VkDisplayKHR display,
6935 deUint32* pPropertyCount,
6936 VkDisplayModeProperties2KHR* pProperties);
6938 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR(
6939 VkPhysicalDevice physicalDevice,
6940 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
6941 VkDisplayPlaneCapabilities2KHR* pCapabilities);
6945 #define VK_KHR_dedicated_allocation 1
6946 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
6947 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
6948 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
6950 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
6954 #define VK_KHR_storage_buffer_storage_class 1
6955 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
6956 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
6959 #define VK_KHR_relaxed_block_layout 1
6960 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
6961 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
6964 #define VK_KHR_get_memory_requirements2 1
6965 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
6966 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
6967 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
6969 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
6971 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
6973 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
6975 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
6976 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
6977 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6979 #ifndef VK_NO_PROTOTYPES
6980 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(
6982 const VkImageMemoryRequirementsInfo2* pInfo,
6983 VkMemoryRequirements2* pMemoryRequirements);
6985 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(
6987 const VkBufferMemoryRequirementsInfo2* pInfo,
6988 VkMemoryRequirements2* pMemoryRequirements);
6990 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(
6992 const VkImageSparseMemoryRequirementsInfo2* pInfo,
6993 deUint32* pSparseMemoryRequirementCount,
6994 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6998 #define VK_KHR_image_format_list 1
6999 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
7000 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
7001 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR;
7005 #define VK_KHR_sampler_ycbcr_conversion 1
7006 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
7008 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14
7009 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
7010 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;
7012 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR;
7014 typedef VkChromaLocation VkChromaLocationKHR;
7016 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
7018 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
7020 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
7022 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
7024 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
7026 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
7028 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
7029 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
7031 #ifndef VK_NO_PROTOTYPES
7032 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(
7034 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
7035 const VkAllocationCallbacks* pAllocator,
7036 VkSamplerYcbcrConversion* pYcbcrConversion);
7038 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(
7040 VkSamplerYcbcrConversion ycbcrConversion,
7041 const VkAllocationCallbacks* pAllocator);
7045 #define VK_KHR_bind_memory2 1
7046 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
7047 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
7048 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
7050 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
7052 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
7053 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
7055 #ifndef VK_NO_PROTOTYPES
7056 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(
7058 deUint32 bindInfoCount,
7059 const VkBindBufferMemoryInfo* pBindInfos);
7061 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
7063 deUint32 bindInfoCount,
7064 const VkBindImageMemoryInfo* pBindInfos);
7068 #define VK_KHR_maintenance3 1
7069 #define VK_KHR_MAINTENANCE3_SPEC_VERSION 1
7070 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3"
7071 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
7073 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
7075 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
7077 #ifndef VK_NO_PROTOTYPES
7078 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(
7080 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
7081 VkDescriptorSetLayoutSupport* pSupport);
7085 #define VK_KHR_draw_indirect_count 1
7086 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
7087 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
7088 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
7089 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
7091 #ifndef VK_NO_PROTOTYPES
7092 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR(
7093 VkCommandBuffer commandBuffer,
7095 VkDeviceSize offset,
7096 VkBuffer countBuffer,
7097 VkDeviceSize countBufferOffset,
7098 deUint32 maxDrawCount,
7101 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(
7102 VkCommandBuffer commandBuffer,
7104 VkDeviceSize offset,
7105 VkBuffer countBuffer,
7106 VkDeviceSize countBufferOffset,
7107 deUint32 maxDrawCount,
7112 #define VK_KHR_shader_subgroup_extended_types 1
7113 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1
7114 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types"
7115 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;
7119 #define VK_KHR_8bit_storage 1
7120 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
7121 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
7122 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;
7126 #define VK_KHR_shader_atomic_int64 1
7127 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
7128 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
7129 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
7133 #define VK_KHR_shader_clock 1
7134 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1
7135 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
7136 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
7137 VkStructureType sType;
7139 VkBool32 shaderSubgroupClock;
7140 VkBool32 shaderDeviceClock;
7141 } VkPhysicalDeviceShaderClockFeaturesKHR;
7145 #define VK_KHR_driver_properties 1
7146 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
7147 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
7148 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE
7149 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE
7150 typedef VkDriverId VkDriverIdKHR;
7152 typedef VkConformanceVersion VkConformanceVersionKHR;
7154 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR;
7158 #define VK_KHR_shader_float_controls 1
7159 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4
7160 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
7161 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR;
7163 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR;
7167 #define VK_KHR_depth_stencil_resolve 1
7168 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
7169 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
7170 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR;
7172 typedef VkResolveModeFlags VkResolveModeFlagsKHR;
7174 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR;
7176 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
7180 #define VK_KHR_swapchain_mutable_format 1
7181 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
7182 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
7185 #define VK_KHR_timeline_semaphore 1
7186 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2
7187 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"
7188 typedef VkSemaphoreType VkSemaphoreTypeKHR;
7190 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR;
7192 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR;
7194 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;
7196 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR;
7198 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;
7200 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;
7202 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR;
7204 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;
7206 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
7207 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
7208 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
7210 #ifndef VK_NO_PROTOTYPES
7211 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR(
7213 VkSemaphore semaphore,
7216 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR(
7218 const VkSemaphoreWaitInfo* pWaitInfo,
7221 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR(
7223 const VkSemaphoreSignalInfo* pSignalInfo);
7227 #define VK_KHR_vulkan_memory_model 1
7228 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
7229 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
7230 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
7234 #define VK_KHR_spirv_1_4 1
7235 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1
7236 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4"
7239 #define VK_KHR_surface_protected_capabilities 1
7240 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1
7241 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities"
7242 typedef struct VkSurfaceProtectedCapabilitiesKHR {
7243 VkStructureType sType;
7245 VkBool32 supportsProtected;
7246 } VkSurfaceProtectedCapabilitiesKHR;
7250 #define VK_KHR_separate_depth_stencil_layouts 1
7251 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1
7252 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts"
7253 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;
7255 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR;
7257 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR;
7261 #define VK_KHR_uniform_buffer_standard_layout 1
7262 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1
7263 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
7264 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
7268 #define VK_KHR_buffer_device_address 1
7269 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1
7270 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address"
7271 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;
7273 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR;
7275 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR;
7277 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;
7279 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;
7281 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
7282 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
7283 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
7285 #ifndef VK_NO_PROTOTYPES
7286 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR(
7288 const VkBufferDeviceAddressInfo* pInfo);
7290 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR(
7292 const VkBufferDeviceAddressInfo* pInfo);
7294 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR(
7296 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
7300 #define VK_KHR_pipeline_executable_properties 1
7301 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1
7302 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
7304 typedef enum VkPipelineExecutableStatisticFormatKHR {
7305 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0,
7306 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1,
7307 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2,
7308 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3,
7309 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BEGIN_RANGE_KHR = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR,
7310 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_END_RANGE_KHR = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR,
7311 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_RANGE_SIZE_KHR = (VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR - VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR + 1),
7312 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF
7313 } VkPipelineExecutableStatisticFormatKHR;
7314 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
7315 VkStructureType sType;
7317 VkBool32 pipelineExecutableInfo;
7318 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
7320 typedef struct VkPipelineInfoKHR {
7321 VkStructureType sType;
7323 VkPipeline pipeline;
7324 } VkPipelineInfoKHR;
7326 typedef struct VkPipelineExecutablePropertiesKHR {
7327 VkStructureType sType;
7329 VkShaderStageFlags stages;
7330 char name[VK_MAX_DESCRIPTION_SIZE];
7331 char description[VK_MAX_DESCRIPTION_SIZE];
7332 deUint32 subgroupSize;
7333 } VkPipelineExecutablePropertiesKHR;
7335 typedef struct VkPipelineExecutableInfoKHR {
7336 VkStructureType sType;
7338 VkPipeline pipeline;
7339 deUint32 executableIndex;
7340 } VkPipelineExecutableInfoKHR;
7342 typedef union VkPipelineExecutableStatisticValueKHR {
7347 } VkPipelineExecutableStatisticValueKHR;
7349 typedef struct VkPipelineExecutableStatisticKHR {
7350 VkStructureType sType;
7352 char name[VK_MAX_DESCRIPTION_SIZE];
7353 char description[VK_MAX_DESCRIPTION_SIZE];
7354 VkPipelineExecutableStatisticFormatKHR format;
7355 VkPipelineExecutableStatisticValueKHR value;
7356 } VkPipelineExecutableStatisticKHR;
7358 typedef struct VkPipelineExecutableInternalRepresentationKHR {
7359 VkStructureType sType;
7361 char name[VK_MAX_DESCRIPTION_SIZE];
7362 char description[VK_MAX_DESCRIPTION_SIZE];
7366 } VkPipelineExecutableInternalRepresentationKHR;
7368 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, deUint32* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
7369 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
7370 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
7372 #ifndef VK_NO_PROTOTYPES
7373 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR(
7375 const VkPipelineInfoKHR* pPipelineInfo,
7376 deUint32* pExecutableCount,
7377 VkPipelineExecutablePropertiesKHR* pProperties);
7379 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR(
7381 const VkPipelineExecutableInfoKHR* pExecutableInfo,
7382 deUint32* pStatisticCount,
7383 VkPipelineExecutableStatisticKHR* pStatistics);
7385 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR(
7387 const VkPipelineExecutableInfoKHR* pExecutableInfo,
7388 deUint32* pInternalRepresentationCount,
7389 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
7393 #define VK_EXT_debug_report 1
7394 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
7395 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 9
7396 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
7398 typedef enum VkDebugReportObjectTypeEXT {
7399 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
7400 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
7401 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
7402 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
7403 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
7404 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
7405 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
7406 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
7407 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
7408 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
7409 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
7410 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
7411 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
7412 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
7413 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
7414 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
7415 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
7416 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
7417 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
7418 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
7419 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
7420 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
7421 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
7422 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
7423 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
7424 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
7425 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
7426 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
7427 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
7428 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
7429 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
7430 VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT = 31,
7431 VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT = 32,
7432 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
7433 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
7434 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
7435 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000,
7436 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
7437 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
7438 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
7439 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
7440 VK_DEBUG_REPORT_OBJECT_TYPE_BEGIN_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,
7441 VK_DEBUG_REPORT_OBJECT_TYPE_END_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
7442 VK_DEBUG_REPORT_OBJECT_TYPE_RANGE_SIZE_EXT = (VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT - VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT + 1),
7443 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
7444 } VkDebugReportObjectTypeEXT;
7446 typedef enum VkDebugReportFlagBitsEXT {
7447 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,
7448 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,
7449 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
7450 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,
7451 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,
7452 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
7453 } VkDebugReportFlagBitsEXT;
7454 typedef VkFlags VkDebugReportFlagsEXT;
7455 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
7456 VkDebugReportFlagsEXT flags,
7457 VkDebugReportObjectTypeEXT objectType,
7460 deInt32 messageCode,
7461 const char* pLayerPrefix,
7462 const char* pMessage,
7465 typedef struct VkDebugReportCallbackCreateInfoEXT {
7466 VkStructureType sType;
7468 VkDebugReportFlagsEXT flags;
7469 PFN_vkDebugReportCallbackEXT pfnCallback;
7471 } VkDebugReportCallbackCreateInfoEXT;
7473 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
7474 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
7475 typedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, deUint64 object, deUintptr location, deInt32 messageCode, const char* pLayerPrefix, const char* pMessage);
7477 #ifndef VK_NO_PROTOTYPES
7478 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(
7479 VkInstance instance,
7480 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
7481 const VkAllocationCallbacks* pAllocator,
7482 VkDebugReportCallbackEXT* pCallback);
7484 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(
7485 VkInstance instance,
7486 VkDebugReportCallbackEXT callback,
7487 const VkAllocationCallbacks* pAllocator);
7489 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(
7490 VkInstance instance,
7491 VkDebugReportFlagsEXT flags,
7492 VkDebugReportObjectTypeEXT objectType,
7495 deInt32 messageCode,
7496 const char* pLayerPrefix,
7497 const char* pMessage);
7501 #define VK_NV_glsl_shader 1
7502 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1
7503 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
7506 #define VK_EXT_depth_range_unrestricted 1
7507 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
7508 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
7511 #define VK_IMG_filter_cubic 1
7512 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
7513 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
7516 #define VK_AMD_rasterization_order 1
7517 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
7518 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
7520 typedef enum VkRasterizationOrderAMD {
7521 VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
7522 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
7523 VK_RASTERIZATION_ORDER_BEGIN_RANGE_AMD = VK_RASTERIZATION_ORDER_STRICT_AMD,
7524 VK_RASTERIZATION_ORDER_END_RANGE_AMD = VK_RASTERIZATION_ORDER_RELAXED_AMD,
7525 VK_RASTERIZATION_ORDER_RANGE_SIZE_AMD = (VK_RASTERIZATION_ORDER_RELAXED_AMD - VK_RASTERIZATION_ORDER_STRICT_AMD + 1),
7526 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
7527 } VkRasterizationOrderAMD;
7528 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
7529 VkStructureType sType;
7531 VkRasterizationOrderAMD rasterizationOrder;
7532 } VkPipelineRasterizationStateRasterizationOrderAMD;
7536 #define VK_AMD_shader_trinary_minmax 1
7537 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
7538 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
7541 #define VK_AMD_shader_explicit_vertex_parameter 1
7542 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
7543 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
7546 #define VK_EXT_debug_marker 1
7547 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
7548 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
7549 typedef struct VkDebugMarkerObjectNameInfoEXT {
7550 VkStructureType sType;
7552 VkDebugReportObjectTypeEXT objectType;
7554 const char* pObjectName;
7555 } VkDebugMarkerObjectNameInfoEXT;
7557 typedef struct VkDebugMarkerObjectTagInfoEXT {
7558 VkStructureType sType;
7560 VkDebugReportObjectTypeEXT objectType;
7565 } VkDebugMarkerObjectTagInfoEXT;
7567 typedef struct VkDebugMarkerMarkerInfoEXT {
7568 VkStructureType sType;
7570 const char* pMarkerName;
7572 } VkDebugMarkerMarkerInfoEXT;
7574 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
7575 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
7576 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
7577 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);
7578 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
7580 #ifndef VK_NO_PROTOTYPES
7581 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(
7583 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
7585 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(
7587 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
7589 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(
7590 VkCommandBuffer commandBuffer,
7591 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
7593 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(
7594 VkCommandBuffer commandBuffer);
7596 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(
7597 VkCommandBuffer commandBuffer,
7598 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
7602 #define VK_AMD_gcn_shader 1
7603 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1
7604 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
7607 #define VK_NV_dedicated_allocation 1
7608 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
7609 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
7610 typedef struct VkDedicatedAllocationImageCreateInfoNV {
7611 VkStructureType sType;
7613 VkBool32 dedicatedAllocation;
7614 } VkDedicatedAllocationImageCreateInfoNV;
7616 typedef struct VkDedicatedAllocationBufferCreateInfoNV {
7617 VkStructureType sType;
7619 VkBool32 dedicatedAllocation;
7620 } VkDedicatedAllocationBufferCreateInfoNV;
7622 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
7623 VkStructureType sType;
7627 } VkDedicatedAllocationMemoryAllocateInfoNV;
7631 #define VK_EXT_transform_feedback 1
7632 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1
7633 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
7634 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT;
7635 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
7636 VkStructureType sType;
7638 VkBool32 transformFeedback;
7639 VkBool32 geometryStreams;
7640 } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
7642 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
7643 VkStructureType sType;
7645 deUint32 maxTransformFeedbackStreams;
7646 deUint32 maxTransformFeedbackBuffers;
7647 VkDeviceSize maxTransformFeedbackBufferSize;
7648 deUint32 maxTransformFeedbackStreamDataSize;
7649 deUint32 maxTransformFeedbackBufferDataSize;
7650 deUint32 maxTransformFeedbackBufferDataStride;
7651 VkBool32 transformFeedbackQueries;
7652 VkBool32 transformFeedbackStreamsLinesTriangles;
7653 VkBool32 transformFeedbackRasterizationStreamSelect;
7654 VkBool32 transformFeedbackDraw;
7655 } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
7657 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
7658 VkStructureType sType;
7660 VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
7661 deUint32 rasterizationStream;
7662 } VkPipelineRasterizationStateStreamCreateInfoEXT;
7664 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
7665 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
7666 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
7667 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags, deUint32 index);
7668 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, deUint32 index);
7669 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, deUint32 instanceCount, deUint32 firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, deUint32 counterOffset, deUint32 vertexStride);
7671 #ifndef VK_NO_PROTOTYPES
7672 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT(
7673 VkCommandBuffer commandBuffer,
7674 deUint32 firstBinding,
7675 deUint32 bindingCount,
7676 const VkBuffer* pBuffers,
7677 const VkDeviceSize* pOffsets,
7678 const VkDeviceSize* pSizes);
7680 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT(
7681 VkCommandBuffer commandBuffer,
7682 deUint32 firstCounterBuffer,
7683 deUint32 counterBufferCount,
7684 const VkBuffer* pCounterBuffers,
7685 const VkDeviceSize* pCounterBufferOffsets);
7687 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT(
7688 VkCommandBuffer commandBuffer,
7689 deUint32 firstCounterBuffer,
7690 deUint32 counterBufferCount,
7691 const VkBuffer* pCounterBuffers,
7692 const VkDeviceSize* pCounterBufferOffsets);
7694 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT(
7695 VkCommandBuffer commandBuffer,
7696 VkQueryPool queryPool,
7698 VkQueryControlFlags flags,
7701 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT(
7702 VkCommandBuffer commandBuffer,
7703 VkQueryPool queryPool,
7707 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(
7708 VkCommandBuffer commandBuffer,
7709 deUint32 instanceCount,
7710 deUint32 firstInstance,
7711 VkBuffer counterBuffer,
7712 VkDeviceSize counterBufferOffset,
7713 deUint32 counterOffset,
7714 deUint32 vertexStride);
7718 #define VK_NVX_image_view_handle 1
7719 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 1
7720 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
7721 typedef struct VkImageViewHandleInfoNVX {
7722 VkStructureType sType;
7724 VkImageView imageView;
7725 VkDescriptorType descriptorType;
7727 } VkImageViewHandleInfoNVX;
7729 typedef deUint32 (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
7731 #ifndef VK_NO_PROTOTYPES
7732 VKAPI_ATTR deUint32 VKAPI_CALL vkGetImageViewHandleNVX(
7734 const VkImageViewHandleInfoNVX* pInfo);
7738 #define VK_AMD_draw_indirect_count 1
7739 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2
7740 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
7741 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
7742 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
7744 #ifndef VK_NO_PROTOTYPES
7745 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(
7746 VkCommandBuffer commandBuffer,
7748 VkDeviceSize offset,
7749 VkBuffer countBuffer,
7750 VkDeviceSize countBufferOffset,
7751 deUint32 maxDrawCount,
7754 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(
7755 VkCommandBuffer commandBuffer,
7757 VkDeviceSize offset,
7758 VkBuffer countBuffer,
7759 VkDeviceSize countBufferOffset,
7760 deUint32 maxDrawCount,
7765 #define VK_AMD_negative_viewport_height 1
7766 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
7767 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
7770 #define VK_AMD_gpu_shader_half_float 1
7771 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2
7772 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
7775 #define VK_AMD_shader_ballot 1
7776 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
7777 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
7780 #define VK_AMD_texture_gather_bias_lod 1
7781 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
7782 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
7783 typedef struct VkTextureLODGatherFormatPropertiesAMD {
7784 VkStructureType sType;
7786 VkBool32 supportsTextureGatherLODBiasAMD;
7787 } VkTextureLODGatherFormatPropertiesAMD;
7791 #define VK_AMD_shader_info 1
7792 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1
7793 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
7795 typedef enum VkShaderInfoTypeAMD {
7796 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
7797 VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
7798 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
7799 VK_SHADER_INFO_TYPE_BEGIN_RANGE_AMD = VK_SHADER_INFO_TYPE_STATISTICS_AMD,
7800 VK_SHADER_INFO_TYPE_END_RANGE_AMD = VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD,
7801 VK_SHADER_INFO_TYPE_RANGE_SIZE_AMD = (VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD - VK_SHADER_INFO_TYPE_STATISTICS_AMD + 1),
7802 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
7803 } VkShaderInfoTypeAMD;
7804 typedef struct VkShaderResourceUsageAMD {
7805 deUint32 numUsedVgprs;
7806 deUint32 numUsedSgprs;
7807 deUint32 ldsSizePerLocalWorkGroup;
7808 deUintptr ldsUsageSizeInBytes;
7809 deUintptr scratchMemUsageInBytes;
7810 } VkShaderResourceUsageAMD;
7812 typedef struct VkShaderStatisticsInfoAMD {
7813 VkShaderStageFlags shaderStageMask;
7814 VkShaderResourceUsageAMD resourceUsage;
7815 deUint32 numPhysicalVgprs;
7816 deUint32 numPhysicalSgprs;
7817 deUint32 numAvailableVgprs;
7818 deUint32 numAvailableSgprs;
7819 deUint32 computeWorkGroupSize[3];
7820 } VkShaderStatisticsInfoAMD;
7822 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, deUintptr* pInfoSize, void* pInfo);
7824 #ifndef VK_NO_PROTOTYPES
7825 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(
7827 VkPipeline pipeline,
7828 VkShaderStageFlagBits shaderStage,
7829 VkShaderInfoTypeAMD infoType,
7830 deUintptr* pInfoSize,
7835 #define VK_AMD_shader_image_load_store_lod 1
7836 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
7837 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
7840 #define VK_NV_corner_sampled_image 1
7841 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
7842 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
7843 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
7844 VkStructureType sType;
7846 VkBool32 cornerSampledImage;
7847 } VkPhysicalDeviceCornerSampledImageFeaturesNV;
7851 #define VK_IMG_format_pvrtc 1
7852 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
7853 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
7856 #define VK_NV_external_memory_capabilities 1
7857 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
7858 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
7860 typedef enum VkExternalMemoryHandleTypeFlagBitsNV {
7861 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,
7862 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,
7863 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,
7864 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,
7865 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
7866 } VkExternalMemoryHandleTypeFlagBitsNV;
7867 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
7869 typedef enum VkExternalMemoryFeatureFlagBitsNV {
7870 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,
7871 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,
7872 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,
7873 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
7874 } VkExternalMemoryFeatureFlagBitsNV;
7875 typedef VkFlags VkExternalMemoryFeatureFlagsNV;
7876 typedef struct VkExternalImageFormatPropertiesNV {
7877 VkImageFormatProperties imageFormatProperties;
7878 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;
7879 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
7880 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
7881 } VkExternalImageFormatPropertiesNV;
7883 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
7885 #ifndef VK_NO_PROTOTYPES
7886 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
7887 VkPhysicalDevice physicalDevice,
7890 VkImageTiling tiling,
7891 VkImageUsageFlags usage,
7892 VkImageCreateFlags flags,
7893 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
7894 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
7898 #define VK_NV_external_memory 1
7899 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
7900 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
7901 typedef struct VkExternalMemoryImageCreateInfoNV {
7902 VkStructureType sType;
7904 VkExternalMemoryHandleTypeFlagsNV handleTypes;
7905 } VkExternalMemoryImageCreateInfoNV;
7907 typedef struct VkExportMemoryAllocateInfoNV {
7908 VkStructureType sType;
7910 VkExternalMemoryHandleTypeFlagsNV handleTypes;
7911 } VkExportMemoryAllocateInfoNV;
7915 #define VK_EXT_validation_flags 1
7916 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2
7917 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
7919 typedef enum VkValidationCheckEXT {
7920 VK_VALIDATION_CHECK_ALL_EXT = 0,
7921 VK_VALIDATION_CHECK_SHADERS_EXT = 1,
7922 VK_VALIDATION_CHECK_BEGIN_RANGE_EXT = VK_VALIDATION_CHECK_ALL_EXT,
7923 VK_VALIDATION_CHECK_END_RANGE_EXT = VK_VALIDATION_CHECK_SHADERS_EXT,
7924 VK_VALIDATION_CHECK_RANGE_SIZE_EXT = (VK_VALIDATION_CHECK_SHADERS_EXT - VK_VALIDATION_CHECK_ALL_EXT + 1),
7925 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
7926 } VkValidationCheckEXT;
7927 typedef struct VkValidationFlagsEXT {
7928 VkStructureType sType;
7930 deUint32 disabledValidationCheckCount;
7931 const VkValidationCheckEXT* pDisabledValidationChecks;
7932 } VkValidationFlagsEXT;
7936 #define VK_EXT_shader_subgroup_ballot 1
7937 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
7938 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
7941 #define VK_EXT_shader_subgroup_vote 1
7942 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
7943 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
7946 #define VK_EXT_texture_compression_astc_hdr 1
7947 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
7948 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"
7949 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
7950 VkStructureType sType;
7952 VkBool32 textureCompressionASTC_HDR;
7953 } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
7957 #define VK_EXT_astc_decode_mode 1
7958 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
7959 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
7960 typedef struct VkImageViewASTCDecodeModeEXT {
7961 VkStructureType sType;
7963 VkFormat decodeMode;
7964 } VkImageViewASTCDecodeModeEXT;
7966 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
7967 VkStructureType sType;
7969 VkBool32 decodeModeSharedExponent;
7970 } VkPhysicalDeviceASTCDecodeFeaturesEXT;
7974 #define VK_EXT_conditional_rendering 1
7975 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2
7976 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
7978 typedef enum VkConditionalRenderingFlagBitsEXT {
7979 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001,
7980 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
7981 } VkConditionalRenderingFlagBitsEXT;
7982 typedef VkFlags VkConditionalRenderingFlagsEXT;
7983 typedef struct VkConditionalRenderingBeginInfoEXT {
7984 VkStructureType sType;
7987 VkDeviceSize offset;
7988 VkConditionalRenderingFlagsEXT flags;
7989 } VkConditionalRenderingBeginInfoEXT;
7991 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
7992 VkStructureType sType;
7994 VkBool32 conditionalRendering;
7995 VkBool32 inheritedConditionalRendering;
7996 } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
7998 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
7999 VkStructureType sType;
8001 VkBool32 conditionalRenderingEnable;
8002 } VkCommandBufferInheritanceConditionalRenderingInfoEXT;
8004 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
8005 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer);
8007 #ifndef VK_NO_PROTOTYPES
8008 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(
8009 VkCommandBuffer commandBuffer,
8010 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
8012 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT(
8013 VkCommandBuffer commandBuffer);
8017 #define VK_NVX_device_generated_commands 1
8018 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkObjectTableNVX)
8019 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNVX)
8020 #define VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
8021 #define VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NVX_device_generated_commands"
8023 typedef enum VkIndirectCommandsTokenTypeNVX {
8024 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX = 0,
8025 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX = 1,
8026 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX = 2,
8027 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX = 3,
8028 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX = 4,
8029 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX = 5,
8030 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX = 6,
8031 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX = 7,
8032 VK_INDIRECT_COMMANDS_TOKEN_TYPE_BEGIN_RANGE_NVX = VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX,
8033 VK_INDIRECT_COMMANDS_TOKEN_TYPE_END_RANGE_NVX = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX,
8034 VK_INDIRECT_COMMANDS_TOKEN_TYPE_RANGE_SIZE_NVX = (VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX - VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX + 1),
8035 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF
8036 } VkIndirectCommandsTokenTypeNVX;
8038 typedef enum VkObjectEntryTypeNVX {
8039 VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX = 0,
8040 VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX = 1,
8041 VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX = 2,
8042 VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX = 3,
8043 VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX = 4,
8044 VK_OBJECT_ENTRY_TYPE_BEGIN_RANGE_NVX = VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX,
8045 VK_OBJECT_ENTRY_TYPE_END_RANGE_NVX = VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX,
8046 VK_OBJECT_ENTRY_TYPE_RANGE_SIZE_NVX = (VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX - VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX + 1),
8047 VK_OBJECT_ENTRY_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF
8048 } VkObjectEntryTypeNVX;
8050 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNVX {
8051 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX = 0x00000001,
8052 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX = 0x00000002,
8053 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX = 0x00000004,
8054 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX = 0x00000008,
8055 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF
8056 } VkIndirectCommandsLayoutUsageFlagBitsNVX;
8057 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNVX;
8059 typedef enum VkObjectEntryUsageFlagBitsNVX {
8060 VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX = 0x00000001,
8061 VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX = 0x00000002,
8062 VK_OBJECT_ENTRY_USAGE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF
8063 } VkObjectEntryUsageFlagBitsNVX;
8064 typedef VkFlags VkObjectEntryUsageFlagsNVX;
8065 typedef struct VkDeviceGeneratedCommandsFeaturesNVX {
8066 VkStructureType sType;
8068 VkBool32 computeBindingPointSupport;
8069 } VkDeviceGeneratedCommandsFeaturesNVX;
8071 typedef struct VkDeviceGeneratedCommandsLimitsNVX {
8072 VkStructureType sType;
8074 deUint32 maxIndirectCommandsLayoutTokenCount;
8075 deUint32 maxObjectEntryCounts;
8076 deUint32 minSequenceCountBufferOffsetAlignment;
8077 deUint32 minSequenceIndexBufferOffsetAlignment;
8078 deUint32 minCommandsTokenBufferOffsetAlignment;
8079 } VkDeviceGeneratedCommandsLimitsNVX;
8081 typedef struct VkIndirectCommandsTokenNVX {
8082 VkIndirectCommandsTokenTypeNVX tokenType;
8084 VkDeviceSize offset;
8085 } VkIndirectCommandsTokenNVX;
8087 typedef struct VkIndirectCommandsLayoutTokenNVX {
8088 VkIndirectCommandsTokenTypeNVX tokenType;
8089 deUint32 bindingUnit;
8090 deUint32 dynamicCount;
8092 } VkIndirectCommandsLayoutTokenNVX;
8094 typedef struct VkIndirectCommandsLayoutCreateInfoNVX {
8095 VkStructureType sType;
8097 VkPipelineBindPoint pipelineBindPoint;
8098 VkIndirectCommandsLayoutUsageFlagsNVX flags;
8099 deUint32 tokenCount;
8100 const VkIndirectCommandsLayoutTokenNVX* pTokens;
8101 } VkIndirectCommandsLayoutCreateInfoNVX;
8103 typedef struct VkCmdProcessCommandsInfoNVX {
8104 VkStructureType sType;
8106 VkObjectTableNVX objectTable;
8107 VkIndirectCommandsLayoutNVX indirectCommandsLayout;
8108 deUint32 indirectCommandsTokenCount;
8109 const VkIndirectCommandsTokenNVX* pIndirectCommandsTokens;
8110 deUint32 maxSequencesCount;
8111 VkCommandBuffer targetCommandBuffer;
8112 VkBuffer sequencesCountBuffer;
8113 VkDeviceSize sequencesCountOffset;
8114 VkBuffer sequencesIndexBuffer;
8115 VkDeviceSize sequencesIndexOffset;
8116 } VkCmdProcessCommandsInfoNVX;
8118 typedef struct VkCmdReserveSpaceForCommandsInfoNVX {
8119 VkStructureType sType;
8121 VkObjectTableNVX objectTable;
8122 VkIndirectCommandsLayoutNVX indirectCommandsLayout;
8123 deUint32 maxSequencesCount;
8124 } VkCmdReserveSpaceForCommandsInfoNVX;
8126 typedef struct VkObjectTableCreateInfoNVX {
8127 VkStructureType sType;
8129 deUint32 objectCount;
8130 const VkObjectEntryTypeNVX* pObjectEntryTypes;
8131 const deUint32* pObjectEntryCounts;
8132 const VkObjectEntryUsageFlagsNVX* pObjectEntryUsageFlags;
8133 deUint32 maxUniformBuffersPerDescriptor;
8134 deUint32 maxStorageBuffersPerDescriptor;
8135 deUint32 maxStorageImagesPerDescriptor;
8136 deUint32 maxSampledImagesPerDescriptor;
8137 deUint32 maxPipelineLayouts;
8138 } VkObjectTableCreateInfoNVX;
8140 typedef struct VkObjectTableEntryNVX {
8141 VkObjectEntryTypeNVX type;
8142 VkObjectEntryUsageFlagsNVX flags;
8143 } VkObjectTableEntryNVX;
8145 typedef struct VkObjectTablePipelineEntryNVX {
8146 VkObjectEntryTypeNVX type;
8147 VkObjectEntryUsageFlagsNVX flags;
8148 VkPipeline pipeline;
8149 } VkObjectTablePipelineEntryNVX;
8151 typedef struct VkObjectTableDescriptorSetEntryNVX {
8152 VkObjectEntryTypeNVX type;
8153 VkObjectEntryUsageFlagsNVX flags;
8154 VkPipelineLayout pipelineLayout;
8155 VkDescriptorSet descriptorSet;
8156 } VkObjectTableDescriptorSetEntryNVX;
8158 typedef struct VkObjectTableVertexBufferEntryNVX {
8159 VkObjectEntryTypeNVX type;
8160 VkObjectEntryUsageFlagsNVX flags;
8162 } VkObjectTableVertexBufferEntryNVX;
8164 typedef struct VkObjectTableIndexBufferEntryNVX {
8165 VkObjectEntryTypeNVX type;
8166 VkObjectEntryUsageFlagsNVX flags;
8168 VkIndexType indexType;
8169 } VkObjectTableIndexBufferEntryNVX;
8171 typedef struct VkObjectTablePushConstantEntryNVX {
8172 VkObjectEntryTypeNVX type;
8173 VkObjectEntryUsageFlagsNVX flags;
8174 VkPipelineLayout pipelineLayout;
8175 VkShaderStageFlags stageFlags;
8176 } VkObjectTablePushConstantEntryNVX;
8178 typedef void (VKAPI_PTR *PFN_vkCmdProcessCommandsNVX)(VkCommandBuffer commandBuffer, const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo);
8179 typedef void (VKAPI_PTR *PFN_vkCmdReserveSpaceForCommandsNVX)(VkCommandBuffer commandBuffer, const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo);
8180 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNVX)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout);
8181 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNVX)(VkDevice device, VkIndirectCommandsLayoutNVX indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
8182 typedef VkResult (VKAPI_PTR *PFN_vkCreateObjectTableNVX)(VkDevice device, const VkObjectTableCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkObjectTableNVX* pObjectTable);
8183 typedef void (VKAPI_PTR *PFN_vkDestroyObjectTableNVX)(VkDevice device, VkObjectTableNVX objectTable, const VkAllocationCallbacks* pAllocator);
8184 typedef VkResult (VKAPI_PTR *PFN_vkRegisterObjectsNVX)(VkDevice device, VkObjectTableNVX objectTable, deUint32 objectCount, const VkObjectTableEntryNVX* const* ppObjectTableEntries, const deUint32* pObjectIndices);
8185 typedef VkResult (VKAPI_PTR *PFN_vkUnregisterObjectsNVX)(VkDevice device, VkObjectTableNVX objectTable, deUint32 objectCount, const VkObjectEntryTypeNVX* pObjectEntryTypes, const deUint32* pObjectIndices);
8186 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX)(VkPhysicalDevice physicalDevice, VkDeviceGeneratedCommandsFeaturesNVX* pFeatures, VkDeviceGeneratedCommandsLimitsNVX* pLimits);
8188 #ifndef VK_NO_PROTOTYPES
8189 VKAPI_ATTR void VKAPI_CALL vkCmdProcessCommandsNVX(
8190 VkCommandBuffer commandBuffer,
8191 const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo);
8193 VKAPI_ATTR void VKAPI_CALL vkCmdReserveSpaceForCommandsNVX(
8194 VkCommandBuffer commandBuffer,
8195 const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo);
8197 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNVX(
8199 const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo,
8200 const VkAllocationCallbacks* pAllocator,
8201 VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout);
8203 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNVX(
8205 VkIndirectCommandsLayoutNVX indirectCommandsLayout,
8206 const VkAllocationCallbacks* pAllocator);
8208 VKAPI_ATTR VkResult VKAPI_CALL vkCreateObjectTableNVX(
8210 const VkObjectTableCreateInfoNVX* pCreateInfo,
8211 const VkAllocationCallbacks* pAllocator,
8212 VkObjectTableNVX* pObjectTable);
8214 VKAPI_ATTR void VKAPI_CALL vkDestroyObjectTableNVX(
8216 VkObjectTableNVX objectTable,
8217 const VkAllocationCallbacks* pAllocator);
8219 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterObjectsNVX(
8221 VkObjectTableNVX objectTable,
8222 deUint32 objectCount,
8223 const VkObjectTableEntryNVX* const* ppObjectTableEntries,
8224 const deUint32* pObjectIndices);
8226 VKAPI_ATTR VkResult VKAPI_CALL vkUnregisterObjectsNVX(
8228 VkObjectTableNVX objectTable,
8229 deUint32 objectCount,
8230 const VkObjectEntryTypeNVX* pObjectEntryTypes,
8231 const deUint32* pObjectIndices);
8233 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX(
8234 VkPhysicalDevice physicalDevice,
8235 VkDeviceGeneratedCommandsFeaturesNVX* pFeatures,
8236 VkDeviceGeneratedCommandsLimitsNVX* pLimits);
8240 #define VK_NV_clip_space_w_scaling 1
8241 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
8242 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
8243 typedef struct VkViewportWScalingNV {
8246 } VkViewportWScalingNV;
8248 typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
8249 VkStructureType sType;
8251 VkBool32 viewportWScalingEnable;
8252 deUint32 viewportCount;
8253 const VkViewportWScalingNV* pViewportWScalings;
8254 } VkPipelineViewportWScalingStateCreateInfoNV;
8256 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewportWScalingNV* pViewportWScalings);
8258 #ifndef VK_NO_PROTOTYPES
8259 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(
8260 VkCommandBuffer commandBuffer,
8261 deUint32 firstViewport,
8262 deUint32 viewportCount,
8263 const VkViewportWScalingNV* pViewportWScalings);
8267 #define VK_EXT_direct_mode_display 1
8268 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
8269 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
8270 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
8272 #ifndef VK_NO_PROTOTYPES
8273 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(
8274 VkPhysicalDevice physicalDevice,
8275 VkDisplayKHR display);
8279 #define VK_EXT_display_surface_counter 1
8280 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
8281 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
8283 typedef enum VkSurfaceCounterFlagBitsEXT {
8284 VK_SURFACE_COUNTER_VBLANK_EXT = 0x00000001,
8285 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
8286 } VkSurfaceCounterFlagBitsEXT;
8287 typedef VkFlags VkSurfaceCounterFlagsEXT;
8288 typedef struct VkSurfaceCapabilities2EXT {
8289 VkStructureType sType;
8291 deUint32 minImageCount;
8292 deUint32 maxImageCount;
8293 VkExtent2D currentExtent;
8294 VkExtent2D minImageExtent;
8295 VkExtent2D maxImageExtent;
8296 deUint32 maxImageArrayLayers;
8297 VkSurfaceTransformFlagsKHR supportedTransforms;
8298 VkSurfaceTransformFlagBitsKHR currentTransform;
8299 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
8300 VkImageUsageFlags supportedUsageFlags;
8301 VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
8302 } VkSurfaceCapabilities2EXT;
8304 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
8306 #ifndef VK_NO_PROTOTYPES
8307 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(
8308 VkPhysicalDevice physicalDevice,
8309 VkSurfaceKHR surface,
8310 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
8314 #define VK_EXT_display_control 1
8315 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
8316 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
8318 typedef enum VkDisplayPowerStateEXT {
8319 VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
8320 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
8321 VK_DISPLAY_POWER_STATE_ON_EXT = 2,
8322 VK_DISPLAY_POWER_STATE_BEGIN_RANGE_EXT = VK_DISPLAY_POWER_STATE_OFF_EXT,
8323 VK_DISPLAY_POWER_STATE_END_RANGE_EXT = VK_DISPLAY_POWER_STATE_ON_EXT,
8324 VK_DISPLAY_POWER_STATE_RANGE_SIZE_EXT = (VK_DISPLAY_POWER_STATE_ON_EXT - VK_DISPLAY_POWER_STATE_OFF_EXT + 1),
8325 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
8326 } VkDisplayPowerStateEXT;
8328 typedef enum VkDeviceEventTypeEXT {
8329 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
8330 VK_DEVICE_EVENT_TYPE_BEGIN_RANGE_EXT = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT,
8331 VK_DEVICE_EVENT_TYPE_END_RANGE_EXT = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT,
8332 VK_DEVICE_EVENT_TYPE_RANGE_SIZE_EXT = (VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT - VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT + 1),
8333 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
8334 } VkDeviceEventTypeEXT;
8336 typedef enum VkDisplayEventTypeEXT {
8337 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
8338 VK_DISPLAY_EVENT_TYPE_BEGIN_RANGE_EXT = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT,
8339 VK_DISPLAY_EVENT_TYPE_END_RANGE_EXT = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT,
8340 VK_DISPLAY_EVENT_TYPE_RANGE_SIZE_EXT = (VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT - VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT + 1),
8341 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
8342 } VkDisplayEventTypeEXT;
8343 typedef struct VkDisplayPowerInfoEXT {
8344 VkStructureType sType;
8346 VkDisplayPowerStateEXT powerState;
8347 } VkDisplayPowerInfoEXT;
8349 typedef struct VkDeviceEventInfoEXT {
8350 VkStructureType sType;
8352 VkDeviceEventTypeEXT deviceEvent;
8353 } VkDeviceEventInfoEXT;
8355 typedef struct VkDisplayEventInfoEXT {
8356 VkStructureType sType;
8358 VkDisplayEventTypeEXT displayEvent;
8359 } VkDisplayEventInfoEXT;
8361 typedef struct VkSwapchainCounterCreateInfoEXT {
8362 VkStructureType sType;
8364 VkSurfaceCounterFlagsEXT surfaceCounters;
8365 } VkSwapchainCounterCreateInfoEXT;
8367 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
8368 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
8369 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
8370 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, deUint64* pCounterValue);
8372 #ifndef VK_NO_PROTOTYPES
8373 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(
8375 VkDisplayKHR display,
8376 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
8378 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(
8380 const VkDeviceEventInfoEXT* pDeviceEventInfo,
8381 const VkAllocationCallbacks* pAllocator,
8384 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(
8386 VkDisplayKHR display,
8387 const VkDisplayEventInfoEXT* pDisplayEventInfo,
8388 const VkAllocationCallbacks* pAllocator,
8391 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
8393 VkSwapchainKHR swapchain,
8394 VkSurfaceCounterFlagBitsEXT counter,
8395 deUint64* pCounterValue);
8399 #define VK_GOOGLE_display_timing 1
8400 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
8401 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
8402 typedef struct VkRefreshCycleDurationGOOGLE {
8403 deUint64 refreshDuration;
8404 } VkRefreshCycleDurationGOOGLE;
8406 typedef struct VkPastPresentationTimingGOOGLE {
8408 deUint64 desiredPresentTime;
8409 deUint64 actualPresentTime;
8410 deUint64 earliestPresentTime;
8411 deUint64 presentMargin;
8412 } VkPastPresentationTimingGOOGLE;
8414 typedef struct VkPresentTimeGOOGLE {
8416 deUint64 desiredPresentTime;
8417 } VkPresentTimeGOOGLE;
8419 typedef struct VkPresentTimesInfoGOOGLE {
8420 VkStructureType sType;
8422 deUint32 swapchainCount;
8423 const VkPresentTimeGOOGLE* pTimes;
8424 } VkPresentTimesInfoGOOGLE;
8426 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
8427 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
8429 #ifndef VK_NO_PROTOTYPES
8430 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(
8432 VkSwapchainKHR swapchain,
8433 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
8435 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
8437 VkSwapchainKHR swapchain,
8438 deUint32* pPresentationTimingCount,
8439 VkPastPresentationTimingGOOGLE* pPresentationTimings);
8443 #define VK_NV_sample_mask_override_coverage 1
8444 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
8445 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
8448 #define VK_NV_geometry_shader_passthrough 1
8449 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
8450 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
8453 #define VK_NV_viewport_array2 1
8454 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1
8455 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2"
8458 #define VK_NVX_multiview_per_view_attributes 1
8459 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
8460 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
8461 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
8462 VkStructureType sType;
8464 VkBool32 perViewPositionAllComponents;
8465 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
8469 #define VK_NV_viewport_swizzle 1
8470 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
8471 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
8473 typedef enum VkViewportCoordinateSwizzleNV {
8474 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
8475 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
8476 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
8477 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
8478 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
8479 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
8480 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
8481 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
8482 VK_VIEWPORT_COORDINATE_SWIZZLE_BEGIN_RANGE_NV = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV,
8483 VK_VIEWPORT_COORDINATE_SWIZZLE_END_RANGE_NV = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV,
8484 VK_VIEWPORT_COORDINATE_SWIZZLE_RANGE_SIZE_NV = (VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV - VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV + 1),
8485 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
8486 } VkViewportCoordinateSwizzleNV;
8487 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
8488 typedef struct VkViewportSwizzleNV {
8489 VkViewportCoordinateSwizzleNV x;
8490 VkViewportCoordinateSwizzleNV y;
8491 VkViewportCoordinateSwizzleNV z;
8492 VkViewportCoordinateSwizzleNV w;
8493 } VkViewportSwizzleNV;
8495 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
8496 VkStructureType sType;
8498 VkPipelineViewportSwizzleStateCreateFlagsNV flags;
8499 deUint32 viewportCount;
8500 const VkViewportSwizzleNV* pViewportSwizzles;
8501 } VkPipelineViewportSwizzleStateCreateInfoNV;
8505 #define VK_EXT_discard_rectangles 1
8506 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1
8507 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
8509 typedef enum VkDiscardRectangleModeEXT {
8510 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
8511 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
8512 VK_DISCARD_RECTANGLE_MODE_BEGIN_RANGE_EXT = VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT,
8513 VK_DISCARD_RECTANGLE_MODE_END_RANGE_EXT = VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT,
8514 VK_DISCARD_RECTANGLE_MODE_RANGE_SIZE_EXT = (VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT - VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT + 1),
8515 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
8516 } VkDiscardRectangleModeEXT;
8517 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
8518 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
8519 VkStructureType sType;
8521 deUint32 maxDiscardRectangles;
8522 } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
8524 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
8525 VkStructureType sType;
8527 VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
8528 VkDiscardRectangleModeEXT discardRectangleMode;
8529 deUint32 discardRectangleCount;
8530 const VkRect2D* pDiscardRectangles;
8531 } VkPipelineDiscardRectangleStateCreateInfoEXT;
8533 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles);
8535 #ifndef VK_NO_PROTOTYPES
8536 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(
8537 VkCommandBuffer commandBuffer,
8538 deUint32 firstDiscardRectangle,
8539 deUint32 discardRectangleCount,
8540 const VkRect2D* pDiscardRectangles);
8544 #define VK_EXT_conservative_rasterization 1
8545 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
8546 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
8548 typedef enum VkConservativeRasterizationModeEXT {
8549 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
8550 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
8551 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,
8552 VK_CONSERVATIVE_RASTERIZATION_MODE_BEGIN_RANGE_EXT = VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT,
8553 VK_CONSERVATIVE_RASTERIZATION_MODE_END_RANGE_EXT = VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT,
8554 VK_CONSERVATIVE_RASTERIZATION_MODE_RANGE_SIZE_EXT = (VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT - VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT + 1),
8555 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
8556 } VkConservativeRasterizationModeEXT;
8557 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
8558 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
8559 VkStructureType sType;
8561 float primitiveOverestimationSize;
8562 float maxExtraPrimitiveOverestimationSize;
8563 float extraPrimitiveOverestimationSizeGranularity;
8564 VkBool32 primitiveUnderestimation;
8565 VkBool32 conservativePointAndLineRasterization;
8566 VkBool32 degenerateTrianglesRasterized;
8567 VkBool32 degenerateLinesRasterized;
8568 VkBool32 fullyCoveredFragmentShaderInputVariable;
8569 VkBool32 conservativeRasterizationPostDepthCoverage;
8570 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
8572 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
8573 VkStructureType sType;
8575 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
8576 VkConservativeRasterizationModeEXT conservativeRasterizationMode;
8577 float extraPrimitiveOverestimationSize;
8578 } VkPipelineRasterizationConservativeStateCreateInfoEXT;
8582 #define VK_EXT_depth_clip_enable 1
8583 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
8584 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
8585 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
8586 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
8587 VkStructureType sType;
8589 VkBool32 depthClipEnable;
8590 } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
8592 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
8593 VkStructureType sType;
8595 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags;
8596 VkBool32 depthClipEnable;
8597 } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
8601 #define VK_EXT_swapchain_colorspace 1
8602 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4
8603 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
8606 #define VK_EXT_hdr_metadata 1
8607 #define VK_EXT_HDR_METADATA_SPEC_VERSION 2
8608 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
8609 typedef struct VkXYColorEXT {
8614 typedef struct VkHdrMetadataEXT {
8615 VkStructureType sType;
8617 VkXYColorEXT displayPrimaryRed;
8618 VkXYColorEXT displayPrimaryGreen;
8619 VkXYColorEXT displayPrimaryBlue;
8620 VkXYColorEXT whitePoint;
8623 float maxContentLightLevel;
8624 float maxFrameAverageLightLevel;
8627 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
8629 #ifndef VK_NO_PROTOTYPES
8630 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
8632 deUint32 swapchainCount,
8633 const VkSwapchainKHR* pSwapchains,
8634 const VkHdrMetadataEXT* pMetadata);
8638 #define VK_EXT_external_memory_dma_buf 1
8639 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1
8640 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"
8643 #define VK_EXT_queue_family_foreign 1
8644 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
8645 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
8646 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~0U-2)
8649 #define VK_EXT_debug_utils 1
8650 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
8651 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 1
8652 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
8653 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
8654 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
8656 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {
8657 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,
8658 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,
8659 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,
8660 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,
8661 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
8662 } VkDebugUtilsMessageSeverityFlagBitsEXT;
8663 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
8665 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
8666 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
8667 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
8668 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
8669 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
8670 } VkDebugUtilsMessageTypeFlagBitsEXT;
8671 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
8672 typedef struct VkDebugUtilsObjectNameInfoEXT {
8673 VkStructureType sType;
8675 VkObjectType objectType;
8676 deUint64 objectHandle;
8677 const char* pObjectName;
8678 } VkDebugUtilsObjectNameInfoEXT;
8680 typedef struct VkDebugUtilsObjectTagInfoEXT {
8681 VkStructureType sType;
8683 VkObjectType objectType;
8684 deUint64 objectHandle;
8688 } VkDebugUtilsObjectTagInfoEXT;
8690 typedef struct VkDebugUtilsLabelEXT {
8691 VkStructureType sType;
8693 const char* pLabelName;
8695 } VkDebugUtilsLabelEXT;
8697 typedef struct VkDebugUtilsMessengerCallbackDataEXT {
8698 VkStructureType sType;
8700 VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
8701 const char* pMessageIdName;
8702 deInt32 messageIdNumber;
8703 const char* pMessage;
8704 deUint32 queueLabelCount;
8705 const VkDebugUtilsLabelEXT* pQueueLabels;
8706 deUint32 cmdBufLabelCount;
8707 const VkDebugUtilsLabelEXT* pCmdBufLabels;
8708 deUint32 objectCount;
8709 const VkDebugUtilsObjectNameInfoEXT* pObjects;
8710 } VkDebugUtilsMessengerCallbackDataEXT;
8712 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
8713 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
8714 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
8715 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
8718 typedef struct VkDebugUtilsMessengerCreateInfoEXT {
8719 VkStructureType sType;
8721 VkDebugUtilsMessengerCreateFlagsEXT flags;
8722 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
8723 VkDebugUtilsMessageTypeFlagsEXT messageType;
8724 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
8726 } VkDebugUtilsMessengerCreateInfoEXT;
8728 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
8729 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
8730 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
8731 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue);
8732 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
8733 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
8734 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);
8735 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
8736 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
8737 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
8738 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
8740 #ifndef VK_NO_PROTOTYPES
8741 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(
8743 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
8745 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(
8747 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
8749 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(
8751 const VkDebugUtilsLabelEXT* pLabelInfo);
8753 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(
8756 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(
8758 const VkDebugUtilsLabelEXT* pLabelInfo);
8760 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(
8761 VkCommandBuffer commandBuffer,
8762 const VkDebugUtilsLabelEXT* pLabelInfo);
8764 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(
8765 VkCommandBuffer commandBuffer);
8767 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(
8768 VkCommandBuffer commandBuffer,
8769 const VkDebugUtilsLabelEXT* pLabelInfo);
8771 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(
8772 VkInstance instance,
8773 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
8774 const VkAllocationCallbacks* pAllocator,
8775 VkDebugUtilsMessengerEXT* pMessenger);
8777 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(
8778 VkInstance instance,
8779 VkDebugUtilsMessengerEXT messenger,
8780 const VkAllocationCallbacks* pAllocator);
8782 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(
8783 VkInstance instance,
8784 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
8785 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
8786 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
8790 #define VK_EXT_sampler_filter_minmax 1
8791 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2
8792 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
8793 typedef VkSamplerReductionMode VkSamplerReductionModeEXT;
8795 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT;
8797 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
8801 #define VK_AMD_gpu_shader_int16 1
8802 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2
8803 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
8806 #define VK_AMD_mixed_attachment_samples 1
8807 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
8808 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
8811 #define VK_AMD_shader_fragment_mask 1
8812 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
8813 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
8816 #define VK_EXT_inline_uniform_block 1
8817 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
8818 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
8819 typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
8820 VkStructureType sType;
8822 VkBool32 inlineUniformBlock;
8823 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
8824 } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
8826 typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
8827 VkStructureType sType;
8829 deUint32 maxInlineUniformBlockSize;
8830 deUint32 maxPerStageDescriptorInlineUniformBlocks;
8831 deUint32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
8832 deUint32 maxDescriptorSetInlineUniformBlocks;
8833 deUint32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
8834 } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
8836 typedef struct VkWriteDescriptorSetInlineUniformBlockEXT {
8837 VkStructureType sType;
8841 } VkWriteDescriptorSetInlineUniformBlockEXT;
8843 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
8844 VkStructureType sType;
8846 deUint32 maxInlineUniformBlockBindings;
8847 } VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
8851 #define VK_EXT_shader_stencil_export 1
8852 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
8853 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
8856 #define VK_EXT_sample_locations 1
8857 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
8858 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
8859 typedef struct VkSampleLocationEXT {
8862 } VkSampleLocationEXT;
8864 typedef struct VkSampleLocationsInfoEXT {
8865 VkStructureType sType;
8867 VkSampleCountFlagBits sampleLocationsPerPixel;
8868 VkExtent2D sampleLocationGridSize;
8869 deUint32 sampleLocationsCount;
8870 const VkSampleLocationEXT* pSampleLocations;
8871 } VkSampleLocationsInfoEXT;
8873 typedef struct VkAttachmentSampleLocationsEXT {
8874 deUint32 attachmentIndex;
8875 VkSampleLocationsInfoEXT sampleLocationsInfo;
8876 } VkAttachmentSampleLocationsEXT;
8878 typedef struct VkSubpassSampleLocationsEXT {
8879 deUint32 subpassIndex;
8880 VkSampleLocationsInfoEXT sampleLocationsInfo;
8881 } VkSubpassSampleLocationsEXT;
8883 typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
8884 VkStructureType sType;
8886 deUint32 attachmentInitialSampleLocationsCount;
8887 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
8888 deUint32 postSubpassSampleLocationsCount;
8889 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
8890 } VkRenderPassSampleLocationsBeginInfoEXT;
8892 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
8893 VkStructureType sType;
8895 VkBool32 sampleLocationsEnable;
8896 VkSampleLocationsInfoEXT sampleLocationsInfo;
8897 } VkPipelineSampleLocationsStateCreateInfoEXT;
8899 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
8900 VkStructureType sType;
8902 VkSampleCountFlags sampleLocationSampleCounts;
8903 VkExtent2D maxSampleLocationGridSize;
8904 float sampleLocationCoordinateRange[2];
8905 deUint32 sampleLocationSubPixelBits;
8906 VkBool32 variableSampleLocations;
8907 } VkPhysicalDeviceSampleLocationsPropertiesEXT;
8909 typedef struct VkMultisamplePropertiesEXT {
8910 VkStructureType sType;
8912 VkExtent2D maxSampleLocationGridSize;
8913 } VkMultisamplePropertiesEXT;
8915 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
8916 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
8918 #ifndef VK_NO_PROTOTYPES
8919 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(
8920 VkCommandBuffer commandBuffer,
8921 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
8923 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(
8924 VkPhysicalDevice physicalDevice,
8925 VkSampleCountFlagBits samples,
8926 VkMultisamplePropertiesEXT* pMultisampleProperties);
8930 #define VK_EXT_blend_operation_advanced 1
8931 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
8932 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
8934 typedef enum VkBlendOverlapEXT {
8935 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
8936 VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
8937 VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
8938 VK_BLEND_OVERLAP_BEGIN_RANGE_EXT = VK_BLEND_OVERLAP_UNCORRELATED_EXT,
8939 VK_BLEND_OVERLAP_END_RANGE_EXT = VK_BLEND_OVERLAP_CONJOINT_EXT,
8940 VK_BLEND_OVERLAP_RANGE_SIZE_EXT = (VK_BLEND_OVERLAP_CONJOINT_EXT - VK_BLEND_OVERLAP_UNCORRELATED_EXT + 1),
8941 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF
8942 } VkBlendOverlapEXT;
8943 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
8944 VkStructureType sType;
8946 VkBool32 advancedBlendCoherentOperations;
8947 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
8949 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
8950 VkStructureType sType;
8952 deUint32 advancedBlendMaxColorAttachments;
8953 VkBool32 advancedBlendIndependentBlend;
8954 VkBool32 advancedBlendNonPremultipliedSrcColor;
8955 VkBool32 advancedBlendNonPremultipliedDstColor;
8956 VkBool32 advancedBlendCorrelatedOverlap;
8957 VkBool32 advancedBlendAllOperations;
8958 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
8960 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
8961 VkStructureType sType;
8963 VkBool32 srcPremultiplied;
8964 VkBool32 dstPremultiplied;
8965 VkBlendOverlapEXT blendOverlap;
8966 } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
8970 #define VK_NV_fragment_coverage_to_color 1
8971 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
8972 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
8973 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
8974 typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
8975 VkStructureType sType;
8977 VkPipelineCoverageToColorStateCreateFlagsNV flags;
8978 VkBool32 coverageToColorEnable;
8979 deUint32 coverageToColorLocation;
8980 } VkPipelineCoverageToColorStateCreateInfoNV;
8984 #define VK_NV_framebuffer_mixed_samples 1
8985 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
8986 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
8988 typedef enum VkCoverageModulationModeNV {
8989 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
8990 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
8991 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
8992 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
8993 VK_COVERAGE_MODULATION_MODE_BEGIN_RANGE_NV = VK_COVERAGE_MODULATION_MODE_NONE_NV,
8994 VK_COVERAGE_MODULATION_MODE_END_RANGE_NV = VK_COVERAGE_MODULATION_MODE_RGBA_NV,
8995 VK_COVERAGE_MODULATION_MODE_RANGE_SIZE_NV = (VK_COVERAGE_MODULATION_MODE_RGBA_NV - VK_COVERAGE_MODULATION_MODE_NONE_NV + 1),
8996 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
8997 } VkCoverageModulationModeNV;
8998 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
8999 typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
9000 VkStructureType sType;
9002 VkPipelineCoverageModulationStateCreateFlagsNV flags;
9003 VkCoverageModulationModeNV coverageModulationMode;
9004 VkBool32 coverageModulationTableEnable;
9005 deUint32 coverageModulationTableCount;
9006 const float* pCoverageModulationTable;
9007 } VkPipelineCoverageModulationStateCreateInfoNV;
9011 #define VK_NV_fill_rectangle 1
9012 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
9013 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
9016 #define VK_NV_shader_sm_builtins 1
9017 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1
9018 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins"
9019 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
9020 VkStructureType sType;
9022 deUint32 shaderSMCount;
9023 deUint32 shaderWarpsPerSM;
9024 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
9026 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
9027 VkStructureType sType;
9029 VkBool32 shaderSMBuiltins;
9030 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
9034 #define VK_EXT_post_depth_coverage 1
9035 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
9036 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
9039 #define VK_EXT_image_drm_format_modifier 1
9040 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 1
9041 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier"
9042 typedef struct VkDrmFormatModifierPropertiesEXT {
9043 deUint64 drmFormatModifier;
9044 deUint32 drmFormatModifierPlaneCount;
9045 VkFormatFeatureFlags drmFormatModifierTilingFeatures;
9046 } VkDrmFormatModifierPropertiesEXT;
9048 typedef struct VkDrmFormatModifierPropertiesListEXT {
9049 VkStructureType sType;
9051 deUint32 drmFormatModifierCount;
9052 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties;
9053 } VkDrmFormatModifierPropertiesListEXT;
9055 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
9056 VkStructureType sType;
9058 deUint64 drmFormatModifier;
9059 VkSharingMode sharingMode;
9060 deUint32 queueFamilyIndexCount;
9061 const deUint32* pQueueFamilyIndices;
9062 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
9064 typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
9065 VkStructureType sType;
9067 deUint32 drmFormatModifierCount;
9068 const deUint64* pDrmFormatModifiers;
9069 } VkImageDrmFormatModifierListCreateInfoEXT;
9071 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
9072 VkStructureType sType;
9074 deUint64 drmFormatModifier;
9075 deUint32 drmFormatModifierPlaneCount;
9076 const VkSubresourceLayout* pPlaneLayouts;
9077 } VkImageDrmFormatModifierExplicitCreateInfoEXT;
9079 typedef struct VkImageDrmFormatModifierPropertiesEXT {
9080 VkStructureType sType;
9082 deUint64 drmFormatModifier;
9083 } VkImageDrmFormatModifierPropertiesEXT;
9085 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties);
9087 #ifndef VK_NO_PROTOTYPES
9088 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT(
9091 VkImageDrmFormatModifierPropertiesEXT* pProperties);
9095 #define VK_EXT_validation_cache 1
9096 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
9097 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
9098 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
9100 typedef enum VkValidationCacheHeaderVersionEXT {
9101 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
9102 VK_VALIDATION_CACHE_HEADER_VERSION_BEGIN_RANGE_EXT = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT,
9103 VK_VALIDATION_CACHE_HEADER_VERSION_END_RANGE_EXT = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT,
9104 VK_VALIDATION_CACHE_HEADER_VERSION_RANGE_SIZE_EXT = (VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT - VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT + 1),
9105 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
9106 } VkValidationCacheHeaderVersionEXT;
9107 typedef VkFlags VkValidationCacheCreateFlagsEXT;
9108 typedef struct VkValidationCacheCreateInfoEXT {
9109 VkStructureType sType;
9111 VkValidationCacheCreateFlagsEXT flags;
9112 deUintptr initialDataSize;
9113 const void* pInitialData;
9114 } VkValidationCacheCreateInfoEXT;
9116 typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
9117 VkStructureType sType;
9119 VkValidationCacheEXT validationCache;
9120 } VkShaderModuleValidationCacheCreateInfoEXT;
9122 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
9123 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
9124 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
9125 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData);
9127 #ifndef VK_NO_PROTOTYPES
9128 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(
9130 const VkValidationCacheCreateInfoEXT* pCreateInfo,
9131 const VkAllocationCallbacks* pAllocator,
9132 VkValidationCacheEXT* pValidationCache);
9134 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(
9136 VkValidationCacheEXT validationCache,
9137 const VkAllocationCallbacks* pAllocator);
9139 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(
9141 VkValidationCacheEXT dstCache,
9142 deUint32 srcCacheCount,
9143 const VkValidationCacheEXT* pSrcCaches);
9145 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(
9147 VkValidationCacheEXT validationCache,
9148 deUintptr* pDataSize,
9153 #define VK_EXT_descriptor_indexing 1
9154 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
9155 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
9156 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT;
9158 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT;
9160 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
9162 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
9164 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
9166 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
9168 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
9172 #define VK_EXT_shader_viewport_index_layer 1
9173 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
9174 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
9177 #define VK_NV_shading_rate_image 1
9178 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
9179 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
9181 typedef enum VkShadingRatePaletteEntryNV {
9182 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
9183 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
9184 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
9185 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
9186 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
9187 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
9188 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
9189 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
9190 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
9191 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
9192 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
9193 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,
9194 VK_SHADING_RATE_PALETTE_ENTRY_BEGIN_RANGE_NV = VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV,
9195 VK_SHADING_RATE_PALETTE_ENTRY_END_RANGE_NV = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV,
9196 VK_SHADING_RATE_PALETTE_ENTRY_RANGE_SIZE_NV = (VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV - VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV + 1),
9197 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF
9198 } VkShadingRatePaletteEntryNV;
9200 typedef enum VkCoarseSampleOrderTypeNV {
9201 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
9202 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
9203 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
9204 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,
9205 VK_COARSE_SAMPLE_ORDER_TYPE_BEGIN_RANGE_NV = VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV,
9206 VK_COARSE_SAMPLE_ORDER_TYPE_END_RANGE_NV = VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV,
9207 VK_COARSE_SAMPLE_ORDER_TYPE_RANGE_SIZE_NV = (VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV - VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV + 1),
9208 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
9209 } VkCoarseSampleOrderTypeNV;
9210 typedef struct VkShadingRatePaletteNV {
9211 deUint32 shadingRatePaletteEntryCount;
9212 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries;
9213 } VkShadingRatePaletteNV;
9215 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
9216 VkStructureType sType;
9218 VkBool32 shadingRateImageEnable;
9219 deUint32 viewportCount;
9220 const VkShadingRatePaletteNV* pShadingRatePalettes;
9221 } VkPipelineViewportShadingRateImageStateCreateInfoNV;
9223 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
9224 VkStructureType sType;
9226 VkBool32 shadingRateImage;
9227 VkBool32 shadingRateCoarseSampleOrder;
9228 } VkPhysicalDeviceShadingRateImageFeaturesNV;
9230 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
9231 VkStructureType sType;
9233 VkExtent2D shadingRateTexelSize;
9234 deUint32 shadingRatePaletteSize;
9235 deUint32 shadingRateMaxCoarseSamples;
9236 } VkPhysicalDeviceShadingRateImagePropertiesNV;
9238 typedef struct VkCoarseSampleLocationNV {
9242 } VkCoarseSampleLocationNV;
9244 typedef struct VkCoarseSampleOrderCustomNV {
9245 VkShadingRatePaletteEntryNV shadingRate;
9246 deUint32 sampleCount;
9247 deUint32 sampleLocationCount;
9248 const VkCoarseSampleLocationNV* pSampleLocations;
9249 } VkCoarseSampleOrderCustomNV;
9251 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
9252 VkStructureType sType;
9254 VkCoarseSampleOrderTypeNV sampleOrderType;
9255 deUint32 customSampleOrderCount;
9256 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders;
9257 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
9259 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
9260 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
9261 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, deUint32 customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
9263 #ifndef VK_NO_PROTOTYPES
9264 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV(
9265 VkCommandBuffer commandBuffer,
9266 VkImageView imageView,
9267 VkImageLayout imageLayout);
9269 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV(
9270 VkCommandBuffer commandBuffer,
9271 deUint32 firstViewport,
9272 deUint32 viewportCount,
9273 const VkShadingRatePaletteNV* pShadingRatePalettes);
9275 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(
9276 VkCommandBuffer commandBuffer,
9277 VkCoarseSampleOrderTypeNV sampleOrderType,
9278 deUint32 customSampleOrderCount,
9279 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
9283 #define VK_NV_ray_tracing 1
9284 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV)
9285 #define VK_NV_RAY_TRACING_SPEC_VERSION 3
9286 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing"
9287 #define VK_SHADER_UNUSED_NV (~0U)
9289 typedef enum VkAccelerationStructureTypeNV {
9290 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = 0,
9291 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = 1,
9292 VK_ACCELERATION_STRUCTURE_TYPE_BEGIN_RANGE_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV,
9293 VK_ACCELERATION_STRUCTURE_TYPE_END_RANGE_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV,
9294 VK_ACCELERATION_STRUCTURE_TYPE_RANGE_SIZE_NV = (VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV - VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV + 1),
9295 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
9296 } VkAccelerationStructureTypeNV;
9298 typedef enum VkRayTracingShaderGroupTypeNV {
9299 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = 0,
9300 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = 1,
9301 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = 2,
9302 VK_RAY_TRACING_SHADER_GROUP_TYPE_BEGIN_RANGE_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV,
9303 VK_RAY_TRACING_SHADER_GROUP_TYPE_END_RANGE_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV,
9304 VK_RAY_TRACING_SHADER_GROUP_TYPE_RANGE_SIZE_NV = (VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV - VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV + 1),
9305 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
9306 } VkRayTracingShaderGroupTypeNV;
9308 typedef enum VkGeometryTypeNV {
9309 VK_GEOMETRY_TYPE_TRIANGLES_NV = 0,
9310 VK_GEOMETRY_TYPE_AABBS_NV = 1,
9311 VK_GEOMETRY_TYPE_BEGIN_RANGE_NV = VK_GEOMETRY_TYPE_TRIANGLES_NV,
9312 VK_GEOMETRY_TYPE_END_RANGE_NV = VK_GEOMETRY_TYPE_AABBS_NV,
9313 VK_GEOMETRY_TYPE_RANGE_SIZE_NV = (VK_GEOMETRY_TYPE_AABBS_NV - VK_GEOMETRY_TYPE_TRIANGLES_NV + 1),
9314 VK_GEOMETRY_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
9317 typedef enum VkCopyAccelerationStructureModeNV {
9318 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = 0,
9319 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = 1,
9320 VK_COPY_ACCELERATION_STRUCTURE_MODE_BEGIN_RANGE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV,
9321 VK_COPY_ACCELERATION_STRUCTURE_MODE_END_RANGE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV,
9322 VK_COPY_ACCELERATION_STRUCTURE_MODE_RANGE_SIZE_NV = (VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV - VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV + 1),
9323 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_NV = 0x7FFFFFFF
9324 } VkCopyAccelerationStructureModeNV;
9326 typedef enum VkAccelerationStructureMemoryRequirementsTypeNV {
9327 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0,
9328 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1,
9329 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2,
9330 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BEGIN_RANGE_NV = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV,
9331 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_END_RANGE_NV = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV,
9332 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_RANGE_SIZE_NV = (VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV - VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV + 1),
9333 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
9334 } VkAccelerationStructureMemoryRequirementsTypeNV;
9336 typedef enum VkGeometryFlagBitsNV {
9337 VK_GEOMETRY_OPAQUE_BIT_NV = 0x00000001,
9338 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = 0x00000002,
9339 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
9340 } VkGeometryFlagBitsNV;
9341 typedef VkFlags VkGeometryFlagsNV;
9343 typedef enum VkGeometryInstanceFlagBitsNV {
9344 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = 0x00000001,
9345 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = 0x00000002,
9346 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = 0x00000004,
9347 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = 0x00000008,
9348 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
9349 } VkGeometryInstanceFlagBitsNV;
9350 typedef VkFlags VkGeometryInstanceFlagsNV;
9352 typedef enum VkBuildAccelerationStructureFlagBitsNV {
9353 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = 0x00000001,
9354 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = 0x00000002,
9355 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = 0x00000004,
9356 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = 0x00000008,
9357 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = 0x00000010,
9358 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
9359 } VkBuildAccelerationStructureFlagBitsNV;
9360 typedef VkFlags VkBuildAccelerationStructureFlagsNV;
9361 typedef struct VkRayTracingShaderGroupCreateInfoNV {
9362 VkStructureType sType;
9364 VkRayTracingShaderGroupTypeNV type;
9365 deUint32 generalShader;
9366 deUint32 closestHitShader;
9367 deUint32 anyHitShader;
9368 deUint32 intersectionShader;
9369 } VkRayTracingShaderGroupCreateInfoNV;
9371 typedef struct VkRayTracingPipelineCreateInfoNV {
9372 VkStructureType sType;
9374 VkPipelineCreateFlags flags;
9375 deUint32 stageCount;
9376 const VkPipelineShaderStageCreateInfo* pStages;
9377 deUint32 groupCount;
9378 const VkRayTracingShaderGroupCreateInfoNV* pGroups;
9379 deUint32 maxRecursionDepth;
9380 VkPipelineLayout layout;
9381 VkPipeline basePipelineHandle;
9382 deInt32 basePipelineIndex;
9383 } VkRayTracingPipelineCreateInfoNV;
9385 typedef struct VkGeometryTrianglesNV {
9386 VkStructureType sType;
9388 VkBuffer vertexData;
9389 VkDeviceSize vertexOffset;
9390 deUint32 vertexCount;
9391 VkDeviceSize vertexStride;
9392 VkFormat vertexFormat;
9394 VkDeviceSize indexOffset;
9395 deUint32 indexCount;
9396 VkIndexType indexType;
9397 VkBuffer transformData;
9398 VkDeviceSize transformOffset;
9399 } VkGeometryTrianglesNV;
9401 typedef struct VkGeometryAABBNV {
9402 VkStructureType sType;
9407 VkDeviceSize offset;
9410 typedef struct VkGeometryDataNV {
9411 VkGeometryTrianglesNV triangles;
9412 VkGeometryAABBNV aabbs;
9415 typedef struct VkGeometryNV {
9416 VkStructureType sType;
9418 VkGeometryTypeNV geometryType;
9419 VkGeometryDataNV geometry;
9420 VkGeometryFlagsNV flags;
9423 typedef struct VkAccelerationStructureInfoNV {
9424 VkStructureType sType;
9426 VkAccelerationStructureTypeNV type;
9427 VkBuildAccelerationStructureFlagsNV flags;
9428 deUint32 instanceCount;
9429 deUint32 geometryCount;
9430 const VkGeometryNV* pGeometries;
9431 } VkAccelerationStructureInfoNV;
9433 typedef struct VkAccelerationStructureCreateInfoNV {
9434 VkStructureType sType;
9436 VkDeviceSize compactedSize;
9437 VkAccelerationStructureInfoNV info;
9438 } VkAccelerationStructureCreateInfoNV;
9440 typedef struct VkBindAccelerationStructureMemoryInfoNV {
9441 VkStructureType sType;
9443 VkAccelerationStructureNV accelerationStructure;
9444 VkDeviceMemory memory;
9445 VkDeviceSize memoryOffset;
9446 deUint32 deviceIndexCount;
9447 const deUint32* pDeviceIndices;
9448 } VkBindAccelerationStructureMemoryInfoNV;
9450 typedef struct VkWriteDescriptorSetAccelerationStructureNV {
9451 VkStructureType sType;
9453 deUint32 accelerationStructureCount;
9454 const VkAccelerationStructureNV* pAccelerationStructures;
9455 } VkWriteDescriptorSetAccelerationStructureNV;
9457 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
9458 VkStructureType sType;
9460 VkAccelerationStructureMemoryRequirementsTypeNV type;
9461 VkAccelerationStructureNV accelerationStructure;
9462 } VkAccelerationStructureMemoryRequirementsInfoNV;
9464 typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
9465 VkStructureType sType;
9467 deUint32 shaderGroupHandleSize;
9468 deUint32 maxRecursionDepth;
9469 deUint32 maxShaderGroupStride;
9470 deUint32 shaderGroupBaseAlignment;
9471 deUint64 maxGeometryCount;
9472 deUint64 maxInstanceCount;
9473 deUint64 maxTriangleCount;
9474 deUint32 maxDescriptorSetAccelerationStructures;
9475 } VkPhysicalDeviceRayTracingPropertiesNV;
9477 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
9478 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator);
9479 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
9480 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, deUint32 bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
9481 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureNV)(VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkBuffer scratch, VkDeviceSize scratchOffset);
9482 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeNV mode);
9483 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);
9484 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
9485 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
9486 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, deUintptr dataSize, void* pData);
9487 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
9488 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, deUint32 shader);
9490 #ifndef VK_NO_PROTOTYPES
9491 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV(
9493 const VkAccelerationStructureCreateInfoNV* pCreateInfo,
9494 const VkAllocationCallbacks* pAllocator,
9495 VkAccelerationStructureNV* pAccelerationStructure);
9497 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(
9499 VkAccelerationStructureNV accelerationStructure,
9500 const VkAllocationCallbacks* pAllocator);
9502 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(
9504 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
9505 VkMemoryRequirements2KHR* pMemoryRequirements);
9507 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(
9509 deUint32 bindInfoCount,
9510 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
9512 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(
9513 VkCommandBuffer commandBuffer,
9514 const VkAccelerationStructureInfoNV* pInfo,
9515 VkBuffer instanceData,
9516 VkDeviceSize instanceOffset,
9518 VkAccelerationStructureNV dst,
9519 VkAccelerationStructureNV src,
9521 VkDeviceSize scratchOffset);
9523 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(
9524 VkCommandBuffer commandBuffer,
9525 VkAccelerationStructureNV dst,
9526 VkAccelerationStructureNV src,
9527 VkCopyAccelerationStructureModeNV mode);
9529 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(
9530 VkCommandBuffer commandBuffer,
9531 VkBuffer raygenShaderBindingTableBuffer,
9532 VkDeviceSize raygenShaderBindingOffset,
9533 VkBuffer missShaderBindingTableBuffer,
9534 VkDeviceSize missShaderBindingOffset,
9535 VkDeviceSize missShaderBindingStride,
9536 VkBuffer hitShaderBindingTableBuffer,
9537 VkDeviceSize hitShaderBindingOffset,
9538 VkDeviceSize hitShaderBindingStride,
9539 VkBuffer callableShaderBindingTableBuffer,
9540 VkDeviceSize callableShaderBindingOffset,
9541 VkDeviceSize callableShaderBindingStride,
9546 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV(
9548 VkPipelineCache pipelineCache,
9549 deUint32 createInfoCount,
9550 const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
9551 const VkAllocationCallbacks* pAllocator,
9552 VkPipeline* pPipelines);
9554 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV(
9556 VkPipeline pipeline,
9557 deUint32 firstGroup,
9558 deUint32 groupCount,
9562 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(
9564 VkAccelerationStructureNV accelerationStructure,
9568 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(
9569 VkCommandBuffer commandBuffer,
9570 deUint32 accelerationStructureCount,
9571 const VkAccelerationStructureNV* pAccelerationStructures,
9572 VkQueryType queryType,
9573 VkQueryPool queryPool,
9574 deUint32 firstQuery);
9576 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV(
9578 VkPipeline pipeline,
9583 #define VK_NV_representative_fragment_test 1
9584 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2
9585 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
9586 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
9587 VkStructureType sType;
9589 VkBool32 representativeFragmentTest;
9590 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
9592 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
9593 VkStructureType sType;
9595 VkBool32 representativeFragmentTestEnable;
9596 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
9600 #define VK_EXT_filter_cubic 1
9601 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3
9602 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
9603 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
9604 VkStructureType sType;
9606 VkImageViewType imageViewType;
9607 } VkPhysicalDeviceImageViewImageFormatInfoEXT;
9609 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT {
9610 VkStructureType sType;
9612 VkBool32 filterCubic;
9613 VkBool32 filterCubicMinmax;
9614 } VkFilterCubicImageViewImageFormatPropertiesEXT;
9618 #define VK_EXT_global_priority 1
9619 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
9620 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
9622 typedef enum VkQueueGlobalPriorityEXT {
9623 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128,
9624 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256,
9625 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512,
9626 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024,
9627 VK_QUEUE_GLOBAL_PRIORITY_BEGIN_RANGE_EXT = VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT,
9628 VK_QUEUE_GLOBAL_PRIORITY_END_RANGE_EXT = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT,
9629 VK_QUEUE_GLOBAL_PRIORITY_RANGE_SIZE_EXT = (VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT - VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT + 1),
9630 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF
9631 } VkQueueGlobalPriorityEXT;
9632 typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
9633 VkStructureType sType;
9635 VkQueueGlobalPriorityEXT globalPriority;
9636 } VkDeviceQueueGlobalPriorityCreateInfoEXT;
9640 #define VK_EXT_external_memory_host 1
9641 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1
9642 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
9643 typedef struct VkImportMemoryHostPointerInfoEXT {
9644 VkStructureType sType;
9646 VkExternalMemoryHandleTypeFlagBits handleType;
9648 } VkImportMemoryHostPointerInfoEXT;
9650 typedef struct VkMemoryHostPointerPropertiesEXT {
9651 VkStructureType sType;
9653 deUint32 memoryTypeBits;
9654 } VkMemoryHostPointerPropertiesEXT;
9656 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
9657 VkStructureType sType;
9659 VkDeviceSize minImportedHostPointerAlignment;
9660 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
9662 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
9664 #ifndef VK_NO_PROTOTYPES
9665 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(
9667 VkExternalMemoryHandleTypeFlagBits handleType,
9668 const void* pHostPointer,
9669 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
9673 #define VK_AMD_buffer_marker 1
9674 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
9675 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
9676 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
9678 #ifndef VK_NO_PROTOTYPES
9679 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
9680 VkCommandBuffer commandBuffer,
9681 VkPipelineStageFlagBits pipelineStage,
9683 VkDeviceSize dstOffset,
9688 #define VK_AMD_pipeline_compiler_control 1
9689 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1
9690 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control"
9692 typedef enum VkPipelineCompilerControlFlagBitsAMD {
9693 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
9694 } VkPipelineCompilerControlFlagBitsAMD;
9695 typedef VkFlags VkPipelineCompilerControlFlagsAMD;
9696 typedef struct VkPipelineCompilerControlCreateInfoAMD {
9697 VkStructureType sType;
9699 VkPipelineCompilerControlFlagsAMD compilerControlFlags;
9700 } VkPipelineCompilerControlCreateInfoAMD;
9704 #define VK_EXT_calibrated_timestamps 1
9705 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 1
9706 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps"
9708 typedef enum VkTimeDomainEXT {
9709 VK_TIME_DOMAIN_DEVICE_EXT = 0,
9710 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1,
9711 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2,
9712 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3,
9713 VK_TIME_DOMAIN_BEGIN_RANGE_EXT = VK_TIME_DOMAIN_DEVICE_EXT,
9714 VK_TIME_DOMAIN_END_RANGE_EXT = VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT,
9715 VK_TIME_DOMAIN_RANGE_SIZE_EXT = (VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT - VK_TIME_DOMAIN_DEVICE_EXT + 1),
9716 VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF
9718 typedef struct VkCalibratedTimestampInfoEXT {
9719 VkStructureType sType;
9721 VkTimeDomainEXT timeDomain;
9722 } VkCalibratedTimestampInfoEXT;
9724 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, deUint32* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains);
9725 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, deUint32 timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, deUint64* pTimestamps, deUint64* pMaxDeviation);
9727 #ifndef VK_NO_PROTOTYPES
9728 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
9729 VkPhysicalDevice physicalDevice,
9730 deUint32* pTimeDomainCount,
9731 VkTimeDomainEXT* pTimeDomains);
9733 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(
9735 deUint32 timestampCount,
9736 const VkCalibratedTimestampInfoEXT* pTimestampInfos,
9737 deUint64* pTimestamps,
9738 deUint64* pMaxDeviation);
9742 #define VK_AMD_shader_core_properties 1
9743 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2
9744 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
9745 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
9746 VkStructureType sType;
9748 deUint32 shaderEngineCount;
9749 deUint32 shaderArraysPerEngineCount;
9750 deUint32 computeUnitsPerShaderArray;
9751 deUint32 simdPerComputeUnit;
9752 deUint32 wavefrontsPerSimd;
9753 deUint32 wavefrontSize;
9754 deUint32 sgprsPerSimd;
9755 deUint32 minSgprAllocation;
9756 deUint32 maxSgprAllocation;
9757 deUint32 sgprAllocationGranularity;
9758 deUint32 vgprsPerSimd;
9759 deUint32 minVgprAllocation;
9760 deUint32 maxVgprAllocation;
9761 deUint32 vgprAllocationGranularity;
9762 } VkPhysicalDeviceShaderCorePropertiesAMD;
9766 #define VK_AMD_memory_overallocation_behavior 1
9767 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1
9768 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior"
9770 typedef enum VkMemoryOverallocationBehaviorAMD {
9771 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
9772 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1,
9773 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2,
9774 VK_MEMORY_OVERALLOCATION_BEHAVIOR_BEGIN_RANGE_AMD = VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD,
9775 VK_MEMORY_OVERALLOCATION_BEHAVIOR_END_RANGE_AMD = VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD,
9776 VK_MEMORY_OVERALLOCATION_BEHAVIOR_RANGE_SIZE_AMD = (VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD - VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD + 1),
9777 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF
9778 } VkMemoryOverallocationBehaviorAMD;
9779 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
9780 VkStructureType sType;
9782 VkMemoryOverallocationBehaviorAMD overallocationBehavior;
9783 } VkDeviceMemoryOverallocationCreateInfoAMD;
9787 #define VK_EXT_vertex_attribute_divisor 1
9788 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
9789 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
9790 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
9791 VkStructureType sType;
9793 deUint32 maxVertexAttribDivisor;
9794 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
9796 typedef struct VkVertexInputBindingDivisorDescriptionEXT {
9799 } VkVertexInputBindingDivisorDescriptionEXT;
9801 typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
9802 VkStructureType sType;
9804 deUint32 vertexBindingDivisorCount;
9805 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors;
9806 } VkPipelineVertexInputDivisorStateCreateInfoEXT;
9808 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
9809 VkStructureType sType;
9811 VkBool32 vertexAttributeInstanceRateDivisor;
9812 VkBool32 vertexAttributeInstanceRateZeroDivisor;
9813 } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
9817 #define VK_EXT_pipeline_creation_feedback 1
9818 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1
9819 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback"
9821 typedef enum VkPipelineCreationFeedbackFlagBitsEXT {
9822 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 0x00000001,
9823 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 0x00000002,
9824 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 0x00000004,
9825 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9826 } VkPipelineCreationFeedbackFlagBitsEXT;
9827 typedef VkFlags VkPipelineCreationFeedbackFlagsEXT;
9828 typedef struct VkPipelineCreationFeedbackEXT {
9829 VkPipelineCreationFeedbackFlagsEXT flags;
9831 } VkPipelineCreationFeedbackEXT;
9833 typedef struct VkPipelineCreationFeedbackCreateInfoEXT {
9834 VkStructureType sType;
9836 VkPipelineCreationFeedbackEXT* pPipelineCreationFeedback;
9837 deUint32 pipelineStageCreationFeedbackCount;
9838 VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacks;
9839 } VkPipelineCreationFeedbackCreateInfoEXT;
9843 #define VK_NV_shader_subgroup_partitioned 1
9844 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
9845 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
9848 #define VK_NV_compute_shader_derivatives 1
9849 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
9850 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
9851 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
9852 VkStructureType sType;
9854 VkBool32 computeDerivativeGroupQuads;
9855 VkBool32 computeDerivativeGroupLinear;
9856 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
9860 #define VK_NV_mesh_shader 1
9861 #define VK_NV_MESH_SHADER_SPEC_VERSION 1
9862 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
9863 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
9864 VkStructureType sType;
9866 VkBool32 taskShader;
9867 VkBool32 meshShader;
9868 } VkPhysicalDeviceMeshShaderFeaturesNV;
9870 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
9871 VkStructureType sType;
9873 deUint32 maxDrawMeshTasksCount;
9874 deUint32 maxTaskWorkGroupInvocations;
9875 deUint32 maxTaskWorkGroupSize[3];
9876 deUint32 maxTaskTotalMemorySize;
9877 deUint32 maxTaskOutputCount;
9878 deUint32 maxMeshWorkGroupInvocations;
9879 deUint32 maxMeshWorkGroupSize[3];
9880 deUint32 maxMeshTotalMemorySize;
9881 deUint32 maxMeshOutputVertices;
9882 deUint32 maxMeshOutputPrimitives;
9883 deUint32 maxMeshMultiviewViewCount;
9884 deUint32 meshOutputPerVertexGranularity;
9885 deUint32 meshOutputPerPrimitiveGranularity;
9886 } VkPhysicalDeviceMeshShaderPropertiesNV;
9888 typedef struct VkDrawMeshTasksIndirectCommandNV {
9891 } VkDrawMeshTasksIndirectCommandNV;
9893 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, deUint32 taskCount, deUint32 firstTask);
9894 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
9895 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
9897 #ifndef VK_NO_PROTOTYPES
9898 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV(
9899 VkCommandBuffer commandBuffer,
9901 deUint32 firstTask);
9903 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(
9904 VkCommandBuffer commandBuffer,
9906 VkDeviceSize offset,
9910 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
9911 VkCommandBuffer commandBuffer,
9913 VkDeviceSize offset,
9914 VkBuffer countBuffer,
9915 VkDeviceSize countBufferOffset,
9916 deUint32 maxDrawCount,
9921 #define VK_NV_fragment_shader_barycentric 1
9922 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
9923 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
9924 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
9925 VkStructureType sType;
9927 VkBool32 fragmentShaderBarycentric;
9928 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
9932 #define VK_NV_shader_image_footprint 1
9933 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2
9934 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
9935 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
9936 VkStructureType sType;
9938 VkBool32 imageFootprint;
9939 } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
9943 #define VK_NV_scissor_exclusive 1
9944 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1
9945 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
9946 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
9947 VkStructureType sType;
9949 deUint32 exclusiveScissorCount;
9950 const VkRect2D* pExclusiveScissors;
9951 } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
9953 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
9954 VkStructureType sType;
9956 VkBool32 exclusiveScissor;
9957 } VkPhysicalDeviceExclusiveScissorFeaturesNV;
9959 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, deUint32 firstExclusiveScissor, deUint32 exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
9961 #ifndef VK_NO_PROTOTYPES
9962 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV(
9963 VkCommandBuffer commandBuffer,
9964 deUint32 firstExclusiveScissor,
9965 deUint32 exclusiveScissorCount,
9966 const VkRect2D* pExclusiveScissors);
9970 #define VK_NV_device_diagnostic_checkpoints 1
9971 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
9972 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
9973 typedef struct VkQueueFamilyCheckpointPropertiesNV {
9974 VkStructureType sType;
9976 VkPipelineStageFlags checkpointExecutionStageMask;
9977 } VkQueueFamilyCheckpointPropertiesNV;
9979 typedef struct VkCheckpointDataNV {
9980 VkStructureType sType;
9982 VkPipelineStageFlagBits stage;
9983 void* pCheckpointMarker;
9984 } VkCheckpointDataNV;
9986 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
9987 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
9989 #ifndef VK_NO_PROTOTYPES
9990 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
9991 VkCommandBuffer commandBuffer,
9992 const void* pCheckpointMarker);
9994 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
9996 deUint32* pCheckpointDataCount,
9997 VkCheckpointDataNV* pCheckpointData);
10001 #define VK_INTEL_shader_integer_functions2 1
10002 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1
10003 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
10004 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
10005 VkStructureType sType;
10007 VkBool32 shaderIntegerFunctions2;
10008 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
10012 #define VK_INTEL_performance_query 1
10013 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL)
10014 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 1
10015 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query"
10017 typedef enum VkPerformanceConfigurationTypeINTEL {
10018 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
10019 VK_PERFORMANCE_CONFIGURATION_TYPE_BEGIN_RANGE_INTEL = VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL,
10020 VK_PERFORMANCE_CONFIGURATION_TYPE_END_RANGE_INTEL = VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL,
10021 VK_PERFORMANCE_CONFIGURATION_TYPE_RANGE_SIZE_INTEL = (VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL - VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL + 1),
10022 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
10023 } VkPerformanceConfigurationTypeINTEL;
10025 typedef enum VkQueryPoolSamplingModeINTEL {
10026 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
10027 VK_QUERY_POOL_SAMPLING_MODE_BEGIN_RANGE_INTEL = VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL,
10028 VK_QUERY_POOL_SAMPLING_MODE_END_RANGE_INTEL = VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL,
10029 VK_QUERY_POOL_SAMPLING_MODE_RANGE_SIZE_INTEL = (VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL - VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL + 1),
10030 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF
10031 } VkQueryPoolSamplingModeINTEL;
10033 typedef enum VkPerformanceOverrideTypeINTEL {
10034 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,
10035 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
10036 VK_PERFORMANCE_OVERRIDE_TYPE_BEGIN_RANGE_INTEL = VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL,
10037 VK_PERFORMANCE_OVERRIDE_TYPE_END_RANGE_INTEL = VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL,
10038 VK_PERFORMANCE_OVERRIDE_TYPE_RANGE_SIZE_INTEL = (VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL - VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL + 1),
10039 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
10040 } VkPerformanceOverrideTypeINTEL;
10042 typedef enum VkPerformanceParameterTypeINTEL {
10043 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,
10044 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
10045 VK_PERFORMANCE_PARAMETER_TYPE_BEGIN_RANGE_INTEL = VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL,
10046 VK_PERFORMANCE_PARAMETER_TYPE_END_RANGE_INTEL = VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL,
10047 VK_PERFORMANCE_PARAMETER_TYPE_RANGE_SIZE_INTEL = (VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL - VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL + 1),
10048 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
10049 } VkPerformanceParameterTypeINTEL;
10051 typedef enum VkPerformanceValueTypeINTEL {
10052 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
10053 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
10054 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,
10055 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,
10056 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
10057 VK_PERFORMANCE_VALUE_TYPE_BEGIN_RANGE_INTEL = VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL,
10058 VK_PERFORMANCE_VALUE_TYPE_END_RANGE_INTEL = VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL,
10059 VK_PERFORMANCE_VALUE_TYPE_RANGE_SIZE_INTEL = (VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL - VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL + 1),
10060 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
10061 } VkPerformanceValueTypeINTEL;
10062 typedef union VkPerformanceValueDataINTEL {
10066 VkBool32 valueBool;
10067 const char* valueString;
10068 } VkPerformanceValueDataINTEL;
10070 typedef struct VkPerformanceValueINTEL {
10071 VkPerformanceValueTypeINTEL type;
10072 VkPerformanceValueDataINTEL data;
10073 } VkPerformanceValueINTEL;
10075 typedef struct VkInitializePerformanceApiInfoINTEL {
10076 VkStructureType sType;
10079 } VkInitializePerformanceApiInfoINTEL;
10081 typedef struct VkQueryPoolCreateInfoINTEL {
10082 VkStructureType sType;
10084 VkQueryPoolSamplingModeINTEL performanceCountersSampling;
10085 } VkQueryPoolCreateInfoINTEL;
10087 typedef struct VkPerformanceMarkerInfoINTEL {
10088 VkStructureType sType;
10091 } VkPerformanceMarkerInfoINTEL;
10093 typedef struct VkPerformanceStreamMarkerInfoINTEL {
10094 VkStructureType sType;
10097 } VkPerformanceStreamMarkerInfoINTEL;
10099 typedef struct VkPerformanceOverrideInfoINTEL {
10100 VkStructureType sType;
10102 VkPerformanceOverrideTypeINTEL type;
10104 deUint64 parameter;
10105 } VkPerformanceOverrideInfoINTEL;
10107 typedef struct VkPerformanceConfigurationAcquireInfoINTEL {
10108 VkStructureType sType;
10110 VkPerformanceConfigurationTypeINTEL type;
10111 } VkPerformanceConfigurationAcquireInfoINTEL;
10113 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
10114 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device);
10115 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
10116 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
10117 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
10118 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration);
10119 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration);
10120 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration);
10121 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue);
10123 #ifndef VK_NO_PROTOTYPES
10124 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL(
10126 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
10128 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL(
10131 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL(
10132 VkCommandBuffer commandBuffer,
10133 const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
10135 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL(
10136 VkCommandBuffer commandBuffer,
10137 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
10139 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL(
10140 VkCommandBuffer commandBuffer,
10141 const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
10143 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL(
10145 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
10146 VkPerformanceConfigurationINTEL* pConfiguration);
10148 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL(
10150 VkPerformanceConfigurationINTEL configuration);
10152 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL(
10154 VkPerformanceConfigurationINTEL configuration);
10156 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL(
10158 VkPerformanceParameterTypeINTEL parameter,
10159 VkPerformanceValueINTEL* pValue);
10163 #define VK_EXT_pci_bus_info 1
10164 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
10165 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
10166 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
10167 VkStructureType sType;
10169 deUint32 pciDomain;
10171 deUint32 pciDevice;
10172 deUint32 pciFunction;
10173 } VkPhysicalDevicePCIBusInfoPropertiesEXT;
10177 #define VK_AMD_display_native_hdr 1
10178 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1
10179 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr"
10180 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
10181 VkStructureType sType;
10183 VkBool32 localDimmingSupport;
10184 } VkDisplayNativeHdrSurfaceCapabilitiesAMD;
10186 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
10187 VkStructureType sType;
10189 VkBool32 localDimmingEnable;
10190 } VkSwapchainDisplayNativeHdrCreateInfoAMD;
10192 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
10194 #ifndef VK_NO_PROTOTYPES
10195 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD(
10197 VkSwapchainKHR swapChain,
10198 VkBool32 localDimmingEnable);
10202 #define VK_EXT_fragment_density_map 1
10203 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 1
10204 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
10205 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
10206 VkStructureType sType;
10208 VkBool32 fragmentDensityMap;
10209 VkBool32 fragmentDensityMapDynamic;
10210 VkBool32 fragmentDensityMapNonSubsampledImages;
10211 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
10213 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
10214 VkStructureType sType;
10216 VkExtent2D minFragmentDensityTexelSize;
10217 VkExtent2D maxFragmentDensityTexelSize;
10218 VkBool32 fragmentDensityInvocations;
10219 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
10221 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
10222 VkStructureType sType;
10224 VkAttachmentReference fragmentDensityMapAttachment;
10225 } VkRenderPassFragmentDensityMapCreateInfoEXT;
10229 #define VK_EXT_scalar_block_layout 1
10230 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1
10231 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
10232 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
10236 #define VK_GOOGLE_hlsl_functionality1 1
10237 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION 1
10238 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
10241 #define VK_GOOGLE_decorate_string 1
10242 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
10243 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
10246 #define VK_EXT_subgroup_size_control 1
10247 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2
10248 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
10249 typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
10250 VkStructureType sType;
10252 VkBool32 subgroupSizeControl;
10253 VkBool32 computeFullSubgroups;
10254 } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
10256 typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
10257 VkStructureType sType;
10259 deUint32 minSubgroupSize;
10260 deUint32 maxSubgroupSize;
10261 deUint32 maxComputeWorkgroupSubgroups;
10262 VkShaderStageFlags requiredSubgroupSizeStages;
10263 } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
10265 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
10266 VkStructureType sType;
10268 deUint32 requiredSubgroupSize;
10269 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
10273 #define VK_AMD_shader_core_properties2 1
10274 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1
10275 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2"
10277 typedef enum VkShaderCorePropertiesFlagBitsAMD {
10278 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
10279 } VkShaderCorePropertiesFlagBitsAMD;
10280 typedef VkFlags VkShaderCorePropertiesFlagsAMD;
10281 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
10282 VkStructureType sType;
10284 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
10285 deUint32 activeComputeUnitCount;
10286 } VkPhysicalDeviceShaderCoreProperties2AMD;
10290 #define VK_AMD_device_coherent_memory 1
10291 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1
10292 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory"
10293 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
10294 VkStructureType sType;
10296 VkBool32 deviceCoherentMemory;
10297 } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
10301 #define VK_EXT_memory_budget 1
10302 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
10303 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
10304 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
10305 VkStructureType sType;
10307 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS];
10308 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS];
10309 } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
10313 #define VK_EXT_memory_priority 1
10314 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
10315 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
10316 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
10317 VkStructureType sType;
10319 VkBool32 memoryPriority;
10320 } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
10322 typedef struct VkMemoryPriorityAllocateInfoEXT {
10323 VkStructureType sType;
10326 } VkMemoryPriorityAllocateInfoEXT;
10330 #define VK_NV_dedicated_allocation_image_aliasing 1
10331 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
10332 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
10333 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
10334 VkStructureType sType;
10336 VkBool32 dedicatedAllocationImageAliasing;
10337 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
10341 #define VK_EXT_buffer_device_address 1
10342 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
10343 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
10344 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
10345 VkStructureType sType;
10347 VkBool32 bufferDeviceAddress;
10348 VkBool32 bufferDeviceAddressCaptureReplay;
10349 VkBool32 bufferDeviceAddressMultiDevice;
10350 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
10352 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
10354 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT;
10356 typedef struct VkBufferDeviceAddressCreateInfoEXT {
10357 VkStructureType sType;
10359 VkDeviceAddress deviceAddress;
10360 } VkBufferDeviceAddressCreateInfoEXT;
10362 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
10364 #ifndef VK_NO_PROTOTYPES
10365 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(
10367 const VkBufferDeviceAddressInfo* pInfo);
10371 #define VK_EXT_tooling_info 1
10372 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1
10373 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info"
10375 typedef enum VkToolPurposeFlagBitsEXT {
10376 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 0x00000001,
10377 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 0x00000002,
10378 VK_TOOL_PURPOSE_TRACING_BIT_EXT = 0x00000004,
10379 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 0x00000008,
10380 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 0x00000010,
10381 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020,
10382 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040,
10383 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10384 } VkToolPurposeFlagBitsEXT;
10385 typedef VkFlags VkToolPurposeFlagsEXT;
10386 typedef struct VkPhysicalDeviceToolPropertiesEXT {
10387 VkStructureType sType;
10389 char name[VK_MAX_EXTENSION_NAME_SIZE];
10390 char version[VK_MAX_EXTENSION_NAME_SIZE];
10391 VkToolPurposeFlagsEXT purposes;
10392 char description[VK_MAX_DESCRIPTION_SIZE];
10393 char layer[VK_MAX_EXTENSION_NAME_SIZE];
10394 } VkPhysicalDeviceToolPropertiesEXT;
10396 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, deUint32* pToolCount, VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
10398 #ifndef VK_NO_PROTOTYPES
10399 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT(
10400 VkPhysicalDevice physicalDevice,
10401 deUint32* pToolCount,
10402 VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
10406 #define VK_EXT_separate_stencil_usage 1
10407 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
10408 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
10409 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT;
10413 #define VK_EXT_validation_features 1
10414 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 2
10415 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
10417 typedef enum VkValidationFeatureEnableEXT {
10418 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
10419 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
10420 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,
10421 VK_VALIDATION_FEATURE_ENABLE_BEGIN_RANGE_EXT = VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT,
10422 VK_VALIDATION_FEATURE_ENABLE_END_RANGE_EXT = VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT,
10423 VK_VALIDATION_FEATURE_ENABLE_RANGE_SIZE_EXT = (VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT - VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT + 1),
10424 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF
10425 } VkValidationFeatureEnableEXT;
10427 typedef enum VkValidationFeatureDisableEXT {
10428 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
10429 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
10430 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
10431 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
10432 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
10433 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
10434 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
10435 VK_VALIDATION_FEATURE_DISABLE_BEGIN_RANGE_EXT = VK_VALIDATION_FEATURE_DISABLE_ALL_EXT,
10436 VK_VALIDATION_FEATURE_DISABLE_END_RANGE_EXT = VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT,
10437 VK_VALIDATION_FEATURE_DISABLE_RANGE_SIZE_EXT = (VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT - VK_VALIDATION_FEATURE_DISABLE_ALL_EXT + 1),
10438 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF
10439 } VkValidationFeatureDisableEXT;
10440 typedef struct VkValidationFeaturesEXT {
10441 VkStructureType sType;
10443 deUint32 enabledValidationFeatureCount;
10444 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
10445 deUint32 disabledValidationFeatureCount;
10446 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
10447 } VkValidationFeaturesEXT;
10451 #define VK_NV_cooperative_matrix 1
10452 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
10453 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
10455 typedef enum VkComponentTypeNV {
10456 VK_COMPONENT_TYPE_FLOAT16_NV = 0,
10457 VK_COMPONENT_TYPE_FLOAT32_NV = 1,
10458 VK_COMPONENT_TYPE_FLOAT64_NV = 2,
10459 VK_COMPONENT_TYPE_SINT8_NV = 3,
10460 VK_COMPONENT_TYPE_SINT16_NV = 4,
10461 VK_COMPONENT_TYPE_SINT32_NV = 5,
10462 VK_COMPONENT_TYPE_SINT64_NV = 6,
10463 VK_COMPONENT_TYPE_UINT8_NV = 7,
10464 VK_COMPONENT_TYPE_UINT16_NV = 8,
10465 VK_COMPONENT_TYPE_UINT32_NV = 9,
10466 VK_COMPONENT_TYPE_UINT64_NV = 10,
10467 VK_COMPONENT_TYPE_BEGIN_RANGE_NV = VK_COMPONENT_TYPE_FLOAT16_NV,
10468 VK_COMPONENT_TYPE_END_RANGE_NV = VK_COMPONENT_TYPE_UINT64_NV,
10469 VK_COMPONENT_TYPE_RANGE_SIZE_NV = (VK_COMPONENT_TYPE_UINT64_NV - VK_COMPONENT_TYPE_FLOAT16_NV + 1),
10470 VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
10471 } VkComponentTypeNV;
10473 typedef enum VkScopeNV {
10474 VK_SCOPE_DEVICE_NV = 1,
10475 VK_SCOPE_WORKGROUP_NV = 2,
10476 VK_SCOPE_SUBGROUP_NV = 3,
10477 VK_SCOPE_QUEUE_FAMILY_NV = 5,
10478 VK_SCOPE_BEGIN_RANGE_NV = VK_SCOPE_DEVICE_NV,
10479 VK_SCOPE_END_RANGE_NV = VK_SCOPE_QUEUE_FAMILY_NV,
10480 VK_SCOPE_RANGE_SIZE_NV = (VK_SCOPE_QUEUE_FAMILY_NV - VK_SCOPE_DEVICE_NV + 1),
10481 VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF
10483 typedef struct VkCooperativeMatrixPropertiesNV {
10484 VkStructureType sType;
10489 VkComponentTypeNV AType;
10490 VkComponentTypeNV BType;
10491 VkComponentTypeNV CType;
10492 VkComponentTypeNV DType;
10494 } VkCooperativeMatrixPropertiesNV;
10496 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
10497 VkStructureType sType;
10499 VkBool32 cooperativeMatrix;
10500 VkBool32 cooperativeMatrixRobustBufferAccess;
10501 } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
10503 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
10504 VkStructureType sType;
10506 VkShaderStageFlags cooperativeMatrixSupportedStages;
10507 } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
10509 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
10511 #ifndef VK_NO_PROTOTYPES
10512 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
10513 VkPhysicalDevice physicalDevice,
10514 deUint32* pPropertyCount,
10515 VkCooperativeMatrixPropertiesNV* pProperties);
10519 #define VK_NV_coverage_reduction_mode 1
10520 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
10521 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
10523 typedef enum VkCoverageReductionModeNV {
10524 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,
10525 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1,
10526 VK_COVERAGE_REDUCTION_MODE_BEGIN_RANGE_NV = VK_COVERAGE_REDUCTION_MODE_MERGE_NV,
10527 VK_COVERAGE_REDUCTION_MODE_END_RANGE_NV = VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV,
10528 VK_COVERAGE_REDUCTION_MODE_RANGE_SIZE_NV = (VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV - VK_COVERAGE_REDUCTION_MODE_MERGE_NV + 1),
10529 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
10530 } VkCoverageReductionModeNV;
10531 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV;
10532 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
10533 VkStructureType sType;
10535 VkBool32 coverageReductionMode;
10536 } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
10538 typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
10539 VkStructureType sType;
10541 VkPipelineCoverageReductionStateCreateFlagsNV flags;
10542 VkCoverageReductionModeNV coverageReductionMode;
10543 } VkPipelineCoverageReductionStateCreateInfoNV;
10545 typedef struct VkFramebufferMixedSamplesCombinationNV {
10546 VkStructureType sType;
10548 VkCoverageReductionModeNV coverageReductionMode;
10549 VkSampleCountFlagBits rasterizationSamples;
10550 VkSampleCountFlags depthStencilSamples;
10551 VkSampleCountFlags colorSamples;
10552 } VkFramebufferMixedSamplesCombinationNV;
10554 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, deUint32* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations);
10556 #ifndef VK_NO_PROTOTYPES
10557 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
10558 VkPhysicalDevice physicalDevice,
10559 deUint32* pCombinationCount,
10560 VkFramebufferMixedSamplesCombinationNV* pCombinations);
10564 #define VK_EXT_fragment_shader_interlock 1
10565 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1
10566 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
10567 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
10568 VkStructureType sType;
10570 VkBool32 fragmentShaderSampleInterlock;
10571 VkBool32 fragmentShaderPixelInterlock;
10572 VkBool32 fragmentShaderShadingRateInterlock;
10573 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
10577 #define VK_EXT_ycbcr_image_arrays 1
10578 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
10579 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
10580 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
10581 VkStructureType sType;
10583 VkBool32 ycbcrImageArrays;
10584 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
10588 #define VK_EXT_headless_surface 1
10589 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1
10590 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface"
10591 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT;
10592 typedef struct VkHeadlessSurfaceCreateInfoEXT {
10593 VkStructureType sType;
10595 VkHeadlessSurfaceCreateFlagsEXT flags;
10596 } VkHeadlessSurfaceCreateInfoEXT;
10598 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
10600 #ifndef VK_NO_PROTOTYPES
10601 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT(
10602 VkInstance instance,
10603 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
10604 const VkAllocationCallbacks* pAllocator,
10605 VkSurfaceKHR* pSurface);
10609 #define VK_EXT_line_rasterization 1
10610 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1
10611 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
10613 typedef enum VkLineRasterizationModeEXT {
10614 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0,
10615 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1,
10616 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2,
10617 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3,
10618 VK_LINE_RASTERIZATION_MODE_BEGIN_RANGE_EXT = VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT,
10619 VK_LINE_RASTERIZATION_MODE_END_RANGE_EXT = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT,
10620 VK_LINE_RASTERIZATION_MODE_RANGE_SIZE_EXT = (VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT - VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT + 1),
10621 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
10622 } VkLineRasterizationModeEXT;
10623 typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
10624 VkStructureType sType;
10626 VkBool32 rectangularLines;
10627 VkBool32 bresenhamLines;
10628 VkBool32 smoothLines;
10629 VkBool32 stippledRectangularLines;
10630 VkBool32 stippledBresenhamLines;
10631 VkBool32 stippledSmoothLines;
10632 } VkPhysicalDeviceLineRasterizationFeaturesEXT;
10634 typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
10635 VkStructureType sType;
10637 deUint32 lineSubPixelPrecisionBits;
10638 } VkPhysicalDeviceLineRasterizationPropertiesEXT;
10640 typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
10641 VkStructureType sType;
10643 VkLineRasterizationModeEXT lineRasterizationMode;
10644 VkBool32 stippledLineEnable;
10645 deUint32 lineStippleFactor;
10646 deUint16 lineStipplePattern;
10647 } VkPipelineRasterizationLineStateCreateInfoEXT;
10649 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, deUint32 lineStippleFactor, deUint16 lineStipplePattern);
10651 #ifndef VK_NO_PROTOTYPES
10652 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT(
10653 VkCommandBuffer commandBuffer,
10654 deUint32 lineStippleFactor,
10655 deUint16 lineStipplePattern);
10659 #define VK_EXT_host_query_reset 1
10660 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
10661 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
10662 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT;
10664 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
10666 #ifndef VK_NO_PROTOTYPES
10667 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT(
10669 VkQueryPool queryPool,
10670 deUint32 firstQuery,
10671 deUint32 queryCount);
10675 #define VK_EXT_index_type_uint8 1
10676 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
10677 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
10678 typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
10679 VkStructureType sType;
10681 VkBool32 indexTypeUint8;
10682 } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
10686 #define VK_EXT_shader_demote_to_helper_invocation 1
10687 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
10688 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
10689 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
10690 VkStructureType sType;
10692 VkBool32 shaderDemoteToHelperInvocation;
10693 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
10697 #define VK_EXT_texel_buffer_alignment 1
10698 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
10699 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
10700 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
10701 VkStructureType sType;
10703 VkBool32 texelBufferAlignment;
10704 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
10706 typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
10707 VkStructureType sType;
10709 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
10710 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
10711 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
10712 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
10713 } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
10717 #define VK_GOOGLE_user_type 1
10718 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1
10719 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type"