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