1/**
2 * volk
3 *
4 * Copyright (C) 2018-2023, by Arseny Kapoulkine (arseny.kapoulkine@gmail.com)
5 * Report bugs and download new versions at https://github.com/zeux/volk
6 *
7 * This library is distributed under the MIT License. See notice at the end of this file.
8 */
9/* clang-format off */
10#ifndef VOLK_H_
11#define VOLK_H_
12
13#if defined(VULKAN_H_) && !defined(VK_NO_PROTOTYPES)
14# error To use volk, you need to define VK_NO_PROTOTYPES before including vulkan.h
15#endif
16
17/* VOLK_GENERATE_VERSION_DEFINE */
18#define VOLK_HEADER_VERSION 250
19/* VOLK_GENERATE_VERSION_DEFINE */
20
21#ifndef VK_NO_PROTOTYPES
22# define VK_NO_PROTOTYPES
23#endif
24
25#ifndef VULKAN_H_
26# ifdef VOLK_VULKAN_H_PATH
27# include VOLK_VULKAN_H_PATH
28# elif defined(VK_USE_PLATFORM_WIN32_KHR)
29# include <vulkan/vk_platform.h>
30# include <vulkan/vulkan_core.h>
31
32 /* When VK_USE_PLATFORM_WIN32_KHR is defined, instead of including vulkan.h directly, we include individual parts of the SDK
33 * This is necessary to avoid including <windows.h> which is very heavy - it takes 200ms to parse without WIN32_LEAN_AND_MEAN
34 * and 100ms to parse with it. vulkan_win32.h only needs a few symbols that are easy to redefine ourselves.
35 */
36 typedef unsigned long DWORD;
37 typedef const wchar_t* LPCWSTR;
38 typedef void* HANDLE;
39 typedef struct HINSTANCE__* HINSTANCE;
40 typedef struct HWND__* HWND;
41 typedef struct HMONITOR__* HMONITOR;
42 typedef struct _SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES;
43
44# include <vulkan/vulkan_win32.h>
45
46# ifdef VK_ENABLE_BETA_EXTENSIONS
47# include <vulkan/vulkan_beta.h>
48# endif
49# else
50# include <vulkan/vulkan.h>
51# endif
52#endif
53
54/* Disable several extensions on earlier SDKs because later SDKs introduce a backwards incompatible change to function signatures */
55#if VK_HEADER_VERSION < 140
56# undef VK_NVX_image_view_handle
57#endif
58#if VK_HEADER_VERSION < 184
59# undef VK_HUAWEI_subpass_shading
60#endif
61
62#ifdef __cplusplus
63extern "C" {
64#endif
65
66struct VolkDeviceTable;
67
68/**
69 * Initialize library by loading Vulkan loader; call this function before creating the Vulkan instance.
70 *
71 * Returns VK_SUCCESS on success and VK_ERROR_INITIALIZATION_FAILED otherwise.
72 */
73VkResult volkInitialize(void);
74
75/**
76 * Initialize library by providing a custom handler to load global symbols.
77 *
78 * This function can be used instead of volkInitialize.
79 * The handler function pointer will be asked to load global Vulkan symbols which require no instance
80 * (such as vkCreateInstance, vkEnumerateInstance* and vkEnumerateInstanceVersion if available).
81 */
82void volkInitializeCustom(PFN_vkGetInstanceProcAddr handler);
83
84/**
85 * Get Vulkan instance version supported by the Vulkan loader, or 0 if Vulkan isn't supported
86 *
87 * Returns 0 if volkInitialize wasn't called or failed.
88 */
89uint32_t volkGetInstanceVersion(void);
90
91/**
92 * Load global function pointers using application-created VkInstance; call this function after creating the Vulkan instance.
93 */
94void volkLoadInstance(VkInstance instance);
95
96/**
97 * Load global function pointers using application-created VkInstance; call this function after creating the Vulkan instance.
98 * Skips loading device-based function pointers, requires usage of volkLoadDevice afterwards.
99 */
100void volkLoadInstanceOnly(VkInstance instance);
101
102/**
103 * Load global function pointers using application-created VkDevice; call this function after creating the Vulkan device.
104 *
105 * Note: this is not suitable for applications that want to use multiple VkDevice objects concurrently.
106 */
107void volkLoadDevice(VkDevice device);
108
109/**
110 * Return last VkInstance for which global function pointers have been loaded via volkLoadInstance(),
111 * or VK_NULL_HANDLE if volkLoadInstance() has not been called.
112 */
113VkInstance volkGetLoadedInstance(void);
114
115/**
116 * Return last VkDevice for which global function pointers have been loaded via volkLoadDevice(),
117 * or VK_NULL_HANDLE if volkLoadDevice() has not been called.
118 */
119VkDevice volkGetLoadedDevice(void);
120
121/**
122 * Load function pointers using application-created VkDevice into a table.
123 * Application should use function pointers from that table instead of using global function pointers.
124 */
125void volkLoadDeviceTable(struct VolkDeviceTable* table, VkDevice device);
126
127/**
128 * Device-specific function pointer table
129 */
130struct VolkDeviceTable
131{
132 /* VOLK_GENERATE_DEVICE_TABLE */
133#if defined(VK_VERSION_1_0)
134 PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers;
135 PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets;
136 PFN_vkAllocateMemory vkAllocateMemory;
137 PFN_vkBeginCommandBuffer vkBeginCommandBuffer;
138 PFN_vkBindBufferMemory vkBindBufferMemory;
139 PFN_vkBindImageMemory vkBindImageMemory;
140 PFN_vkCmdBeginQuery vkCmdBeginQuery;
141 PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass;
142 PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets;
143 PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer;
144 PFN_vkCmdBindPipeline vkCmdBindPipeline;
145 PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers;
146 PFN_vkCmdBlitImage vkCmdBlitImage;
147 PFN_vkCmdClearAttachments vkCmdClearAttachments;
148 PFN_vkCmdClearColorImage vkCmdClearColorImage;
149 PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage;
150 PFN_vkCmdCopyBuffer vkCmdCopyBuffer;
151 PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage;
152 PFN_vkCmdCopyImage vkCmdCopyImage;
153 PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer;
154 PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults;
155 PFN_vkCmdDispatch vkCmdDispatch;
156 PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect;
157 PFN_vkCmdDraw vkCmdDraw;
158 PFN_vkCmdDrawIndexed vkCmdDrawIndexed;
159 PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect;
160 PFN_vkCmdDrawIndirect vkCmdDrawIndirect;
161 PFN_vkCmdEndQuery vkCmdEndQuery;
162 PFN_vkCmdEndRenderPass vkCmdEndRenderPass;
163 PFN_vkCmdExecuteCommands vkCmdExecuteCommands;
164 PFN_vkCmdFillBuffer vkCmdFillBuffer;
165 PFN_vkCmdNextSubpass vkCmdNextSubpass;
166 PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier;
167 PFN_vkCmdPushConstants vkCmdPushConstants;
168 PFN_vkCmdResetEvent vkCmdResetEvent;
169 PFN_vkCmdResetQueryPool vkCmdResetQueryPool;
170 PFN_vkCmdResolveImage vkCmdResolveImage;
171 PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants;
172 PFN_vkCmdSetDepthBias vkCmdSetDepthBias;
173 PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds;
174 PFN_vkCmdSetEvent vkCmdSetEvent;
175 PFN_vkCmdSetLineWidth vkCmdSetLineWidth;
176 PFN_vkCmdSetScissor vkCmdSetScissor;
177 PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask;
178 PFN_vkCmdSetStencilReference vkCmdSetStencilReference;
179 PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask;
180 PFN_vkCmdSetViewport vkCmdSetViewport;
181 PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer;
182 PFN_vkCmdWaitEvents vkCmdWaitEvents;
183 PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp;
184 PFN_vkCreateBuffer vkCreateBuffer;
185 PFN_vkCreateBufferView vkCreateBufferView;
186 PFN_vkCreateCommandPool vkCreateCommandPool;
187 PFN_vkCreateComputePipelines vkCreateComputePipelines;
188 PFN_vkCreateDescriptorPool vkCreateDescriptorPool;
189 PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout;
190 PFN_vkCreateEvent vkCreateEvent;
191 PFN_vkCreateFence vkCreateFence;
192 PFN_vkCreateFramebuffer vkCreateFramebuffer;
193 PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines;
194 PFN_vkCreateImage vkCreateImage;
195 PFN_vkCreateImageView vkCreateImageView;
196 PFN_vkCreatePipelineCache vkCreatePipelineCache;
197 PFN_vkCreatePipelineLayout vkCreatePipelineLayout;
198 PFN_vkCreateQueryPool vkCreateQueryPool;
199 PFN_vkCreateRenderPass vkCreateRenderPass;
200 PFN_vkCreateSampler vkCreateSampler;
201 PFN_vkCreateSemaphore vkCreateSemaphore;
202 PFN_vkCreateShaderModule vkCreateShaderModule;
203 PFN_vkDestroyBuffer vkDestroyBuffer;
204 PFN_vkDestroyBufferView vkDestroyBufferView;
205 PFN_vkDestroyCommandPool vkDestroyCommandPool;
206 PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool;
207 PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout;
208 PFN_vkDestroyDevice vkDestroyDevice;
209 PFN_vkDestroyEvent vkDestroyEvent;
210 PFN_vkDestroyFence vkDestroyFence;
211 PFN_vkDestroyFramebuffer vkDestroyFramebuffer;
212 PFN_vkDestroyImage vkDestroyImage;
213 PFN_vkDestroyImageView vkDestroyImageView;
214 PFN_vkDestroyPipeline vkDestroyPipeline;
215 PFN_vkDestroyPipelineCache vkDestroyPipelineCache;
216 PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout;
217 PFN_vkDestroyQueryPool vkDestroyQueryPool;
218 PFN_vkDestroyRenderPass vkDestroyRenderPass;
219 PFN_vkDestroySampler vkDestroySampler;
220 PFN_vkDestroySemaphore vkDestroySemaphore;
221 PFN_vkDestroyShaderModule vkDestroyShaderModule;
222 PFN_vkDeviceWaitIdle vkDeviceWaitIdle;
223 PFN_vkEndCommandBuffer vkEndCommandBuffer;
224 PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges;
225 PFN_vkFreeCommandBuffers vkFreeCommandBuffers;
226 PFN_vkFreeDescriptorSets vkFreeDescriptorSets;
227 PFN_vkFreeMemory vkFreeMemory;
228 PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements;
229 PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment;
230 PFN_vkGetDeviceQueue vkGetDeviceQueue;
231 PFN_vkGetEventStatus vkGetEventStatus;
232 PFN_vkGetFenceStatus vkGetFenceStatus;
233 PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements;
234 PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements;
235 PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout;
236 PFN_vkGetPipelineCacheData vkGetPipelineCacheData;
237 PFN_vkGetQueryPoolResults vkGetQueryPoolResults;
238 PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity;
239 PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges;
240 PFN_vkMapMemory vkMapMemory;
241 PFN_vkMergePipelineCaches vkMergePipelineCaches;
242 PFN_vkQueueBindSparse vkQueueBindSparse;
243 PFN_vkQueueSubmit vkQueueSubmit;
244 PFN_vkQueueWaitIdle vkQueueWaitIdle;
245 PFN_vkResetCommandBuffer vkResetCommandBuffer;
246 PFN_vkResetCommandPool vkResetCommandPool;
247 PFN_vkResetDescriptorPool vkResetDescriptorPool;
248 PFN_vkResetEvent vkResetEvent;
249 PFN_vkResetFences vkResetFences;
250 PFN_vkSetEvent vkSetEvent;
251 PFN_vkUnmapMemory vkUnmapMemory;
252 PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets;
253 PFN_vkWaitForFences vkWaitForFences;
254#endif /* defined(VK_VERSION_1_0) */
255#if defined(VK_VERSION_1_1)
256 PFN_vkBindBufferMemory2 vkBindBufferMemory2;
257 PFN_vkBindImageMemory2 vkBindImageMemory2;
258 PFN_vkCmdDispatchBase vkCmdDispatchBase;
259 PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask;
260 PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate;
261 PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion;
262 PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate;
263 PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion;
264 PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2;
265 PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport;
266 PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures;
267 PFN_vkGetDeviceQueue2 vkGetDeviceQueue2;
268 PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2;
269 PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2;
270 PFN_vkTrimCommandPool vkTrimCommandPool;
271 PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate;
272#endif /* defined(VK_VERSION_1_1) */
273#if defined(VK_VERSION_1_2)
274 PFN_vkCmdBeginRenderPass2 vkCmdBeginRenderPass2;
275 PFN_vkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCount;
276 PFN_vkCmdDrawIndirectCount vkCmdDrawIndirectCount;
277 PFN_vkCmdEndRenderPass2 vkCmdEndRenderPass2;
278 PFN_vkCmdNextSubpass2 vkCmdNextSubpass2;
279 PFN_vkCreateRenderPass2 vkCreateRenderPass2;
280 PFN_vkGetBufferDeviceAddress vkGetBufferDeviceAddress;
281 PFN_vkGetBufferOpaqueCaptureAddress vkGetBufferOpaqueCaptureAddress;
282 PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress;
283 PFN_vkGetSemaphoreCounterValue vkGetSemaphoreCounterValue;
284 PFN_vkResetQueryPool vkResetQueryPool;
285 PFN_vkSignalSemaphore vkSignalSemaphore;
286 PFN_vkWaitSemaphores vkWaitSemaphores;
287#endif /* defined(VK_VERSION_1_2) */
288#if defined(VK_VERSION_1_3)
289 PFN_vkCmdBeginRendering vkCmdBeginRendering;
290 PFN_vkCmdBindVertexBuffers2 vkCmdBindVertexBuffers2;
291 PFN_vkCmdBlitImage2 vkCmdBlitImage2;
292 PFN_vkCmdCopyBuffer2 vkCmdCopyBuffer2;
293 PFN_vkCmdCopyBufferToImage2 vkCmdCopyBufferToImage2;
294 PFN_vkCmdCopyImage2 vkCmdCopyImage2;
295 PFN_vkCmdCopyImageToBuffer2 vkCmdCopyImageToBuffer2;
296 PFN_vkCmdEndRendering vkCmdEndRendering;
297 PFN_vkCmdPipelineBarrier2 vkCmdPipelineBarrier2;
298 PFN_vkCmdResetEvent2 vkCmdResetEvent2;
299 PFN_vkCmdResolveImage2 vkCmdResolveImage2;
300 PFN_vkCmdSetCullMode vkCmdSetCullMode;
301 PFN_vkCmdSetDepthBiasEnable vkCmdSetDepthBiasEnable;
302 PFN_vkCmdSetDepthBoundsTestEnable vkCmdSetDepthBoundsTestEnable;
303 PFN_vkCmdSetDepthCompareOp vkCmdSetDepthCompareOp;
304 PFN_vkCmdSetDepthTestEnable vkCmdSetDepthTestEnable;
305 PFN_vkCmdSetDepthWriteEnable vkCmdSetDepthWriteEnable;
306 PFN_vkCmdSetEvent2 vkCmdSetEvent2;
307 PFN_vkCmdSetFrontFace vkCmdSetFrontFace;
308 PFN_vkCmdSetPrimitiveRestartEnable vkCmdSetPrimitiveRestartEnable;
309 PFN_vkCmdSetPrimitiveTopology vkCmdSetPrimitiveTopology;
310 PFN_vkCmdSetRasterizerDiscardEnable vkCmdSetRasterizerDiscardEnable;
311 PFN_vkCmdSetScissorWithCount vkCmdSetScissorWithCount;
312 PFN_vkCmdSetStencilOp vkCmdSetStencilOp;
313 PFN_vkCmdSetStencilTestEnable vkCmdSetStencilTestEnable;
314 PFN_vkCmdSetViewportWithCount vkCmdSetViewportWithCount;
315 PFN_vkCmdWaitEvents2 vkCmdWaitEvents2;
316 PFN_vkCmdWriteTimestamp2 vkCmdWriteTimestamp2;
317 PFN_vkCreatePrivateDataSlot vkCreatePrivateDataSlot;
318 PFN_vkDestroyPrivateDataSlot vkDestroyPrivateDataSlot;
319 PFN_vkGetDeviceBufferMemoryRequirements vkGetDeviceBufferMemoryRequirements;
320 PFN_vkGetDeviceImageMemoryRequirements vkGetDeviceImageMemoryRequirements;
321 PFN_vkGetDeviceImageSparseMemoryRequirements vkGetDeviceImageSparseMemoryRequirements;
322 PFN_vkGetPrivateData vkGetPrivateData;
323 PFN_vkQueueSubmit2 vkQueueSubmit2;
324 PFN_vkSetPrivateData vkSetPrivateData;
325#endif /* defined(VK_VERSION_1_3) */
326#if defined(VK_AMD_buffer_marker)
327 PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD;
328#endif /* defined(VK_AMD_buffer_marker) */
329#if defined(VK_AMD_display_native_hdr)
330 PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD;
331#endif /* defined(VK_AMD_display_native_hdr) */
332#if defined(VK_AMD_draw_indirect_count)
333 PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD;
334 PFN_vkCmdDrawIndirectCountAMD vkCmdDrawIndirectCountAMD;
335#endif /* defined(VK_AMD_draw_indirect_count) */
336#if defined(VK_AMD_shader_info)
337 PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD;
338#endif /* defined(VK_AMD_shader_info) */
339#if defined(VK_ANDROID_external_memory_android_hardware_buffer)
340 PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID;
341 PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID;
342#endif /* defined(VK_ANDROID_external_memory_android_hardware_buffer) */
343#if defined(VK_EXT_attachment_feedback_loop_dynamic_state)
344 PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT vkCmdSetAttachmentFeedbackLoopEnableEXT;
345#endif /* defined(VK_EXT_attachment_feedback_loop_dynamic_state) */
346#if defined(VK_EXT_buffer_device_address)
347 PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT;
348#endif /* defined(VK_EXT_buffer_device_address) */
349#if defined(VK_EXT_calibrated_timestamps)
350 PFN_vkGetCalibratedTimestampsEXT vkGetCalibratedTimestampsEXT;
351#endif /* defined(VK_EXT_calibrated_timestamps) */
352#if defined(VK_EXT_color_write_enable)
353 PFN_vkCmdSetColorWriteEnableEXT vkCmdSetColorWriteEnableEXT;
354#endif /* defined(VK_EXT_color_write_enable) */
355#if defined(VK_EXT_conditional_rendering)
356 PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT;
357 PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT;
358#endif /* defined(VK_EXT_conditional_rendering) */
359#if defined(VK_EXT_debug_marker)
360 PFN_vkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXT;
361 PFN_vkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXT;
362 PFN_vkCmdDebugMarkerInsertEXT vkCmdDebugMarkerInsertEXT;
363 PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT;
364 PFN_vkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXT;
365#endif /* defined(VK_EXT_debug_marker) */
366#if defined(VK_EXT_descriptor_buffer)
367 PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT vkCmdBindDescriptorBufferEmbeddedSamplersEXT;
368 PFN_vkCmdBindDescriptorBuffersEXT vkCmdBindDescriptorBuffersEXT;
369 PFN_vkCmdSetDescriptorBufferOffsetsEXT vkCmdSetDescriptorBufferOffsetsEXT;
370 PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT vkGetBufferOpaqueCaptureDescriptorDataEXT;
371 PFN_vkGetDescriptorEXT vkGetDescriptorEXT;
372 PFN_vkGetDescriptorSetLayoutBindingOffsetEXT vkGetDescriptorSetLayoutBindingOffsetEXT;
373 PFN_vkGetDescriptorSetLayoutSizeEXT vkGetDescriptorSetLayoutSizeEXT;
374 PFN_vkGetImageOpaqueCaptureDescriptorDataEXT vkGetImageOpaqueCaptureDescriptorDataEXT;
375 PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT vkGetImageViewOpaqueCaptureDescriptorDataEXT;
376 PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT vkGetSamplerOpaqueCaptureDescriptorDataEXT;
377#endif /* defined(VK_EXT_descriptor_buffer) */
378#if defined(VK_EXT_descriptor_buffer) && (defined(VK_KHR_acceleration_structure) || defined(VK_NV_ray_tracing))
379 PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT;
380#endif /* defined(VK_EXT_descriptor_buffer) && (defined(VK_KHR_acceleration_structure) || defined(VK_NV_ray_tracing)) */
381#if defined(VK_EXT_device_fault)
382 PFN_vkGetDeviceFaultInfoEXT vkGetDeviceFaultInfoEXT;
383#endif /* defined(VK_EXT_device_fault) */
384#if defined(VK_EXT_discard_rectangles)
385 PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT;
386#endif /* defined(VK_EXT_discard_rectangles) */
387#if defined(VK_EXT_discard_rectangles) && VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION >= 2
388 PFN_vkCmdSetDiscardRectangleEnableEXT vkCmdSetDiscardRectangleEnableEXT;
389 PFN_vkCmdSetDiscardRectangleModeEXT vkCmdSetDiscardRectangleModeEXT;
390#endif /* defined(VK_EXT_discard_rectangles) && VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION >= 2 */
391#if defined(VK_EXT_display_control)
392 PFN_vkDisplayPowerControlEXT vkDisplayPowerControlEXT;
393 PFN_vkGetSwapchainCounterEXT vkGetSwapchainCounterEXT;
394 PFN_vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT;
395 PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT;
396#endif /* defined(VK_EXT_display_control) */
397#if defined(VK_EXT_external_memory_host)
398 PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT;
399#endif /* defined(VK_EXT_external_memory_host) */
400#if defined(VK_EXT_full_screen_exclusive)
401 PFN_vkAcquireFullScreenExclusiveModeEXT vkAcquireFullScreenExclusiveModeEXT;
402 PFN_vkReleaseFullScreenExclusiveModeEXT vkReleaseFullScreenExclusiveModeEXT;
403#endif /* defined(VK_EXT_full_screen_exclusive) */
404#if defined(VK_EXT_hdr_metadata)
405 PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT;
406#endif /* defined(VK_EXT_hdr_metadata) */
407#if defined(VK_EXT_host_query_reset)
408 PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT;
409#endif /* defined(VK_EXT_host_query_reset) */
410#if defined(VK_EXT_image_compression_control)
411 PFN_vkGetImageSubresourceLayout2EXT vkGetImageSubresourceLayout2EXT;
412#endif /* defined(VK_EXT_image_compression_control) */
413#if defined(VK_EXT_image_drm_format_modifier)
414 PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT;
415#endif /* defined(VK_EXT_image_drm_format_modifier) */
416#if defined(VK_EXT_line_rasterization)
417 PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT;
418#endif /* defined(VK_EXT_line_rasterization) */
419#if defined(VK_EXT_mesh_shader)
420 PFN_vkCmdDrawMeshTasksEXT vkCmdDrawMeshTasksEXT;
421 PFN_vkCmdDrawMeshTasksIndirectCountEXT vkCmdDrawMeshTasksIndirectCountEXT;
422 PFN_vkCmdDrawMeshTasksIndirectEXT vkCmdDrawMeshTasksIndirectEXT;
423#endif /* defined(VK_EXT_mesh_shader) */
424#if defined(VK_EXT_metal_objects)
425 PFN_vkExportMetalObjectsEXT vkExportMetalObjectsEXT;
426#endif /* defined(VK_EXT_metal_objects) */
427#if defined(VK_EXT_multi_draw)
428 PFN_vkCmdDrawMultiEXT vkCmdDrawMultiEXT;
429 PFN_vkCmdDrawMultiIndexedEXT vkCmdDrawMultiIndexedEXT;
430#endif /* defined(VK_EXT_multi_draw) */
431#if defined(VK_EXT_opacity_micromap)
432 PFN_vkBuildMicromapsEXT vkBuildMicromapsEXT;
433 PFN_vkCmdBuildMicromapsEXT vkCmdBuildMicromapsEXT;
434 PFN_vkCmdCopyMemoryToMicromapEXT vkCmdCopyMemoryToMicromapEXT;
435 PFN_vkCmdCopyMicromapEXT vkCmdCopyMicromapEXT;
436 PFN_vkCmdCopyMicromapToMemoryEXT vkCmdCopyMicromapToMemoryEXT;
437 PFN_vkCmdWriteMicromapsPropertiesEXT vkCmdWriteMicromapsPropertiesEXT;
438 PFN_vkCopyMemoryToMicromapEXT vkCopyMemoryToMicromapEXT;
439 PFN_vkCopyMicromapEXT vkCopyMicromapEXT;
440 PFN_vkCopyMicromapToMemoryEXT vkCopyMicromapToMemoryEXT;
441 PFN_vkCreateMicromapEXT vkCreateMicromapEXT;
442 PFN_vkDestroyMicromapEXT vkDestroyMicromapEXT;
443 PFN_vkGetDeviceMicromapCompatibilityEXT vkGetDeviceMicromapCompatibilityEXT;
444 PFN_vkGetMicromapBuildSizesEXT vkGetMicromapBuildSizesEXT;
445 PFN_vkWriteMicromapsPropertiesEXT vkWriteMicromapsPropertiesEXT;
446#endif /* defined(VK_EXT_opacity_micromap) */
447#if defined(VK_EXT_pageable_device_local_memory)
448 PFN_vkSetDeviceMemoryPriorityEXT vkSetDeviceMemoryPriorityEXT;
449#endif /* defined(VK_EXT_pageable_device_local_memory) */
450#if defined(VK_EXT_pipeline_properties)
451 PFN_vkGetPipelinePropertiesEXT vkGetPipelinePropertiesEXT;
452#endif /* defined(VK_EXT_pipeline_properties) */
453#if defined(VK_EXT_private_data)
454 PFN_vkCreatePrivateDataSlotEXT vkCreatePrivateDataSlotEXT;
455 PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT;
456 PFN_vkGetPrivateDataEXT vkGetPrivateDataEXT;
457 PFN_vkSetPrivateDataEXT vkSetPrivateDataEXT;
458#endif /* defined(VK_EXT_private_data) */
459#if defined(VK_EXT_sample_locations)
460 PFN_vkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXT;
461#endif /* defined(VK_EXT_sample_locations) */
462#if defined(VK_EXT_shader_module_identifier)
463 PFN_vkGetShaderModuleCreateInfoIdentifierEXT vkGetShaderModuleCreateInfoIdentifierEXT;
464 PFN_vkGetShaderModuleIdentifierEXT vkGetShaderModuleIdentifierEXT;
465#endif /* defined(VK_EXT_shader_module_identifier) */
466#if defined(VK_EXT_shader_object)
467 PFN_vkCmdBindShadersEXT vkCmdBindShadersEXT;
468 PFN_vkCreateShadersEXT vkCreateShadersEXT;
469 PFN_vkDestroyShaderEXT vkDestroyShaderEXT;
470 PFN_vkGetShaderBinaryDataEXT vkGetShaderBinaryDataEXT;
471#endif /* defined(VK_EXT_shader_object) */
472#if defined(VK_EXT_swapchain_maintenance1)
473 PFN_vkReleaseSwapchainImagesEXT vkReleaseSwapchainImagesEXT;
474#endif /* defined(VK_EXT_swapchain_maintenance1) */
475#if defined(VK_EXT_transform_feedback)
476 PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT;
477 PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT;
478 PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT;
479 PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT;
480 PFN_vkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXT;
481 PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT;
482#endif /* defined(VK_EXT_transform_feedback) */
483#if defined(VK_EXT_validation_cache)
484 PFN_vkCreateValidationCacheEXT vkCreateValidationCacheEXT;
485 PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT;
486 PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT;
487 PFN_vkMergeValidationCachesEXT vkMergeValidationCachesEXT;
488#endif /* defined(VK_EXT_validation_cache) */
489#if defined(VK_FUCHSIA_buffer_collection)
490 PFN_vkCreateBufferCollectionFUCHSIA vkCreateBufferCollectionFUCHSIA;
491 PFN_vkDestroyBufferCollectionFUCHSIA vkDestroyBufferCollectionFUCHSIA;
492 PFN_vkGetBufferCollectionPropertiesFUCHSIA vkGetBufferCollectionPropertiesFUCHSIA;
493 PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA vkSetBufferCollectionBufferConstraintsFUCHSIA;
494 PFN_vkSetBufferCollectionImageConstraintsFUCHSIA vkSetBufferCollectionImageConstraintsFUCHSIA;
495#endif /* defined(VK_FUCHSIA_buffer_collection) */
496#if defined(VK_FUCHSIA_external_memory)
497 PFN_vkGetMemoryZirconHandleFUCHSIA vkGetMemoryZirconHandleFUCHSIA;
498 PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA vkGetMemoryZirconHandlePropertiesFUCHSIA;
499#endif /* defined(VK_FUCHSIA_external_memory) */
500#if defined(VK_FUCHSIA_external_semaphore)
501 PFN_vkGetSemaphoreZirconHandleFUCHSIA vkGetSemaphoreZirconHandleFUCHSIA;
502 PFN_vkImportSemaphoreZirconHandleFUCHSIA vkImportSemaphoreZirconHandleFUCHSIA;
503#endif /* defined(VK_FUCHSIA_external_semaphore) */
504#if defined(VK_GOOGLE_display_timing)
505 PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE;
506 PFN_vkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLE;
507#endif /* defined(VK_GOOGLE_display_timing) */
508#if defined(VK_HUAWEI_cluster_culling_shader)
509 PFN_vkCmdDrawClusterHUAWEI vkCmdDrawClusterHUAWEI;
510 PFN_vkCmdDrawClusterIndirectHUAWEI vkCmdDrawClusterIndirectHUAWEI;
511#endif /* defined(VK_HUAWEI_cluster_culling_shader) */
512#if defined(VK_HUAWEI_invocation_mask)
513 PFN_vkCmdBindInvocationMaskHUAWEI vkCmdBindInvocationMaskHUAWEI;
514#endif /* defined(VK_HUAWEI_invocation_mask) */
515#if defined(VK_HUAWEI_subpass_shading)
516 PFN_vkCmdSubpassShadingHUAWEI vkCmdSubpassShadingHUAWEI;
517 PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI;
518#endif /* defined(VK_HUAWEI_subpass_shading) */
519#if defined(VK_INTEL_performance_query)
520 PFN_vkAcquirePerformanceConfigurationINTEL vkAcquirePerformanceConfigurationINTEL;
521 PFN_vkCmdSetPerformanceMarkerINTEL vkCmdSetPerformanceMarkerINTEL;
522 PFN_vkCmdSetPerformanceOverrideINTEL vkCmdSetPerformanceOverrideINTEL;
523 PFN_vkCmdSetPerformanceStreamMarkerINTEL vkCmdSetPerformanceStreamMarkerINTEL;
524 PFN_vkGetPerformanceParameterINTEL vkGetPerformanceParameterINTEL;
525 PFN_vkInitializePerformanceApiINTEL vkInitializePerformanceApiINTEL;
526 PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL;
527 PFN_vkReleasePerformanceConfigurationINTEL vkReleasePerformanceConfigurationINTEL;
528 PFN_vkUninitializePerformanceApiINTEL vkUninitializePerformanceApiINTEL;
529#endif /* defined(VK_INTEL_performance_query) */
530#if defined(VK_KHR_acceleration_structure)
531 PFN_vkBuildAccelerationStructuresKHR vkBuildAccelerationStructuresKHR;
532 PFN_vkCmdBuildAccelerationStructuresIndirectKHR vkCmdBuildAccelerationStructuresIndirectKHR;
533 PFN_vkCmdBuildAccelerationStructuresKHR vkCmdBuildAccelerationStructuresKHR;
534 PFN_vkCmdCopyAccelerationStructureKHR vkCmdCopyAccelerationStructureKHR;
535 PFN_vkCmdCopyAccelerationStructureToMemoryKHR vkCmdCopyAccelerationStructureToMemoryKHR;
536 PFN_vkCmdCopyMemoryToAccelerationStructureKHR vkCmdCopyMemoryToAccelerationStructureKHR;
537 PFN_vkCmdWriteAccelerationStructuresPropertiesKHR vkCmdWriteAccelerationStructuresPropertiesKHR;
538 PFN_vkCopyAccelerationStructureKHR vkCopyAccelerationStructureKHR;
539 PFN_vkCopyAccelerationStructureToMemoryKHR vkCopyAccelerationStructureToMemoryKHR;
540 PFN_vkCopyMemoryToAccelerationStructureKHR vkCopyMemoryToAccelerationStructureKHR;
541 PFN_vkCreateAccelerationStructureKHR vkCreateAccelerationStructureKHR;
542 PFN_vkDestroyAccelerationStructureKHR vkDestroyAccelerationStructureKHR;
543 PFN_vkGetAccelerationStructureBuildSizesKHR vkGetAccelerationStructureBuildSizesKHR;
544 PFN_vkGetAccelerationStructureDeviceAddressKHR vkGetAccelerationStructureDeviceAddressKHR;
545 PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR;
546 PFN_vkWriteAccelerationStructuresPropertiesKHR vkWriteAccelerationStructuresPropertiesKHR;
547#endif /* defined(VK_KHR_acceleration_structure) */
548#if defined(VK_KHR_bind_memory2)
549 PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR;
550 PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR;
551#endif /* defined(VK_KHR_bind_memory2) */
552#if defined(VK_KHR_buffer_device_address)
553 PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR;
554 PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR;
555 PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR;
556#endif /* defined(VK_KHR_buffer_device_address) */
557#if defined(VK_KHR_copy_commands2)
558 PFN_vkCmdBlitImage2KHR vkCmdBlitImage2KHR;
559 PFN_vkCmdCopyBuffer2KHR vkCmdCopyBuffer2KHR;
560 PFN_vkCmdCopyBufferToImage2KHR vkCmdCopyBufferToImage2KHR;
561 PFN_vkCmdCopyImage2KHR vkCmdCopyImage2KHR;
562 PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR;
563 PFN_vkCmdResolveImage2KHR vkCmdResolveImage2KHR;
564#endif /* defined(VK_KHR_copy_commands2) */
565#if defined(VK_KHR_create_renderpass2)
566 PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR;
567 PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR;
568 PFN_vkCmdNextSubpass2KHR vkCmdNextSubpass2KHR;
569 PFN_vkCreateRenderPass2KHR vkCreateRenderPass2KHR;
570#endif /* defined(VK_KHR_create_renderpass2) */
571#if defined(VK_KHR_deferred_host_operations)
572 PFN_vkCreateDeferredOperationKHR vkCreateDeferredOperationKHR;
573 PFN_vkDeferredOperationJoinKHR vkDeferredOperationJoinKHR;
574 PFN_vkDestroyDeferredOperationKHR vkDestroyDeferredOperationKHR;
575 PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR;
576 PFN_vkGetDeferredOperationResultKHR vkGetDeferredOperationResultKHR;
577#endif /* defined(VK_KHR_deferred_host_operations) */
578#if defined(VK_KHR_descriptor_update_template)
579 PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR;
580 PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR;
581 PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR;
582#endif /* defined(VK_KHR_descriptor_update_template) */
583#if defined(VK_KHR_device_group)
584 PFN_vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR;
585 PFN_vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR;
586 PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR;
587#endif /* defined(VK_KHR_device_group) */
588#if defined(VK_KHR_display_swapchain)
589 PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR;
590#endif /* defined(VK_KHR_display_swapchain) */
591#if defined(VK_KHR_draw_indirect_count)
592 PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR;
593 PFN_vkCmdDrawIndirectCountKHR vkCmdDrawIndirectCountKHR;
594#endif /* defined(VK_KHR_draw_indirect_count) */
595#if defined(VK_KHR_dynamic_rendering)
596 PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR;
597 PFN_vkCmdEndRenderingKHR vkCmdEndRenderingKHR;
598#endif /* defined(VK_KHR_dynamic_rendering) */
599#if defined(VK_KHR_external_fence_fd)
600 PFN_vkGetFenceFdKHR vkGetFenceFdKHR;
601 PFN_vkImportFenceFdKHR vkImportFenceFdKHR;
602#endif /* defined(VK_KHR_external_fence_fd) */
603#if defined(VK_KHR_external_fence_win32)
604 PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR;
605 PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR;
606#endif /* defined(VK_KHR_external_fence_win32) */
607#if defined(VK_KHR_external_memory_fd)
608 PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR;
609 PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR;
610#endif /* defined(VK_KHR_external_memory_fd) */
611#if defined(VK_KHR_external_memory_win32)
612 PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR;
613 PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR;
614#endif /* defined(VK_KHR_external_memory_win32) */
615#if defined(VK_KHR_external_semaphore_fd)
616 PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR;
617 PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR;
618#endif /* defined(VK_KHR_external_semaphore_fd) */
619#if defined(VK_KHR_external_semaphore_win32)
620 PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR;
621 PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR;
622#endif /* defined(VK_KHR_external_semaphore_win32) */
623#if defined(VK_KHR_fragment_shading_rate)
624 PFN_vkCmdSetFragmentShadingRateKHR vkCmdSetFragmentShadingRateKHR;
625#endif /* defined(VK_KHR_fragment_shading_rate) */
626#if defined(VK_KHR_get_memory_requirements2)
627 PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR;
628 PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR;
629 PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR;
630#endif /* defined(VK_KHR_get_memory_requirements2) */
631#if defined(VK_KHR_maintenance1)
632 PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR;
633#endif /* defined(VK_KHR_maintenance1) */
634#if defined(VK_KHR_maintenance3)
635 PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR;
636#endif /* defined(VK_KHR_maintenance3) */
637#if defined(VK_KHR_maintenance4)
638 PFN_vkGetDeviceBufferMemoryRequirementsKHR vkGetDeviceBufferMemoryRequirementsKHR;
639 PFN_vkGetDeviceImageMemoryRequirementsKHR vkGetDeviceImageMemoryRequirementsKHR;
640 PFN_vkGetDeviceImageSparseMemoryRequirementsKHR vkGetDeviceImageSparseMemoryRequirementsKHR;
641#endif /* defined(VK_KHR_maintenance4) */
642#if defined(VK_KHR_map_memory2)
643 PFN_vkMapMemory2KHR vkMapMemory2KHR;
644 PFN_vkUnmapMemory2KHR vkUnmapMemory2KHR;
645#endif /* defined(VK_KHR_map_memory2) */
646#if defined(VK_KHR_performance_query)
647 PFN_vkAcquireProfilingLockKHR vkAcquireProfilingLockKHR;
648 PFN_vkReleaseProfilingLockKHR vkReleaseProfilingLockKHR;
649#endif /* defined(VK_KHR_performance_query) */
650#if defined(VK_KHR_pipeline_executable_properties)
651 PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR;
652 PFN_vkGetPipelineExecutablePropertiesKHR vkGetPipelineExecutablePropertiesKHR;
653 PFN_vkGetPipelineExecutableStatisticsKHR vkGetPipelineExecutableStatisticsKHR;
654#endif /* defined(VK_KHR_pipeline_executable_properties) */
655#if defined(VK_KHR_present_wait)
656 PFN_vkWaitForPresentKHR vkWaitForPresentKHR;
657#endif /* defined(VK_KHR_present_wait) */
658#if defined(VK_KHR_push_descriptor)
659 PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR;
660#endif /* defined(VK_KHR_push_descriptor) */
661#if defined(VK_KHR_ray_tracing_maintenance1) && defined(VK_KHR_ray_tracing_pipeline)
662 PFN_vkCmdTraceRaysIndirect2KHR vkCmdTraceRaysIndirect2KHR;
663#endif /* defined(VK_KHR_ray_tracing_maintenance1) && defined(VK_KHR_ray_tracing_pipeline) */
664#if defined(VK_KHR_ray_tracing_pipeline)
665 PFN_vkCmdSetRayTracingPipelineStackSizeKHR vkCmdSetRayTracingPipelineStackSizeKHR;
666 PFN_vkCmdTraceRaysIndirectKHR vkCmdTraceRaysIndirectKHR;
667 PFN_vkCmdTraceRaysKHR vkCmdTraceRaysKHR;
668 PFN_vkCreateRayTracingPipelinesKHR vkCreateRayTracingPipelinesKHR;
669 PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR;
670 PFN_vkGetRayTracingShaderGroupHandlesKHR vkGetRayTracingShaderGroupHandlesKHR;
671 PFN_vkGetRayTracingShaderGroupStackSizeKHR vkGetRayTracingShaderGroupStackSizeKHR;
672#endif /* defined(VK_KHR_ray_tracing_pipeline) */
673#if defined(VK_KHR_sampler_ycbcr_conversion)
674 PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR;
675 PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR;
676#endif /* defined(VK_KHR_sampler_ycbcr_conversion) */
677#if defined(VK_KHR_shared_presentable_image)
678 PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR;
679#endif /* defined(VK_KHR_shared_presentable_image) */
680#if defined(VK_KHR_swapchain)
681 PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR;
682 PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR;
683 PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR;
684 PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR;
685 PFN_vkQueuePresentKHR vkQueuePresentKHR;
686#endif /* defined(VK_KHR_swapchain) */
687#if defined(VK_KHR_synchronization2)
688 PFN_vkCmdPipelineBarrier2KHR vkCmdPipelineBarrier2KHR;
689 PFN_vkCmdResetEvent2KHR vkCmdResetEvent2KHR;
690 PFN_vkCmdSetEvent2KHR vkCmdSetEvent2KHR;
691 PFN_vkCmdWaitEvents2KHR vkCmdWaitEvents2KHR;
692 PFN_vkCmdWriteTimestamp2KHR vkCmdWriteTimestamp2KHR;
693 PFN_vkQueueSubmit2KHR vkQueueSubmit2KHR;
694#endif /* defined(VK_KHR_synchronization2) */
695#if defined(VK_KHR_synchronization2) && defined(VK_AMD_buffer_marker)
696 PFN_vkCmdWriteBufferMarker2AMD vkCmdWriteBufferMarker2AMD;
697#endif /* defined(VK_KHR_synchronization2) && defined(VK_AMD_buffer_marker) */
698#if defined(VK_KHR_synchronization2) && defined(VK_NV_device_diagnostic_checkpoints)
699 PFN_vkGetQueueCheckpointData2NV vkGetQueueCheckpointData2NV;
700#endif /* defined(VK_KHR_synchronization2) && defined(VK_NV_device_diagnostic_checkpoints) */
701#if defined(VK_KHR_timeline_semaphore)
702 PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR;
703 PFN_vkSignalSemaphoreKHR vkSignalSemaphoreKHR;
704 PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR;
705#endif /* defined(VK_KHR_timeline_semaphore) */
706#if defined(VK_KHR_video_decode_queue)
707 PFN_vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR;
708#endif /* defined(VK_KHR_video_decode_queue) */
709#if defined(VK_KHR_video_encode_queue)
710 PFN_vkCmdEncodeVideoKHR vkCmdEncodeVideoKHR;
711#endif /* defined(VK_KHR_video_encode_queue) */
712#if defined(VK_KHR_video_queue)
713 PFN_vkBindVideoSessionMemoryKHR vkBindVideoSessionMemoryKHR;
714 PFN_vkCmdBeginVideoCodingKHR vkCmdBeginVideoCodingKHR;
715 PFN_vkCmdControlVideoCodingKHR vkCmdControlVideoCodingKHR;
716 PFN_vkCmdEndVideoCodingKHR vkCmdEndVideoCodingKHR;
717 PFN_vkCreateVideoSessionKHR vkCreateVideoSessionKHR;
718 PFN_vkCreateVideoSessionParametersKHR vkCreateVideoSessionParametersKHR;
719 PFN_vkDestroyVideoSessionKHR vkDestroyVideoSessionKHR;
720 PFN_vkDestroyVideoSessionParametersKHR vkDestroyVideoSessionParametersKHR;
721 PFN_vkGetVideoSessionMemoryRequirementsKHR vkGetVideoSessionMemoryRequirementsKHR;
722 PFN_vkUpdateVideoSessionParametersKHR vkUpdateVideoSessionParametersKHR;
723#endif /* defined(VK_KHR_video_queue) */
724#if defined(VK_NVX_binary_import)
725 PFN_vkCmdCuLaunchKernelNVX vkCmdCuLaunchKernelNVX;
726 PFN_vkCreateCuFunctionNVX vkCreateCuFunctionNVX;
727 PFN_vkCreateCuModuleNVX vkCreateCuModuleNVX;
728 PFN_vkDestroyCuFunctionNVX vkDestroyCuFunctionNVX;
729 PFN_vkDestroyCuModuleNVX vkDestroyCuModuleNVX;
730#endif /* defined(VK_NVX_binary_import) */
731#if defined(VK_NVX_image_view_handle)
732 PFN_vkGetImageViewAddressNVX vkGetImageViewAddressNVX;
733 PFN_vkGetImageViewHandleNVX vkGetImageViewHandleNVX;
734#endif /* defined(VK_NVX_image_view_handle) */
735#if defined(VK_NV_clip_space_w_scaling)
736 PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV;
737#endif /* defined(VK_NV_clip_space_w_scaling) */
738#if defined(VK_NV_copy_memory_indirect)
739 PFN_vkCmdCopyMemoryIndirectNV vkCmdCopyMemoryIndirectNV;
740 PFN_vkCmdCopyMemoryToImageIndirectNV vkCmdCopyMemoryToImageIndirectNV;
741#endif /* defined(VK_NV_copy_memory_indirect) */
742#if defined(VK_NV_device_diagnostic_checkpoints)
743 PFN_vkCmdSetCheckpointNV vkCmdSetCheckpointNV;
744 PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV;
745#endif /* defined(VK_NV_device_diagnostic_checkpoints) */
746#if defined(VK_NV_device_generated_commands)
747 PFN_vkCmdBindPipelineShaderGroupNV vkCmdBindPipelineShaderGroupNV;
748 PFN_vkCmdExecuteGeneratedCommandsNV vkCmdExecuteGeneratedCommandsNV;
749 PFN_vkCmdPreprocessGeneratedCommandsNV vkCmdPreprocessGeneratedCommandsNV;
750 PFN_vkCreateIndirectCommandsLayoutNV vkCreateIndirectCommandsLayoutNV;
751 PFN_vkDestroyIndirectCommandsLayoutNV vkDestroyIndirectCommandsLayoutNV;
752 PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV;
753#endif /* defined(VK_NV_device_generated_commands) */
754#if defined(VK_NV_external_memory_rdma)
755 PFN_vkGetMemoryRemoteAddressNV vkGetMemoryRemoteAddressNV;
756#endif /* defined(VK_NV_external_memory_rdma) */
757#if defined(VK_NV_external_memory_win32)
758 PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV;
759#endif /* defined(VK_NV_external_memory_win32) */
760#if defined(VK_NV_fragment_shading_rate_enums)
761 PFN_vkCmdSetFragmentShadingRateEnumNV vkCmdSetFragmentShadingRateEnumNV;
762#endif /* defined(VK_NV_fragment_shading_rate_enums) */
763#if defined(VK_NV_memory_decompression)
764 PFN_vkCmdDecompressMemoryIndirectCountNV vkCmdDecompressMemoryIndirectCountNV;
765 PFN_vkCmdDecompressMemoryNV vkCmdDecompressMemoryNV;
766#endif /* defined(VK_NV_memory_decompression) */
767#if defined(VK_NV_mesh_shader)
768 PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV;
769 PFN_vkCmdDrawMeshTasksIndirectNV vkCmdDrawMeshTasksIndirectNV;
770 PFN_vkCmdDrawMeshTasksNV vkCmdDrawMeshTasksNV;
771#endif /* defined(VK_NV_mesh_shader) */
772#if defined(VK_NV_optical_flow)
773 PFN_vkBindOpticalFlowSessionImageNV vkBindOpticalFlowSessionImageNV;
774 PFN_vkCmdOpticalFlowExecuteNV vkCmdOpticalFlowExecuteNV;
775 PFN_vkCreateOpticalFlowSessionNV vkCreateOpticalFlowSessionNV;
776 PFN_vkDestroyOpticalFlowSessionNV vkDestroyOpticalFlowSessionNV;
777#endif /* defined(VK_NV_optical_flow) */
778#if defined(VK_NV_ray_tracing)
779 PFN_vkBindAccelerationStructureMemoryNV vkBindAccelerationStructureMemoryNV;
780 PFN_vkCmdBuildAccelerationStructureNV vkCmdBuildAccelerationStructureNV;
781 PFN_vkCmdCopyAccelerationStructureNV vkCmdCopyAccelerationStructureNV;
782 PFN_vkCmdTraceRaysNV vkCmdTraceRaysNV;
783 PFN_vkCmdWriteAccelerationStructuresPropertiesNV vkCmdWriteAccelerationStructuresPropertiesNV;
784 PFN_vkCompileDeferredNV vkCompileDeferredNV;
785 PFN_vkCreateAccelerationStructureNV vkCreateAccelerationStructureNV;
786 PFN_vkCreateRayTracingPipelinesNV vkCreateRayTracingPipelinesNV;
787 PFN_vkDestroyAccelerationStructureNV vkDestroyAccelerationStructureNV;
788 PFN_vkGetAccelerationStructureHandleNV vkGetAccelerationStructureHandleNV;
789 PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV;
790 PFN_vkGetRayTracingShaderGroupHandlesNV vkGetRayTracingShaderGroupHandlesNV;
791#endif /* defined(VK_NV_ray_tracing) */
792#if defined(VK_NV_scissor_exclusive) && VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION >= 2
793 PFN_vkCmdSetExclusiveScissorEnableNV vkCmdSetExclusiveScissorEnableNV;
794#endif /* defined(VK_NV_scissor_exclusive) && VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION >= 2 */
795#if defined(VK_NV_scissor_exclusive)
796 PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV;
797#endif /* defined(VK_NV_scissor_exclusive) */
798#if defined(VK_NV_shading_rate_image)
799 PFN_vkCmdBindShadingRateImageNV vkCmdBindShadingRateImageNV;
800 PFN_vkCmdSetCoarseSampleOrderNV vkCmdSetCoarseSampleOrderNV;
801 PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV;
802#endif /* defined(VK_NV_shading_rate_image) */
803#if defined(VK_QCOM_tile_properties)
804 PFN_vkGetDynamicRenderingTilePropertiesQCOM vkGetDynamicRenderingTilePropertiesQCOM;
805 PFN_vkGetFramebufferTilePropertiesQCOM vkGetFramebufferTilePropertiesQCOM;
806#endif /* defined(VK_QCOM_tile_properties) */
807#if defined(VK_VALVE_descriptor_set_host_mapping)
808 PFN_vkGetDescriptorSetHostMappingVALVE vkGetDescriptorSetHostMappingVALVE;
809 PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE vkGetDescriptorSetLayoutHostMappingInfoVALVE;
810#endif /* defined(VK_VALVE_descriptor_set_host_mapping) */
811#if (defined(VK_EXT_extended_dynamic_state)) || (defined(VK_EXT_shader_object))
812 PFN_vkCmdBindVertexBuffers2EXT vkCmdBindVertexBuffers2EXT;
813 PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT;
814 PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT;
815 PFN_vkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXT;
816 PFN_vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT;
817 PFN_vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT;
818 PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT;
819 PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT;
820 PFN_vkCmdSetScissorWithCountEXT vkCmdSetScissorWithCountEXT;
821 PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT;
822 PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT;
823 PFN_vkCmdSetViewportWithCountEXT vkCmdSetViewportWithCountEXT;
824#endif /* (defined(VK_EXT_extended_dynamic_state)) || (defined(VK_EXT_shader_object)) */
825#if (defined(VK_EXT_extended_dynamic_state2)) || (defined(VK_EXT_shader_object))
826 PFN_vkCmdSetDepthBiasEnableEXT vkCmdSetDepthBiasEnableEXT;
827 PFN_vkCmdSetLogicOpEXT vkCmdSetLogicOpEXT;
828 PFN_vkCmdSetPatchControlPointsEXT vkCmdSetPatchControlPointsEXT;
829 PFN_vkCmdSetPrimitiveRestartEnableEXT vkCmdSetPrimitiveRestartEnableEXT;
830 PFN_vkCmdSetRasterizerDiscardEnableEXT vkCmdSetRasterizerDiscardEnableEXT;
831#endif /* (defined(VK_EXT_extended_dynamic_state2)) || (defined(VK_EXT_shader_object)) */
832#if (defined(VK_EXT_extended_dynamic_state3)) || (defined(VK_EXT_shader_object))
833 PFN_vkCmdSetAlphaToCoverageEnableEXT vkCmdSetAlphaToCoverageEnableEXT;
834 PFN_vkCmdSetAlphaToOneEnableEXT vkCmdSetAlphaToOneEnableEXT;
835 PFN_vkCmdSetColorBlendAdvancedEXT vkCmdSetColorBlendAdvancedEXT;
836 PFN_vkCmdSetColorBlendEnableEXT vkCmdSetColorBlendEnableEXT;
837 PFN_vkCmdSetColorBlendEquationEXT vkCmdSetColorBlendEquationEXT;
838 PFN_vkCmdSetColorWriteMaskEXT vkCmdSetColorWriteMaskEXT;
839 PFN_vkCmdSetConservativeRasterizationModeEXT vkCmdSetConservativeRasterizationModeEXT;
840 PFN_vkCmdSetCoverageModulationModeNV vkCmdSetCoverageModulationModeNV;
841 PFN_vkCmdSetCoverageModulationTableEnableNV vkCmdSetCoverageModulationTableEnableNV;
842 PFN_vkCmdSetCoverageModulationTableNV vkCmdSetCoverageModulationTableNV;
843 PFN_vkCmdSetCoverageReductionModeNV vkCmdSetCoverageReductionModeNV;
844 PFN_vkCmdSetCoverageToColorEnableNV vkCmdSetCoverageToColorEnableNV;
845 PFN_vkCmdSetCoverageToColorLocationNV vkCmdSetCoverageToColorLocationNV;
846 PFN_vkCmdSetDepthClampEnableEXT vkCmdSetDepthClampEnableEXT;
847 PFN_vkCmdSetDepthClipEnableEXT vkCmdSetDepthClipEnableEXT;
848 PFN_vkCmdSetDepthClipNegativeOneToOneEXT vkCmdSetDepthClipNegativeOneToOneEXT;
849 PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT vkCmdSetExtraPrimitiveOverestimationSizeEXT;
850 PFN_vkCmdSetLineRasterizationModeEXT vkCmdSetLineRasterizationModeEXT;
851 PFN_vkCmdSetLineStippleEnableEXT vkCmdSetLineStippleEnableEXT;
852 PFN_vkCmdSetLogicOpEnableEXT vkCmdSetLogicOpEnableEXT;
853 PFN_vkCmdSetPolygonModeEXT vkCmdSetPolygonModeEXT;
854 PFN_vkCmdSetProvokingVertexModeEXT vkCmdSetProvokingVertexModeEXT;
855 PFN_vkCmdSetRasterizationSamplesEXT vkCmdSetRasterizationSamplesEXT;
856 PFN_vkCmdSetRasterizationStreamEXT vkCmdSetRasterizationStreamEXT;
857 PFN_vkCmdSetRepresentativeFragmentTestEnableNV vkCmdSetRepresentativeFragmentTestEnableNV;
858 PFN_vkCmdSetSampleLocationsEnableEXT vkCmdSetSampleLocationsEnableEXT;
859 PFN_vkCmdSetSampleMaskEXT vkCmdSetSampleMaskEXT;
860 PFN_vkCmdSetShadingRateImageEnableNV vkCmdSetShadingRateImageEnableNV;
861 PFN_vkCmdSetTessellationDomainOriginEXT vkCmdSetTessellationDomainOriginEXT;
862 PFN_vkCmdSetViewportSwizzleNV vkCmdSetViewportSwizzleNV;
863 PFN_vkCmdSetViewportWScalingEnableNV vkCmdSetViewportWScalingEnableNV;
864#endif /* (defined(VK_EXT_extended_dynamic_state3)) || (defined(VK_EXT_shader_object)) */
865#if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1))
866 PFN_vkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXT;
867#endif /* (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) */
868#if (defined(VK_EXT_shader_object)) || (defined(VK_EXT_vertex_input_dynamic_state))
869 PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT;
870#endif /* (defined(VK_EXT_shader_object)) || (defined(VK_EXT_vertex_input_dynamic_state)) */
871#if (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template))
872 PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR;
873#endif /* (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template)) */
874#if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
875 PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR;
876 PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR;
877#endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
878#if (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
879 PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR;
880#endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
881 /* VOLK_GENERATE_DEVICE_TABLE */
882};
883
884/* VOLK_GENERATE_PROTOTYPES_H */
885#if defined(VK_VERSION_1_0)
886extern PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers;
887extern PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets;
888extern PFN_vkAllocateMemory vkAllocateMemory;
889extern PFN_vkBeginCommandBuffer vkBeginCommandBuffer;
890extern PFN_vkBindBufferMemory vkBindBufferMemory;
891extern PFN_vkBindImageMemory vkBindImageMemory;
892extern PFN_vkCmdBeginQuery vkCmdBeginQuery;
893extern PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass;
894extern PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets;
895extern PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer;
896extern PFN_vkCmdBindPipeline vkCmdBindPipeline;
897extern PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers;
898extern PFN_vkCmdBlitImage vkCmdBlitImage;
899extern PFN_vkCmdClearAttachments vkCmdClearAttachments;
900extern PFN_vkCmdClearColorImage vkCmdClearColorImage;
901extern PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage;
902extern PFN_vkCmdCopyBuffer vkCmdCopyBuffer;
903extern PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage;
904extern PFN_vkCmdCopyImage vkCmdCopyImage;
905extern PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer;
906extern PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults;
907extern PFN_vkCmdDispatch vkCmdDispatch;
908extern PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect;
909extern PFN_vkCmdDraw vkCmdDraw;
910extern PFN_vkCmdDrawIndexed vkCmdDrawIndexed;
911extern PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect;
912extern PFN_vkCmdDrawIndirect vkCmdDrawIndirect;
913extern PFN_vkCmdEndQuery vkCmdEndQuery;
914extern PFN_vkCmdEndRenderPass vkCmdEndRenderPass;
915extern PFN_vkCmdExecuteCommands vkCmdExecuteCommands;
916extern PFN_vkCmdFillBuffer vkCmdFillBuffer;
917extern PFN_vkCmdNextSubpass vkCmdNextSubpass;
918extern PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier;
919extern PFN_vkCmdPushConstants vkCmdPushConstants;
920extern PFN_vkCmdResetEvent vkCmdResetEvent;
921extern PFN_vkCmdResetQueryPool vkCmdResetQueryPool;
922extern PFN_vkCmdResolveImage vkCmdResolveImage;
923extern PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants;
924extern PFN_vkCmdSetDepthBias vkCmdSetDepthBias;
925extern PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds;
926extern PFN_vkCmdSetEvent vkCmdSetEvent;
927extern PFN_vkCmdSetLineWidth vkCmdSetLineWidth;
928extern PFN_vkCmdSetScissor vkCmdSetScissor;
929extern PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask;
930extern PFN_vkCmdSetStencilReference vkCmdSetStencilReference;
931extern PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask;
932extern PFN_vkCmdSetViewport vkCmdSetViewport;
933extern PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer;
934extern PFN_vkCmdWaitEvents vkCmdWaitEvents;
935extern PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp;
936extern PFN_vkCreateBuffer vkCreateBuffer;
937extern PFN_vkCreateBufferView vkCreateBufferView;
938extern PFN_vkCreateCommandPool vkCreateCommandPool;
939extern PFN_vkCreateComputePipelines vkCreateComputePipelines;
940extern PFN_vkCreateDescriptorPool vkCreateDescriptorPool;
941extern PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout;
942extern PFN_vkCreateDevice vkCreateDevice;
943extern PFN_vkCreateEvent vkCreateEvent;
944extern PFN_vkCreateFence vkCreateFence;
945extern PFN_vkCreateFramebuffer vkCreateFramebuffer;
946extern PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines;
947extern PFN_vkCreateImage vkCreateImage;
948extern PFN_vkCreateImageView vkCreateImageView;
949extern PFN_vkCreateInstance vkCreateInstance;
950extern PFN_vkCreatePipelineCache vkCreatePipelineCache;
951extern PFN_vkCreatePipelineLayout vkCreatePipelineLayout;
952extern PFN_vkCreateQueryPool vkCreateQueryPool;
953extern PFN_vkCreateRenderPass vkCreateRenderPass;
954extern PFN_vkCreateSampler vkCreateSampler;
955extern PFN_vkCreateSemaphore vkCreateSemaphore;
956extern PFN_vkCreateShaderModule vkCreateShaderModule;
957extern PFN_vkDestroyBuffer vkDestroyBuffer;
958extern PFN_vkDestroyBufferView vkDestroyBufferView;
959extern PFN_vkDestroyCommandPool vkDestroyCommandPool;
960extern PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool;
961extern PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout;
962extern PFN_vkDestroyDevice vkDestroyDevice;
963extern PFN_vkDestroyEvent vkDestroyEvent;
964extern PFN_vkDestroyFence vkDestroyFence;
965extern PFN_vkDestroyFramebuffer vkDestroyFramebuffer;
966extern PFN_vkDestroyImage vkDestroyImage;
967extern PFN_vkDestroyImageView vkDestroyImageView;
968extern PFN_vkDestroyInstance vkDestroyInstance;
969extern PFN_vkDestroyPipeline vkDestroyPipeline;
970extern PFN_vkDestroyPipelineCache vkDestroyPipelineCache;
971extern PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout;
972extern PFN_vkDestroyQueryPool vkDestroyQueryPool;
973extern PFN_vkDestroyRenderPass vkDestroyRenderPass;
974extern PFN_vkDestroySampler vkDestroySampler;
975extern PFN_vkDestroySemaphore vkDestroySemaphore;
976extern PFN_vkDestroyShaderModule vkDestroyShaderModule;
977extern PFN_vkDeviceWaitIdle vkDeviceWaitIdle;
978extern PFN_vkEndCommandBuffer vkEndCommandBuffer;
979extern PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties;
980extern PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties;
981extern PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties;
982extern PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties;
983extern PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices;
984extern PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges;
985extern PFN_vkFreeCommandBuffers vkFreeCommandBuffers;
986extern PFN_vkFreeDescriptorSets vkFreeDescriptorSets;
987extern PFN_vkFreeMemory vkFreeMemory;
988extern PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements;
989extern PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment;
990extern PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr;
991extern PFN_vkGetDeviceQueue vkGetDeviceQueue;
992extern PFN_vkGetEventStatus vkGetEventStatus;
993extern PFN_vkGetFenceStatus vkGetFenceStatus;
994extern PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements;
995extern PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements;
996extern PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout;
997extern PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr;
998extern PFN_vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures;
999extern PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties;
1000extern PFN_vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties;
1001extern PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties;
1002extern PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties;
1003extern PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties;
1004extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties;
1005extern PFN_vkGetPipelineCacheData vkGetPipelineCacheData;
1006extern PFN_vkGetQueryPoolResults vkGetQueryPoolResults;
1007extern PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity;
1008extern PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges;
1009extern PFN_vkMapMemory vkMapMemory;
1010extern PFN_vkMergePipelineCaches vkMergePipelineCaches;
1011extern PFN_vkQueueBindSparse vkQueueBindSparse;
1012extern PFN_vkQueueSubmit vkQueueSubmit;
1013extern PFN_vkQueueWaitIdle vkQueueWaitIdle;
1014extern PFN_vkResetCommandBuffer vkResetCommandBuffer;
1015extern PFN_vkResetCommandPool vkResetCommandPool;
1016extern PFN_vkResetDescriptorPool vkResetDescriptorPool;
1017extern PFN_vkResetEvent vkResetEvent;
1018extern PFN_vkResetFences vkResetFences;
1019extern PFN_vkSetEvent vkSetEvent;
1020extern PFN_vkUnmapMemory vkUnmapMemory;
1021extern PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets;
1022extern PFN_vkWaitForFences vkWaitForFences;
1023#endif /* defined(VK_VERSION_1_0) */
1024#if defined(VK_VERSION_1_1)
1025extern PFN_vkBindBufferMemory2 vkBindBufferMemory2;
1026extern PFN_vkBindImageMemory2 vkBindImageMemory2;
1027extern PFN_vkCmdDispatchBase vkCmdDispatchBase;
1028extern PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask;
1029extern PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate;
1030extern PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion;
1031extern PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate;
1032extern PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion;
1033extern PFN_vkEnumerateInstanceVersion vkEnumerateInstanceVersion;
1034extern PFN_vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups;
1035extern PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2;
1036extern PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport;
1037extern PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures;
1038extern PFN_vkGetDeviceQueue2 vkGetDeviceQueue2;
1039extern PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2;
1040extern PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2;
1041extern PFN_vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties;
1042extern PFN_vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties;
1043extern PFN_vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties;
1044extern PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2;
1045extern PFN_vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2;
1046extern PFN_vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2;
1047extern PFN_vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2;
1048extern PFN_vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2;
1049extern PFN_vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2;
1050extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2;
1051extern PFN_vkTrimCommandPool vkTrimCommandPool;
1052extern PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate;
1053#endif /* defined(VK_VERSION_1_1) */
1054#if defined(VK_VERSION_1_2)
1055extern PFN_vkCmdBeginRenderPass2 vkCmdBeginRenderPass2;
1056extern PFN_vkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCount;
1057extern PFN_vkCmdDrawIndirectCount vkCmdDrawIndirectCount;
1058extern PFN_vkCmdEndRenderPass2 vkCmdEndRenderPass2;
1059extern PFN_vkCmdNextSubpass2 vkCmdNextSubpass2;
1060extern PFN_vkCreateRenderPass2 vkCreateRenderPass2;
1061extern PFN_vkGetBufferDeviceAddress vkGetBufferDeviceAddress;
1062extern PFN_vkGetBufferOpaqueCaptureAddress vkGetBufferOpaqueCaptureAddress;
1063extern PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress;
1064extern PFN_vkGetSemaphoreCounterValue vkGetSemaphoreCounterValue;
1065extern PFN_vkResetQueryPool vkResetQueryPool;
1066extern PFN_vkSignalSemaphore vkSignalSemaphore;
1067extern PFN_vkWaitSemaphores vkWaitSemaphores;
1068#endif /* defined(VK_VERSION_1_2) */
1069#if defined(VK_VERSION_1_3)
1070extern PFN_vkCmdBeginRendering vkCmdBeginRendering;
1071extern PFN_vkCmdBindVertexBuffers2 vkCmdBindVertexBuffers2;
1072extern PFN_vkCmdBlitImage2 vkCmdBlitImage2;
1073extern PFN_vkCmdCopyBuffer2 vkCmdCopyBuffer2;
1074extern PFN_vkCmdCopyBufferToImage2 vkCmdCopyBufferToImage2;
1075extern PFN_vkCmdCopyImage2 vkCmdCopyImage2;
1076extern PFN_vkCmdCopyImageToBuffer2 vkCmdCopyImageToBuffer2;
1077extern PFN_vkCmdEndRendering vkCmdEndRendering;
1078extern PFN_vkCmdPipelineBarrier2 vkCmdPipelineBarrier2;
1079extern PFN_vkCmdResetEvent2 vkCmdResetEvent2;
1080extern PFN_vkCmdResolveImage2 vkCmdResolveImage2;
1081extern PFN_vkCmdSetCullMode vkCmdSetCullMode;
1082extern PFN_vkCmdSetDepthBiasEnable vkCmdSetDepthBiasEnable;
1083extern PFN_vkCmdSetDepthBoundsTestEnable vkCmdSetDepthBoundsTestEnable;
1084extern PFN_vkCmdSetDepthCompareOp vkCmdSetDepthCompareOp;
1085extern PFN_vkCmdSetDepthTestEnable vkCmdSetDepthTestEnable;
1086extern PFN_vkCmdSetDepthWriteEnable vkCmdSetDepthWriteEnable;
1087extern PFN_vkCmdSetEvent2 vkCmdSetEvent2;
1088extern PFN_vkCmdSetFrontFace vkCmdSetFrontFace;
1089extern PFN_vkCmdSetPrimitiveRestartEnable vkCmdSetPrimitiveRestartEnable;
1090extern PFN_vkCmdSetPrimitiveTopology vkCmdSetPrimitiveTopology;
1091extern PFN_vkCmdSetRasterizerDiscardEnable vkCmdSetRasterizerDiscardEnable;
1092extern PFN_vkCmdSetScissorWithCount vkCmdSetScissorWithCount;
1093extern PFN_vkCmdSetStencilOp vkCmdSetStencilOp;
1094extern PFN_vkCmdSetStencilTestEnable vkCmdSetStencilTestEnable;
1095extern PFN_vkCmdSetViewportWithCount vkCmdSetViewportWithCount;
1096extern PFN_vkCmdWaitEvents2 vkCmdWaitEvents2;
1097extern PFN_vkCmdWriteTimestamp2 vkCmdWriteTimestamp2;
1098extern PFN_vkCreatePrivateDataSlot vkCreatePrivateDataSlot;
1099extern PFN_vkDestroyPrivateDataSlot vkDestroyPrivateDataSlot;
1100extern PFN_vkGetDeviceBufferMemoryRequirements vkGetDeviceBufferMemoryRequirements;
1101extern PFN_vkGetDeviceImageMemoryRequirements vkGetDeviceImageMemoryRequirements;
1102extern PFN_vkGetDeviceImageSparseMemoryRequirements vkGetDeviceImageSparseMemoryRequirements;
1103extern PFN_vkGetPhysicalDeviceToolProperties vkGetPhysicalDeviceToolProperties;
1104extern PFN_vkGetPrivateData vkGetPrivateData;
1105extern PFN_vkQueueSubmit2 vkQueueSubmit2;
1106extern PFN_vkSetPrivateData vkSetPrivateData;
1107#endif /* defined(VK_VERSION_1_3) */
1108#if defined(VK_AMD_buffer_marker)
1109extern PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD;
1110#endif /* defined(VK_AMD_buffer_marker) */
1111#if defined(VK_AMD_display_native_hdr)
1112extern PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD;
1113#endif /* defined(VK_AMD_display_native_hdr) */
1114#if defined(VK_AMD_draw_indirect_count)
1115extern PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD;
1116extern PFN_vkCmdDrawIndirectCountAMD vkCmdDrawIndirectCountAMD;
1117#endif /* defined(VK_AMD_draw_indirect_count) */
1118#if defined(VK_AMD_shader_info)
1119extern PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD;
1120#endif /* defined(VK_AMD_shader_info) */
1121#if defined(VK_ANDROID_external_memory_android_hardware_buffer)
1122extern PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID;
1123extern PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID;
1124#endif /* defined(VK_ANDROID_external_memory_android_hardware_buffer) */
1125#if defined(VK_EXT_acquire_drm_display)
1126extern PFN_vkAcquireDrmDisplayEXT vkAcquireDrmDisplayEXT;
1127extern PFN_vkGetDrmDisplayEXT vkGetDrmDisplayEXT;
1128#endif /* defined(VK_EXT_acquire_drm_display) */
1129#if defined(VK_EXT_acquire_xlib_display)
1130extern PFN_vkAcquireXlibDisplayEXT vkAcquireXlibDisplayEXT;
1131extern PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT;
1132#endif /* defined(VK_EXT_acquire_xlib_display) */
1133#if defined(VK_EXT_attachment_feedback_loop_dynamic_state)
1134extern PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT vkCmdSetAttachmentFeedbackLoopEnableEXT;
1135#endif /* defined(VK_EXT_attachment_feedback_loop_dynamic_state) */
1136#if defined(VK_EXT_buffer_device_address)
1137extern PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT;
1138#endif /* defined(VK_EXT_buffer_device_address) */
1139#if defined(VK_EXT_calibrated_timestamps)
1140extern PFN_vkGetCalibratedTimestampsEXT vkGetCalibratedTimestampsEXT;
1141extern PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT vkGetPhysicalDeviceCalibrateableTimeDomainsEXT;
1142#endif /* defined(VK_EXT_calibrated_timestamps) */
1143#if defined(VK_EXT_color_write_enable)
1144extern PFN_vkCmdSetColorWriteEnableEXT vkCmdSetColorWriteEnableEXT;
1145#endif /* defined(VK_EXT_color_write_enable) */
1146#if defined(VK_EXT_conditional_rendering)
1147extern PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT;
1148extern PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT;
1149#endif /* defined(VK_EXT_conditional_rendering) */
1150#if defined(VK_EXT_debug_marker)
1151extern PFN_vkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXT;
1152extern PFN_vkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXT;
1153extern PFN_vkCmdDebugMarkerInsertEXT vkCmdDebugMarkerInsertEXT;
1154extern PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT;
1155extern PFN_vkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXT;
1156#endif /* defined(VK_EXT_debug_marker) */
1157#if defined(VK_EXT_debug_report)
1158extern PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT;
1159extern PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT;
1160extern PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT;
1161#endif /* defined(VK_EXT_debug_report) */
1162#if defined(VK_EXT_debug_utils)
1163extern PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT;
1164extern PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT;
1165extern PFN_vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT;
1166extern PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT;
1167extern PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT;
1168extern PFN_vkQueueBeginDebugUtilsLabelEXT vkQueueBeginDebugUtilsLabelEXT;
1169extern PFN_vkQueueEndDebugUtilsLabelEXT vkQueueEndDebugUtilsLabelEXT;
1170extern PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT;
1171extern PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT;
1172extern PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT;
1173extern PFN_vkSubmitDebugUtilsMessageEXT vkSubmitDebugUtilsMessageEXT;
1174#endif /* defined(VK_EXT_debug_utils) */
1175#if defined(VK_EXT_descriptor_buffer)
1176extern PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT vkCmdBindDescriptorBufferEmbeddedSamplersEXT;
1177extern PFN_vkCmdBindDescriptorBuffersEXT vkCmdBindDescriptorBuffersEXT;
1178extern PFN_vkCmdSetDescriptorBufferOffsetsEXT vkCmdSetDescriptorBufferOffsetsEXT;
1179extern PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT vkGetBufferOpaqueCaptureDescriptorDataEXT;
1180extern PFN_vkGetDescriptorEXT vkGetDescriptorEXT;
1181extern PFN_vkGetDescriptorSetLayoutBindingOffsetEXT vkGetDescriptorSetLayoutBindingOffsetEXT;
1182extern PFN_vkGetDescriptorSetLayoutSizeEXT vkGetDescriptorSetLayoutSizeEXT;
1183extern PFN_vkGetImageOpaqueCaptureDescriptorDataEXT vkGetImageOpaqueCaptureDescriptorDataEXT;
1184extern PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT vkGetImageViewOpaqueCaptureDescriptorDataEXT;
1185extern PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT vkGetSamplerOpaqueCaptureDescriptorDataEXT;
1186#endif /* defined(VK_EXT_descriptor_buffer) */
1187#if defined(VK_EXT_descriptor_buffer) && (defined(VK_KHR_acceleration_structure) || defined(VK_NV_ray_tracing))
1188extern PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT;
1189#endif /* defined(VK_EXT_descriptor_buffer) && (defined(VK_KHR_acceleration_structure) || defined(VK_NV_ray_tracing)) */
1190#if defined(VK_EXT_device_fault)
1191extern PFN_vkGetDeviceFaultInfoEXT vkGetDeviceFaultInfoEXT;
1192#endif /* defined(VK_EXT_device_fault) */
1193#if defined(VK_EXT_direct_mode_display)
1194extern PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT;
1195#endif /* defined(VK_EXT_direct_mode_display) */
1196#if defined(VK_EXT_directfb_surface)
1197extern PFN_vkCreateDirectFBSurfaceEXT vkCreateDirectFBSurfaceEXT;
1198extern PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT vkGetPhysicalDeviceDirectFBPresentationSupportEXT;
1199#endif /* defined(VK_EXT_directfb_surface) */
1200#if defined(VK_EXT_discard_rectangles)
1201extern PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT;
1202#endif /* defined(VK_EXT_discard_rectangles) */
1203#if defined(VK_EXT_discard_rectangles) && VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION >= 2
1204extern PFN_vkCmdSetDiscardRectangleEnableEXT vkCmdSetDiscardRectangleEnableEXT;
1205extern PFN_vkCmdSetDiscardRectangleModeEXT vkCmdSetDiscardRectangleModeEXT;
1206#endif /* defined(VK_EXT_discard_rectangles) && VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION >= 2 */
1207#if defined(VK_EXT_display_control)
1208extern PFN_vkDisplayPowerControlEXT vkDisplayPowerControlEXT;
1209extern PFN_vkGetSwapchainCounterEXT vkGetSwapchainCounterEXT;
1210extern PFN_vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT;
1211extern PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT;
1212#endif /* defined(VK_EXT_display_control) */
1213#if defined(VK_EXT_display_surface_counter)
1214extern PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT;
1215#endif /* defined(VK_EXT_display_surface_counter) */
1216#if defined(VK_EXT_external_memory_host)
1217extern PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT;
1218#endif /* defined(VK_EXT_external_memory_host) */
1219#if defined(VK_EXT_full_screen_exclusive)
1220extern PFN_vkAcquireFullScreenExclusiveModeEXT vkAcquireFullScreenExclusiveModeEXT;
1221extern PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT vkGetPhysicalDeviceSurfacePresentModes2EXT;
1222extern PFN_vkReleaseFullScreenExclusiveModeEXT vkReleaseFullScreenExclusiveModeEXT;
1223#endif /* defined(VK_EXT_full_screen_exclusive) */
1224#if defined(VK_EXT_hdr_metadata)
1225extern PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT;
1226#endif /* defined(VK_EXT_hdr_metadata) */
1227#if defined(VK_EXT_headless_surface)
1228extern PFN_vkCreateHeadlessSurfaceEXT vkCreateHeadlessSurfaceEXT;
1229#endif /* defined(VK_EXT_headless_surface) */
1230#if defined(VK_EXT_host_query_reset)
1231extern PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT;
1232#endif /* defined(VK_EXT_host_query_reset) */
1233#if defined(VK_EXT_image_compression_control)
1234extern PFN_vkGetImageSubresourceLayout2EXT vkGetImageSubresourceLayout2EXT;
1235#endif /* defined(VK_EXT_image_compression_control) */
1236#if defined(VK_EXT_image_drm_format_modifier)
1237extern PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT;
1238#endif /* defined(VK_EXT_image_drm_format_modifier) */
1239#if defined(VK_EXT_line_rasterization)
1240extern PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT;
1241#endif /* defined(VK_EXT_line_rasterization) */
1242#if defined(VK_EXT_mesh_shader)
1243extern PFN_vkCmdDrawMeshTasksEXT vkCmdDrawMeshTasksEXT;
1244extern PFN_vkCmdDrawMeshTasksIndirectCountEXT vkCmdDrawMeshTasksIndirectCountEXT;
1245extern PFN_vkCmdDrawMeshTasksIndirectEXT vkCmdDrawMeshTasksIndirectEXT;
1246#endif /* defined(VK_EXT_mesh_shader) */
1247#if defined(VK_EXT_metal_objects)
1248extern PFN_vkExportMetalObjectsEXT vkExportMetalObjectsEXT;
1249#endif /* defined(VK_EXT_metal_objects) */
1250#if defined(VK_EXT_metal_surface)
1251extern PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT;
1252#endif /* defined(VK_EXT_metal_surface) */
1253#if defined(VK_EXT_multi_draw)
1254extern PFN_vkCmdDrawMultiEXT vkCmdDrawMultiEXT;
1255extern PFN_vkCmdDrawMultiIndexedEXT vkCmdDrawMultiIndexedEXT;
1256#endif /* defined(VK_EXT_multi_draw) */
1257#if defined(VK_EXT_opacity_micromap)
1258extern PFN_vkBuildMicromapsEXT vkBuildMicromapsEXT;
1259extern PFN_vkCmdBuildMicromapsEXT vkCmdBuildMicromapsEXT;
1260extern PFN_vkCmdCopyMemoryToMicromapEXT vkCmdCopyMemoryToMicromapEXT;
1261extern PFN_vkCmdCopyMicromapEXT vkCmdCopyMicromapEXT;
1262extern PFN_vkCmdCopyMicromapToMemoryEXT vkCmdCopyMicromapToMemoryEXT;
1263extern PFN_vkCmdWriteMicromapsPropertiesEXT vkCmdWriteMicromapsPropertiesEXT;
1264extern PFN_vkCopyMemoryToMicromapEXT vkCopyMemoryToMicromapEXT;
1265extern PFN_vkCopyMicromapEXT vkCopyMicromapEXT;
1266extern PFN_vkCopyMicromapToMemoryEXT vkCopyMicromapToMemoryEXT;
1267extern PFN_vkCreateMicromapEXT vkCreateMicromapEXT;
1268extern PFN_vkDestroyMicromapEXT vkDestroyMicromapEXT;
1269extern PFN_vkGetDeviceMicromapCompatibilityEXT vkGetDeviceMicromapCompatibilityEXT;
1270extern PFN_vkGetMicromapBuildSizesEXT vkGetMicromapBuildSizesEXT;
1271extern PFN_vkWriteMicromapsPropertiesEXT vkWriteMicromapsPropertiesEXT;
1272#endif /* defined(VK_EXT_opacity_micromap) */
1273#if defined(VK_EXT_pageable_device_local_memory)
1274extern PFN_vkSetDeviceMemoryPriorityEXT vkSetDeviceMemoryPriorityEXT;
1275#endif /* defined(VK_EXT_pageable_device_local_memory) */
1276#if defined(VK_EXT_pipeline_properties)
1277extern PFN_vkGetPipelinePropertiesEXT vkGetPipelinePropertiesEXT;
1278#endif /* defined(VK_EXT_pipeline_properties) */
1279#if defined(VK_EXT_private_data)
1280extern PFN_vkCreatePrivateDataSlotEXT vkCreatePrivateDataSlotEXT;
1281extern PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT;
1282extern PFN_vkGetPrivateDataEXT vkGetPrivateDataEXT;
1283extern PFN_vkSetPrivateDataEXT vkSetPrivateDataEXT;
1284#endif /* defined(VK_EXT_private_data) */
1285#if defined(VK_EXT_sample_locations)
1286extern PFN_vkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXT;
1287extern PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT vkGetPhysicalDeviceMultisamplePropertiesEXT;
1288#endif /* defined(VK_EXT_sample_locations) */
1289#if defined(VK_EXT_shader_module_identifier)
1290extern PFN_vkGetShaderModuleCreateInfoIdentifierEXT vkGetShaderModuleCreateInfoIdentifierEXT;
1291extern PFN_vkGetShaderModuleIdentifierEXT vkGetShaderModuleIdentifierEXT;
1292#endif /* defined(VK_EXT_shader_module_identifier) */
1293#if defined(VK_EXT_shader_object)
1294extern PFN_vkCmdBindShadersEXT vkCmdBindShadersEXT;
1295extern PFN_vkCreateShadersEXT vkCreateShadersEXT;
1296extern PFN_vkDestroyShaderEXT vkDestroyShaderEXT;
1297extern PFN_vkGetShaderBinaryDataEXT vkGetShaderBinaryDataEXT;
1298#endif /* defined(VK_EXT_shader_object) */
1299#if defined(VK_EXT_swapchain_maintenance1)
1300extern PFN_vkReleaseSwapchainImagesEXT vkReleaseSwapchainImagesEXT;
1301#endif /* defined(VK_EXT_swapchain_maintenance1) */
1302#if defined(VK_EXT_tooling_info)
1303extern PFN_vkGetPhysicalDeviceToolPropertiesEXT vkGetPhysicalDeviceToolPropertiesEXT;
1304#endif /* defined(VK_EXT_tooling_info) */
1305#if defined(VK_EXT_transform_feedback)
1306extern PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT;
1307extern PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT;
1308extern PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT;
1309extern PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT;
1310extern PFN_vkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXT;
1311extern PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT;
1312#endif /* defined(VK_EXT_transform_feedback) */
1313#if defined(VK_EXT_validation_cache)
1314extern PFN_vkCreateValidationCacheEXT vkCreateValidationCacheEXT;
1315extern PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT;
1316extern PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT;
1317extern PFN_vkMergeValidationCachesEXT vkMergeValidationCachesEXT;
1318#endif /* defined(VK_EXT_validation_cache) */
1319#if defined(VK_FUCHSIA_buffer_collection)
1320extern PFN_vkCreateBufferCollectionFUCHSIA vkCreateBufferCollectionFUCHSIA;
1321extern PFN_vkDestroyBufferCollectionFUCHSIA vkDestroyBufferCollectionFUCHSIA;
1322extern PFN_vkGetBufferCollectionPropertiesFUCHSIA vkGetBufferCollectionPropertiesFUCHSIA;
1323extern PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA vkSetBufferCollectionBufferConstraintsFUCHSIA;
1324extern PFN_vkSetBufferCollectionImageConstraintsFUCHSIA vkSetBufferCollectionImageConstraintsFUCHSIA;
1325#endif /* defined(VK_FUCHSIA_buffer_collection) */
1326#if defined(VK_FUCHSIA_external_memory)
1327extern PFN_vkGetMemoryZirconHandleFUCHSIA vkGetMemoryZirconHandleFUCHSIA;
1328extern PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA vkGetMemoryZirconHandlePropertiesFUCHSIA;
1329#endif /* defined(VK_FUCHSIA_external_memory) */
1330#if defined(VK_FUCHSIA_external_semaphore)
1331extern PFN_vkGetSemaphoreZirconHandleFUCHSIA vkGetSemaphoreZirconHandleFUCHSIA;
1332extern PFN_vkImportSemaphoreZirconHandleFUCHSIA vkImportSemaphoreZirconHandleFUCHSIA;
1333#endif /* defined(VK_FUCHSIA_external_semaphore) */
1334#if defined(VK_FUCHSIA_imagepipe_surface)
1335extern PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA;
1336#endif /* defined(VK_FUCHSIA_imagepipe_surface) */
1337#if defined(VK_GGP_stream_descriptor_surface)
1338extern PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP;
1339#endif /* defined(VK_GGP_stream_descriptor_surface) */
1340#if defined(VK_GOOGLE_display_timing)
1341extern PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE;
1342extern PFN_vkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLE;
1343#endif /* defined(VK_GOOGLE_display_timing) */
1344#if defined(VK_HUAWEI_cluster_culling_shader)
1345extern PFN_vkCmdDrawClusterHUAWEI vkCmdDrawClusterHUAWEI;
1346extern PFN_vkCmdDrawClusterIndirectHUAWEI vkCmdDrawClusterIndirectHUAWEI;
1347#endif /* defined(VK_HUAWEI_cluster_culling_shader) */
1348#if defined(VK_HUAWEI_invocation_mask)
1349extern PFN_vkCmdBindInvocationMaskHUAWEI vkCmdBindInvocationMaskHUAWEI;
1350#endif /* defined(VK_HUAWEI_invocation_mask) */
1351#if defined(VK_HUAWEI_subpass_shading)
1352extern PFN_vkCmdSubpassShadingHUAWEI vkCmdSubpassShadingHUAWEI;
1353extern PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI;
1354#endif /* defined(VK_HUAWEI_subpass_shading) */
1355#if defined(VK_INTEL_performance_query)
1356extern PFN_vkAcquirePerformanceConfigurationINTEL vkAcquirePerformanceConfigurationINTEL;
1357extern PFN_vkCmdSetPerformanceMarkerINTEL vkCmdSetPerformanceMarkerINTEL;
1358extern PFN_vkCmdSetPerformanceOverrideINTEL vkCmdSetPerformanceOverrideINTEL;
1359extern PFN_vkCmdSetPerformanceStreamMarkerINTEL vkCmdSetPerformanceStreamMarkerINTEL;
1360extern PFN_vkGetPerformanceParameterINTEL vkGetPerformanceParameterINTEL;
1361extern PFN_vkInitializePerformanceApiINTEL vkInitializePerformanceApiINTEL;
1362extern PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL;
1363extern PFN_vkReleasePerformanceConfigurationINTEL vkReleasePerformanceConfigurationINTEL;
1364extern PFN_vkUninitializePerformanceApiINTEL vkUninitializePerformanceApiINTEL;
1365#endif /* defined(VK_INTEL_performance_query) */
1366#if defined(VK_KHR_acceleration_structure)
1367extern PFN_vkBuildAccelerationStructuresKHR vkBuildAccelerationStructuresKHR;
1368extern PFN_vkCmdBuildAccelerationStructuresIndirectKHR vkCmdBuildAccelerationStructuresIndirectKHR;
1369extern PFN_vkCmdBuildAccelerationStructuresKHR vkCmdBuildAccelerationStructuresKHR;
1370extern PFN_vkCmdCopyAccelerationStructureKHR vkCmdCopyAccelerationStructureKHR;
1371extern PFN_vkCmdCopyAccelerationStructureToMemoryKHR vkCmdCopyAccelerationStructureToMemoryKHR;
1372extern PFN_vkCmdCopyMemoryToAccelerationStructureKHR vkCmdCopyMemoryToAccelerationStructureKHR;
1373extern PFN_vkCmdWriteAccelerationStructuresPropertiesKHR vkCmdWriteAccelerationStructuresPropertiesKHR;
1374extern PFN_vkCopyAccelerationStructureKHR vkCopyAccelerationStructureKHR;
1375extern PFN_vkCopyAccelerationStructureToMemoryKHR vkCopyAccelerationStructureToMemoryKHR;
1376extern PFN_vkCopyMemoryToAccelerationStructureKHR vkCopyMemoryToAccelerationStructureKHR;
1377extern PFN_vkCreateAccelerationStructureKHR vkCreateAccelerationStructureKHR;
1378extern PFN_vkDestroyAccelerationStructureKHR vkDestroyAccelerationStructureKHR;
1379extern PFN_vkGetAccelerationStructureBuildSizesKHR vkGetAccelerationStructureBuildSizesKHR;
1380extern PFN_vkGetAccelerationStructureDeviceAddressKHR vkGetAccelerationStructureDeviceAddressKHR;
1381extern PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR;
1382extern PFN_vkWriteAccelerationStructuresPropertiesKHR vkWriteAccelerationStructuresPropertiesKHR;
1383#endif /* defined(VK_KHR_acceleration_structure) */
1384#if defined(VK_KHR_android_surface)
1385extern PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR;
1386#endif /* defined(VK_KHR_android_surface) */
1387#if defined(VK_KHR_bind_memory2)
1388extern PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR;
1389extern PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR;
1390#endif /* defined(VK_KHR_bind_memory2) */
1391#if defined(VK_KHR_buffer_device_address)
1392extern PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR;
1393extern PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR;
1394extern PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR;
1395#endif /* defined(VK_KHR_buffer_device_address) */
1396#if defined(VK_KHR_copy_commands2)
1397extern PFN_vkCmdBlitImage2KHR vkCmdBlitImage2KHR;
1398extern PFN_vkCmdCopyBuffer2KHR vkCmdCopyBuffer2KHR;
1399extern PFN_vkCmdCopyBufferToImage2KHR vkCmdCopyBufferToImage2KHR;
1400extern PFN_vkCmdCopyImage2KHR vkCmdCopyImage2KHR;
1401extern PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR;
1402extern PFN_vkCmdResolveImage2KHR vkCmdResolveImage2KHR;
1403#endif /* defined(VK_KHR_copy_commands2) */
1404#if defined(VK_KHR_create_renderpass2)
1405extern PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR;
1406extern PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR;
1407extern PFN_vkCmdNextSubpass2KHR vkCmdNextSubpass2KHR;
1408extern PFN_vkCreateRenderPass2KHR vkCreateRenderPass2KHR;
1409#endif /* defined(VK_KHR_create_renderpass2) */
1410#if defined(VK_KHR_deferred_host_operations)
1411extern PFN_vkCreateDeferredOperationKHR vkCreateDeferredOperationKHR;
1412extern PFN_vkDeferredOperationJoinKHR vkDeferredOperationJoinKHR;
1413extern PFN_vkDestroyDeferredOperationKHR vkDestroyDeferredOperationKHR;
1414extern PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR;
1415extern PFN_vkGetDeferredOperationResultKHR vkGetDeferredOperationResultKHR;
1416#endif /* defined(VK_KHR_deferred_host_operations) */
1417#if defined(VK_KHR_descriptor_update_template)
1418extern PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR;
1419extern PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR;
1420extern PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR;
1421#endif /* defined(VK_KHR_descriptor_update_template) */
1422#if defined(VK_KHR_device_group)
1423extern PFN_vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR;
1424extern PFN_vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR;
1425extern PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR;
1426#endif /* defined(VK_KHR_device_group) */
1427#if defined(VK_KHR_device_group_creation)
1428extern PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR;
1429#endif /* defined(VK_KHR_device_group_creation) */
1430#if defined(VK_KHR_display)
1431extern PFN_vkCreateDisplayModeKHR vkCreateDisplayModeKHR;
1432extern PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR;
1433extern PFN_vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR;
1434extern PFN_vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR;
1435extern PFN_vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR;
1436extern PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR;
1437extern PFN_vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR;
1438#endif /* defined(VK_KHR_display) */
1439#if defined(VK_KHR_display_swapchain)
1440extern PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR;
1441#endif /* defined(VK_KHR_display_swapchain) */
1442#if defined(VK_KHR_draw_indirect_count)
1443extern PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR;
1444extern PFN_vkCmdDrawIndirectCountKHR vkCmdDrawIndirectCountKHR;
1445#endif /* defined(VK_KHR_draw_indirect_count) */
1446#if defined(VK_KHR_dynamic_rendering)
1447extern PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR;
1448extern PFN_vkCmdEndRenderingKHR vkCmdEndRenderingKHR;
1449#endif /* defined(VK_KHR_dynamic_rendering) */
1450#if defined(VK_KHR_external_fence_capabilities)
1451extern PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR;
1452#endif /* defined(VK_KHR_external_fence_capabilities) */
1453#if defined(VK_KHR_external_fence_fd)
1454extern PFN_vkGetFenceFdKHR vkGetFenceFdKHR;
1455extern PFN_vkImportFenceFdKHR vkImportFenceFdKHR;
1456#endif /* defined(VK_KHR_external_fence_fd) */
1457#if defined(VK_KHR_external_fence_win32)
1458extern PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR;
1459extern PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR;
1460#endif /* defined(VK_KHR_external_fence_win32) */
1461#if defined(VK_KHR_external_memory_capabilities)
1462extern PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR vkGetPhysicalDeviceExternalBufferPropertiesKHR;
1463#endif /* defined(VK_KHR_external_memory_capabilities) */
1464#if defined(VK_KHR_external_memory_fd)
1465extern PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR;
1466extern PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR;
1467#endif /* defined(VK_KHR_external_memory_fd) */
1468#if defined(VK_KHR_external_memory_win32)
1469extern PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR;
1470extern PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR;
1471#endif /* defined(VK_KHR_external_memory_win32) */
1472#if defined(VK_KHR_external_semaphore_capabilities)
1473extern PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR vkGetPhysicalDeviceExternalSemaphorePropertiesKHR;
1474#endif /* defined(VK_KHR_external_semaphore_capabilities) */
1475#if defined(VK_KHR_external_semaphore_fd)
1476extern PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR;
1477extern PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR;
1478#endif /* defined(VK_KHR_external_semaphore_fd) */
1479#if defined(VK_KHR_external_semaphore_win32)
1480extern PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR;
1481extern PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR;
1482#endif /* defined(VK_KHR_external_semaphore_win32) */
1483#if defined(VK_KHR_fragment_shading_rate)
1484extern PFN_vkCmdSetFragmentShadingRateKHR vkCmdSetFragmentShadingRateKHR;
1485extern PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHR;
1486#endif /* defined(VK_KHR_fragment_shading_rate) */
1487#if defined(VK_KHR_get_display_properties2)
1488extern PFN_vkGetDisplayModeProperties2KHR vkGetDisplayModeProperties2KHR;
1489extern PFN_vkGetDisplayPlaneCapabilities2KHR vkGetDisplayPlaneCapabilities2KHR;
1490extern PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHR;
1491extern PFN_vkGetPhysicalDeviceDisplayProperties2KHR vkGetPhysicalDeviceDisplayProperties2KHR;
1492#endif /* defined(VK_KHR_get_display_properties2) */
1493#if defined(VK_KHR_get_memory_requirements2)
1494extern PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR;
1495extern PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR;
1496extern PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR;
1497#endif /* defined(VK_KHR_get_memory_requirements2) */
1498#if defined(VK_KHR_get_physical_device_properties2)
1499extern PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR;
1500extern PFN_vkGetPhysicalDeviceFormatProperties2KHR vkGetPhysicalDeviceFormatProperties2KHR;
1501extern PFN_vkGetPhysicalDeviceImageFormatProperties2KHR vkGetPhysicalDeviceImageFormatProperties2KHR;
1502extern PFN_vkGetPhysicalDeviceMemoryProperties2KHR vkGetPhysicalDeviceMemoryProperties2KHR;
1503extern PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR;
1504extern PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR vkGetPhysicalDeviceQueueFamilyProperties2KHR;
1505extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR;
1506#endif /* defined(VK_KHR_get_physical_device_properties2) */
1507#if defined(VK_KHR_get_surface_capabilities2)
1508extern PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR;
1509extern PFN_vkGetPhysicalDeviceSurfaceFormats2KHR vkGetPhysicalDeviceSurfaceFormats2KHR;
1510#endif /* defined(VK_KHR_get_surface_capabilities2) */
1511#if defined(VK_KHR_maintenance1)
1512extern PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR;
1513#endif /* defined(VK_KHR_maintenance1) */
1514#if defined(VK_KHR_maintenance3)
1515extern PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR;
1516#endif /* defined(VK_KHR_maintenance3) */
1517#if defined(VK_KHR_maintenance4)
1518extern PFN_vkGetDeviceBufferMemoryRequirementsKHR vkGetDeviceBufferMemoryRequirementsKHR;
1519extern PFN_vkGetDeviceImageMemoryRequirementsKHR vkGetDeviceImageMemoryRequirementsKHR;
1520extern PFN_vkGetDeviceImageSparseMemoryRequirementsKHR vkGetDeviceImageSparseMemoryRequirementsKHR;
1521#endif /* defined(VK_KHR_maintenance4) */
1522#if defined(VK_KHR_map_memory2)
1523extern PFN_vkMapMemory2KHR vkMapMemory2KHR;
1524extern PFN_vkUnmapMemory2KHR vkUnmapMemory2KHR;
1525#endif /* defined(VK_KHR_map_memory2) */
1526#if defined(VK_KHR_performance_query)
1527extern PFN_vkAcquireProfilingLockKHR vkAcquireProfilingLockKHR;
1528extern PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR;
1529extern PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR;
1530extern PFN_vkReleaseProfilingLockKHR vkReleaseProfilingLockKHR;
1531#endif /* defined(VK_KHR_performance_query) */
1532#if defined(VK_KHR_pipeline_executable_properties)
1533extern PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR;
1534extern PFN_vkGetPipelineExecutablePropertiesKHR vkGetPipelineExecutablePropertiesKHR;
1535extern PFN_vkGetPipelineExecutableStatisticsKHR vkGetPipelineExecutableStatisticsKHR;
1536#endif /* defined(VK_KHR_pipeline_executable_properties) */
1537#if defined(VK_KHR_present_wait)
1538extern PFN_vkWaitForPresentKHR vkWaitForPresentKHR;
1539#endif /* defined(VK_KHR_present_wait) */
1540#if defined(VK_KHR_push_descriptor)
1541extern PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR;
1542#endif /* defined(VK_KHR_push_descriptor) */
1543#if defined(VK_KHR_ray_tracing_maintenance1) && defined(VK_KHR_ray_tracing_pipeline)
1544extern PFN_vkCmdTraceRaysIndirect2KHR vkCmdTraceRaysIndirect2KHR;
1545#endif /* defined(VK_KHR_ray_tracing_maintenance1) && defined(VK_KHR_ray_tracing_pipeline) */
1546#if defined(VK_KHR_ray_tracing_pipeline)
1547extern PFN_vkCmdSetRayTracingPipelineStackSizeKHR vkCmdSetRayTracingPipelineStackSizeKHR;
1548extern PFN_vkCmdTraceRaysIndirectKHR vkCmdTraceRaysIndirectKHR;
1549extern PFN_vkCmdTraceRaysKHR vkCmdTraceRaysKHR;
1550extern PFN_vkCreateRayTracingPipelinesKHR vkCreateRayTracingPipelinesKHR;
1551extern PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR;
1552extern PFN_vkGetRayTracingShaderGroupHandlesKHR vkGetRayTracingShaderGroupHandlesKHR;
1553extern PFN_vkGetRayTracingShaderGroupStackSizeKHR vkGetRayTracingShaderGroupStackSizeKHR;
1554#endif /* defined(VK_KHR_ray_tracing_pipeline) */
1555#if defined(VK_KHR_sampler_ycbcr_conversion)
1556extern PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR;
1557extern PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR;
1558#endif /* defined(VK_KHR_sampler_ycbcr_conversion) */
1559#if defined(VK_KHR_shared_presentable_image)
1560extern PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR;
1561#endif /* defined(VK_KHR_shared_presentable_image) */
1562#if defined(VK_KHR_surface)
1563extern PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR;
1564extern PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR;
1565extern PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR;
1566extern PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR;
1567extern PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR;
1568#endif /* defined(VK_KHR_surface) */
1569#if defined(VK_KHR_swapchain)
1570extern PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR;
1571extern PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR;
1572extern PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR;
1573extern PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR;
1574extern PFN_vkQueuePresentKHR vkQueuePresentKHR;
1575#endif /* defined(VK_KHR_swapchain) */
1576#if defined(VK_KHR_synchronization2)
1577extern PFN_vkCmdPipelineBarrier2KHR vkCmdPipelineBarrier2KHR;
1578extern PFN_vkCmdResetEvent2KHR vkCmdResetEvent2KHR;
1579extern PFN_vkCmdSetEvent2KHR vkCmdSetEvent2KHR;
1580extern PFN_vkCmdWaitEvents2KHR vkCmdWaitEvents2KHR;
1581extern PFN_vkCmdWriteTimestamp2KHR vkCmdWriteTimestamp2KHR;
1582extern PFN_vkQueueSubmit2KHR vkQueueSubmit2KHR;
1583#endif /* defined(VK_KHR_synchronization2) */
1584#if defined(VK_KHR_synchronization2) && defined(VK_AMD_buffer_marker)
1585extern PFN_vkCmdWriteBufferMarker2AMD vkCmdWriteBufferMarker2AMD;
1586#endif /* defined(VK_KHR_synchronization2) && defined(VK_AMD_buffer_marker) */
1587#if defined(VK_KHR_synchronization2) && defined(VK_NV_device_diagnostic_checkpoints)
1588extern PFN_vkGetQueueCheckpointData2NV vkGetQueueCheckpointData2NV;
1589#endif /* defined(VK_KHR_synchronization2) && defined(VK_NV_device_diagnostic_checkpoints) */
1590#if defined(VK_KHR_timeline_semaphore)
1591extern PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR;
1592extern PFN_vkSignalSemaphoreKHR vkSignalSemaphoreKHR;
1593extern PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR;
1594#endif /* defined(VK_KHR_timeline_semaphore) */
1595#if defined(VK_KHR_video_decode_queue)
1596extern PFN_vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR;
1597#endif /* defined(VK_KHR_video_decode_queue) */
1598#if defined(VK_KHR_video_encode_queue)
1599extern PFN_vkCmdEncodeVideoKHR vkCmdEncodeVideoKHR;
1600#endif /* defined(VK_KHR_video_encode_queue) */
1601#if defined(VK_KHR_video_queue)
1602extern PFN_vkBindVideoSessionMemoryKHR vkBindVideoSessionMemoryKHR;
1603extern PFN_vkCmdBeginVideoCodingKHR vkCmdBeginVideoCodingKHR;
1604extern PFN_vkCmdControlVideoCodingKHR vkCmdControlVideoCodingKHR;
1605extern PFN_vkCmdEndVideoCodingKHR vkCmdEndVideoCodingKHR;
1606extern PFN_vkCreateVideoSessionKHR vkCreateVideoSessionKHR;
1607extern PFN_vkCreateVideoSessionParametersKHR vkCreateVideoSessionParametersKHR;
1608extern PFN_vkDestroyVideoSessionKHR vkDestroyVideoSessionKHR;
1609extern PFN_vkDestroyVideoSessionParametersKHR vkDestroyVideoSessionParametersKHR;
1610extern PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR vkGetPhysicalDeviceVideoCapabilitiesKHR;
1611extern PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR vkGetPhysicalDeviceVideoFormatPropertiesKHR;
1612extern PFN_vkGetVideoSessionMemoryRequirementsKHR vkGetVideoSessionMemoryRequirementsKHR;
1613extern PFN_vkUpdateVideoSessionParametersKHR vkUpdateVideoSessionParametersKHR;
1614#endif /* defined(VK_KHR_video_queue) */
1615#if defined(VK_KHR_wayland_surface)
1616extern PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR;
1617extern PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR;
1618#endif /* defined(VK_KHR_wayland_surface) */
1619#if defined(VK_KHR_win32_surface)
1620extern PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR;
1621extern PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR;
1622#endif /* defined(VK_KHR_win32_surface) */
1623#if defined(VK_KHR_xcb_surface)
1624extern PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR;
1625extern PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR;
1626#endif /* defined(VK_KHR_xcb_surface) */
1627#if defined(VK_KHR_xlib_surface)
1628extern PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR;
1629extern PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR;
1630#endif /* defined(VK_KHR_xlib_surface) */
1631#if defined(VK_MVK_ios_surface)
1632extern PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK;
1633#endif /* defined(VK_MVK_ios_surface) */
1634#if defined(VK_MVK_macos_surface)
1635extern PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK;
1636#endif /* defined(VK_MVK_macos_surface) */
1637#if defined(VK_NN_vi_surface)
1638extern PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN;
1639#endif /* defined(VK_NN_vi_surface) */
1640#if defined(VK_NVX_binary_import)
1641extern PFN_vkCmdCuLaunchKernelNVX vkCmdCuLaunchKernelNVX;
1642extern PFN_vkCreateCuFunctionNVX vkCreateCuFunctionNVX;
1643extern PFN_vkCreateCuModuleNVX vkCreateCuModuleNVX;
1644extern PFN_vkDestroyCuFunctionNVX vkDestroyCuFunctionNVX;
1645extern PFN_vkDestroyCuModuleNVX vkDestroyCuModuleNVX;
1646#endif /* defined(VK_NVX_binary_import) */
1647#if defined(VK_NVX_image_view_handle)
1648extern PFN_vkGetImageViewAddressNVX vkGetImageViewAddressNVX;
1649extern PFN_vkGetImageViewHandleNVX vkGetImageViewHandleNVX;
1650#endif /* defined(VK_NVX_image_view_handle) */
1651#if defined(VK_NV_acquire_winrt_display)
1652extern PFN_vkAcquireWinrtDisplayNV vkAcquireWinrtDisplayNV;
1653extern PFN_vkGetWinrtDisplayNV vkGetWinrtDisplayNV;
1654#endif /* defined(VK_NV_acquire_winrt_display) */
1655#if defined(VK_NV_clip_space_w_scaling)
1656extern PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV;
1657#endif /* defined(VK_NV_clip_space_w_scaling) */
1658#if defined(VK_NV_cooperative_matrix)
1659extern PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV vkGetPhysicalDeviceCooperativeMatrixPropertiesNV;
1660#endif /* defined(VK_NV_cooperative_matrix) */
1661#if defined(VK_NV_copy_memory_indirect)
1662extern PFN_vkCmdCopyMemoryIndirectNV vkCmdCopyMemoryIndirectNV;
1663extern PFN_vkCmdCopyMemoryToImageIndirectNV vkCmdCopyMemoryToImageIndirectNV;
1664#endif /* defined(VK_NV_copy_memory_indirect) */
1665#if defined(VK_NV_coverage_reduction_mode)
1666extern PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV;
1667#endif /* defined(VK_NV_coverage_reduction_mode) */
1668#if defined(VK_NV_device_diagnostic_checkpoints)
1669extern PFN_vkCmdSetCheckpointNV vkCmdSetCheckpointNV;
1670extern PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV;
1671#endif /* defined(VK_NV_device_diagnostic_checkpoints) */
1672#if defined(VK_NV_device_generated_commands)
1673extern PFN_vkCmdBindPipelineShaderGroupNV vkCmdBindPipelineShaderGroupNV;
1674extern PFN_vkCmdExecuteGeneratedCommandsNV vkCmdExecuteGeneratedCommandsNV;
1675extern PFN_vkCmdPreprocessGeneratedCommandsNV vkCmdPreprocessGeneratedCommandsNV;
1676extern PFN_vkCreateIndirectCommandsLayoutNV vkCreateIndirectCommandsLayoutNV;
1677extern PFN_vkDestroyIndirectCommandsLayoutNV vkDestroyIndirectCommandsLayoutNV;
1678extern PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV;
1679#endif /* defined(VK_NV_device_generated_commands) */
1680#if defined(VK_NV_external_memory_capabilities)
1681extern PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNV;
1682#endif /* defined(VK_NV_external_memory_capabilities) */
1683#if defined(VK_NV_external_memory_rdma)
1684extern PFN_vkGetMemoryRemoteAddressNV vkGetMemoryRemoteAddressNV;
1685#endif /* defined(VK_NV_external_memory_rdma) */
1686#if defined(VK_NV_external_memory_win32)
1687extern PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV;
1688#endif /* defined(VK_NV_external_memory_win32) */
1689#if defined(VK_NV_fragment_shading_rate_enums)
1690extern PFN_vkCmdSetFragmentShadingRateEnumNV vkCmdSetFragmentShadingRateEnumNV;
1691#endif /* defined(VK_NV_fragment_shading_rate_enums) */
1692#if defined(VK_NV_memory_decompression)
1693extern PFN_vkCmdDecompressMemoryIndirectCountNV vkCmdDecompressMemoryIndirectCountNV;
1694extern PFN_vkCmdDecompressMemoryNV vkCmdDecompressMemoryNV;
1695#endif /* defined(VK_NV_memory_decompression) */
1696#if defined(VK_NV_mesh_shader)
1697extern PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV;
1698extern PFN_vkCmdDrawMeshTasksIndirectNV vkCmdDrawMeshTasksIndirectNV;
1699extern PFN_vkCmdDrawMeshTasksNV vkCmdDrawMeshTasksNV;
1700#endif /* defined(VK_NV_mesh_shader) */
1701#if defined(VK_NV_optical_flow)
1702extern PFN_vkBindOpticalFlowSessionImageNV vkBindOpticalFlowSessionImageNV;
1703extern PFN_vkCmdOpticalFlowExecuteNV vkCmdOpticalFlowExecuteNV;
1704extern PFN_vkCreateOpticalFlowSessionNV vkCreateOpticalFlowSessionNV;
1705extern PFN_vkDestroyOpticalFlowSessionNV vkDestroyOpticalFlowSessionNV;
1706extern PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV vkGetPhysicalDeviceOpticalFlowImageFormatsNV;
1707#endif /* defined(VK_NV_optical_flow) */
1708#if defined(VK_NV_ray_tracing)
1709extern PFN_vkBindAccelerationStructureMemoryNV vkBindAccelerationStructureMemoryNV;
1710extern PFN_vkCmdBuildAccelerationStructureNV vkCmdBuildAccelerationStructureNV;
1711extern PFN_vkCmdCopyAccelerationStructureNV vkCmdCopyAccelerationStructureNV;
1712extern PFN_vkCmdTraceRaysNV vkCmdTraceRaysNV;
1713extern PFN_vkCmdWriteAccelerationStructuresPropertiesNV vkCmdWriteAccelerationStructuresPropertiesNV;
1714extern PFN_vkCompileDeferredNV vkCompileDeferredNV;
1715extern PFN_vkCreateAccelerationStructureNV vkCreateAccelerationStructureNV;
1716extern PFN_vkCreateRayTracingPipelinesNV vkCreateRayTracingPipelinesNV;
1717extern PFN_vkDestroyAccelerationStructureNV vkDestroyAccelerationStructureNV;
1718extern PFN_vkGetAccelerationStructureHandleNV vkGetAccelerationStructureHandleNV;
1719extern PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV;
1720extern PFN_vkGetRayTracingShaderGroupHandlesNV vkGetRayTracingShaderGroupHandlesNV;
1721#endif /* defined(VK_NV_ray_tracing) */
1722#if defined(VK_NV_scissor_exclusive) && VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION >= 2
1723extern PFN_vkCmdSetExclusiveScissorEnableNV vkCmdSetExclusiveScissorEnableNV;
1724#endif /* defined(VK_NV_scissor_exclusive) && VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION >= 2 */
1725#if defined(VK_NV_scissor_exclusive)
1726extern PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV;
1727#endif /* defined(VK_NV_scissor_exclusive) */
1728#if defined(VK_NV_shading_rate_image)
1729extern PFN_vkCmdBindShadingRateImageNV vkCmdBindShadingRateImageNV;
1730extern PFN_vkCmdSetCoarseSampleOrderNV vkCmdSetCoarseSampleOrderNV;
1731extern PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV;
1732#endif /* defined(VK_NV_shading_rate_image) */
1733#if defined(VK_QCOM_tile_properties)
1734extern PFN_vkGetDynamicRenderingTilePropertiesQCOM vkGetDynamicRenderingTilePropertiesQCOM;
1735extern PFN_vkGetFramebufferTilePropertiesQCOM vkGetFramebufferTilePropertiesQCOM;
1736#endif /* defined(VK_QCOM_tile_properties) */
1737#if defined(VK_QNX_screen_surface)
1738extern PFN_vkCreateScreenSurfaceQNX vkCreateScreenSurfaceQNX;
1739extern PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX vkGetPhysicalDeviceScreenPresentationSupportQNX;
1740#endif /* defined(VK_QNX_screen_surface) */
1741#if defined(VK_VALVE_descriptor_set_host_mapping)
1742extern PFN_vkGetDescriptorSetHostMappingVALVE vkGetDescriptorSetHostMappingVALVE;
1743extern PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE vkGetDescriptorSetLayoutHostMappingInfoVALVE;
1744#endif /* defined(VK_VALVE_descriptor_set_host_mapping) */
1745#if (defined(VK_EXT_extended_dynamic_state)) || (defined(VK_EXT_shader_object))
1746extern PFN_vkCmdBindVertexBuffers2EXT vkCmdBindVertexBuffers2EXT;
1747extern PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT;
1748extern PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT;
1749extern PFN_vkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXT;
1750extern PFN_vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT;
1751extern PFN_vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT;
1752extern PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT;
1753extern PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT;
1754extern PFN_vkCmdSetScissorWithCountEXT vkCmdSetScissorWithCountEXT;
1755extern PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT;
1756extern PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT;
1757extern PFN_vkCmdSetViewportWithCountEXT vkCmdSetViewportWithCountEXT;
1758#endif /* (defined(VK_EXT_extended_dynamic_state)) || (defined(VK_EXT_shader_object)) */
1759#if (defined(VK_EXT_extended_dynamic_state2)) || (defined(VK_EXT_shader_object))
1760extern PFN_vkCmdSetDepthBiasEnableEXT vkCmdSetDepthBiasEnableEXT;
1761extern PFN_vkCmdSetLogicOpEXT vkCmdSetLogicOpEXT;
1762extern PFN_vkCmdSetPatchControlPointsEXT vkCmdSetPatchControlPointsEXT;
1763extern PFN_vkCmdSetPrimitiveRestartEnableEXT vkCmdSetPrimitiveRestartEnableEXT;
1764extern PFN_vkCmdSetRasterizerDiscardEnableEXT vkCmdSetRasterizerDiscardEnableEXT;
1765#endif /* (defined(VK_EXT_extended_dynamic_state2)) || (defined(VK_EXT_shader_object)) */
1766#if (defined(VK_EXT_extended_dynamic_state3)) || (defined(VK_EXT_shader_object))
1767extern PFN_vkCmdSetAlphaToCoverageEnableEXT vkCmdSetAlphaToCoverageEnableEXT;
1768extern PFN_vkCmdSetAlphaToOneEnableEXT vkCmdSetAlphaToOneEnableEXT;
1769extern PFN_vkCmdSetColorBlendAdvancedEXT vkCmdSetColorBlendAdvancedEXT;
1770extern PFN_vkCmdSetColorBlendEnableEXT vkCmdSetColorBlendEnableEXT;
1771extern PFN_vkCmdSetColorBlendEquationEXT vkCmdSetColorBlendEquationEXT;
1772extern PFN_vkCmdSetColorWriteMaskEXT vkCmdSetColorWriteMaskEXT;
1773extern PFN_vkCmdSetConservativeRasterizationModeEXT vkCmdSetConservativeRasterizationModeEXT;
1774extern PFN_vkCmdSetCoverageModulationModeNV vkCmdSetCoverageModulationModeNV;
1775extern PFN_vkCmdSetCoverageModulationTableEnableNV vkCmdSetCoverageModulationTableEnableNV;
1776extern PFN_vkCmdSetCoverageModulationTableNV vkCmdSetCoverageModulationTableNV;
1777extern PFN_vkCmdSetCoverageReductionModeNV vkCmdSetCoverageReductionModeNV;
1778extern PFN_vkCmdSetCoverageToColorEnableNV vkCmdSetCoverageToColorEnableNV;
1779extern PFN_vkCmdSetCoverageToColorLocationNV vkCmdSetCoverageToColorLocationNV;
1780extern PFN_vkCmdSetDepthClampEnableEXT vkCmdSetDepthClampEnableEXT;
1781extern PFN_vkCmdSetDepthClipEnableEXT vkCmdSetDepthClipEnableEXT;
1782extern PFN_vkCmdSetDepthClipNegativeOneToOneEXT vkCmdSetDepthClipNegativeOneToOneEXT;
1783extern PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT vkCmdSetExtraPrimitiveOverestimationSizeEXT;
1784extern PFN_vkCmdSetLineRasterizationModeEXT vkCmdSetLineRasterizationModeEXT;
1785extern PFN_vkCmdSetLineStippleEnableEXT vkCmdSetLineStippleEnableEXT;
1786extern PFN_vkCmdSetLogicOpEnableEXT vkCmdSetLogicOpEnableEXT;
1787extern PFN_vkCmdSetPolygonModeEXT vkCmdSetPolygonModeEXT;
1788extern PFN_vkCmdSetProvokingVertexModeEXT vkCmdSetProvokingVertexModeEXT;
1789extern PFN_vkCmdSetRasterizationSamplesEXT vkCmdSetRasterizationSamplesEXT;
1790extern PFN_vkCmdSetRasterizationStreamEXT vkCmdSetRasterizationStreamEXT;
1791extern PFN_vkCmdSetRepresentativeFragmentTestEnableNV vkCmdSetRepresentativeFragmentTestEnableNV;
1792extern PFN_vkCmdSetSampleLocationsEnableEXT vkCmdSetSampleLocationsEnableEXT;
1793extern PFN_vkCmdSetSampleMaskEXT vkCmdSetSampleMaskEXT;
1794extern PFN_vkCmdSetShadingRateImageEnableNV vkCmdSetShadingRateImageEnableNV;
1795extern PFN_vkCmdSetTessellationDomainOriginEXT vkCmdSetTessellationDomainOriginEXT;
1796extern PFN_vkCmdSetViewportSwizzleNV vkCmdSetViewportSwizzleNV;
1797extern PFN_vkCmdSetViewportWScalingEnableNV vkCmdSetViewportWScalingEnableNV;
1798#endif /* (defined(VK_EXT_extended_dynamic_state3)) || (defined(VK_EXT_shader_object)) */
1799#if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1))
1800extern PFN_vkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXT;
1801#endif /* (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) */
1802#if (defined(VK_EXT_shader_object)) || (defined(VK_EXT_vertex_input_dynamic_state))
1803extern PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT;
1804#endif /* (defined(VK_EXT_shader_object)) || (defined(VK_EXT_vertex_input_dynamic_state)) */
1805#if (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template))
1806extern PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR;
1807#endif /* (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template)) */
1808#if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
1809extern PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR;
1810extern PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR;
1811extern PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR;
1812#endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
1813#if (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
1814extern PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR;
1815#endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
1816/* VOLK_GENERATE_PROTOTYPES_H */
1817
1818#ifdef __cplusplus
1819}
1820#endif
1821
1822#endif
1823
1824#ifdef VOLK_IMPLEMENTATION
1825#undef VOLK_IMPLEMENTATION
1826// Prevent tools like dependency checkers that don't evaluate
1827// macros from detecting a cyclic dependency.
1828#define VOLK_SOURCE "volk.c"
1829#include VOLK_SOURCE
1830#endif
1831
1832/**
1833 * Copyright (c) 2018-2023 Arseny Kapoulkine
1834 *
1835 * Permission is hereby granted, free of charge, to any person obtaining a copy
1836 * of this software and associated documentation files (the "Software"), to deal
1837 * in the Software without restriction, including without limitation the rights
1838 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1839 * copies of the Software, and to permit persons to whom the Software is
1840 * furnished to do so, subject to the following conditions:
1841 *
1842 * The above copyright notice and this permission notice shall be included in all
1843 * copies or substantial portions of the Software.
1844 *
1845 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1846 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1847 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1848 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1849 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1850 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1851 * SOFTWARE.
1852*/
1853/* clang-format on */
1854