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