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