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