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 204
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_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1))
732 PFN_vkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXT;
733#endif /* (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) */
734#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))
735 PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR;
736#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)) */
737#if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
738 PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR;
739 PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR;
740#endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
741#if (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
742 PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR;
743#endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
744 /* VOLK_GENERATE_DEVICE_TABLE */
745};
746
747/* VOLK_GENERATE_PROTOTYPES_H */
748#if defined(VK_VERSION_1_0)
749extern PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers;
750extern PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets;
751extern PFN_vkAllocateMemory vkAllocateMemory;
752extern PFN_vkBeginCommandBuffer vkBeginCommandBuffer;
753extern PFN_vkBindBufferMemory vkBindBufferMemory;
754extern PFN_vkBindImageMemory vkBindImageMemory;
755extern PFN_vkCmdBeginQuery vkCmdBeginQuery;
756extern PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass;
757extern PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets;
758extern PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer;
759extern PFN_vkCmdBindPipeline vkCmdBindPipeline;
760extern PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers;
761extern PFN_vkCmdBlitImage vkCmdBlitImage;
762extern PFN_vkCmdClearAttachments vkCmdClearAttachments;
763extern PFN_vkCmdClearColorImage vkCmdClearColorImage;
764extern PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage;
765extern PFN_vkCmdCopyBuffer vkCmdCopyBuffer;
766extern PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage;
767extern PFN_vkCmdCopyImage vkCmdCopyImage;
768extern PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer;
769extern PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults;
770extern PFN_vkCmdDispatch vkCmdDispatch;
771extern PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect;
772extern PFN_vkCmdDraw vkCmdDraw;
773extern PFN_vkCmdDrawIndexed vkCmdDrawIndexed;
774extern PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect;
775extern PFN_vkCmdDrawIndirect vkCmdDrawIndirect;
776extern PFN_vkCmdEndQuery vkCmdEndQuery;
777extern PFN_vkCmdEndRenderPass vkCmdEndRenderPass;
778extern PFN_vkCmdExecuteCommands vkCmdExecuteCommands;
779extern PFN_vkCmdFillBuffer vkCmdFillBuffer;
780extern PFN_vkCmdNextSubpass vkCmdNextSubpass;
781extern PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier;
782extern PFN_vkCmdPushConstants vkCmdPushConstants;
783extern PFN_vkCmdResetEvent vkCmdResetEvent;
784extern PFN_vkCmdResetQueryPool vkCmdResetQueryPool;
785extern PFN_vkCmdResolveImage vkCmdResolveImage;
786extern PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants;
787extern PFN_vkCmdSetDepthBias vkCmdSetDepthBias;
788extern PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds;
789extern PFN_vkCmdSetEvent vkCmdSetEvent;
790extern PFN_vkCmdSetLineWidth vkCmdSetLineWidth;
791extern PFN_vkCmdSetScissor vkCmdSetScissor;
792extern PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask;
793extern PFN_vkCmdSetStencilReference vkCmdSetStencilReference;
794extern PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask;
795extern PFN_vkCmdSetViewport vkCmdSetViewport;
796extern PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer;
797extern PFN_vkCmdWaitEvents vkCmdWaitEvents;
798extern PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp;
799extern PFN_vkCreateBuffer vkCreateBuffer;
800extern PFN_vkCreateBufferView vkCreateBufferView;
801extern PFN_vkCreateCommandPool vkCreateCommandPool;
802extern PFN_vkCreateComputePipelines vkCreateComputePipelines;
803extern PFN_vkCreateDescriptorPool vkCreateDescriptorPool;
804extern PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout;
805extern PFN_vkCreateDevice vkCreateDevice;
806extern PFN_vkCreateEvent vkCreateEvent;
807extern PFN_vkCreateFence vkCreateFence;
808extern PFN_vkCreateFramebuffer vkCreateFramebuffer;
809extern PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines;
810extern PFN_vkCreateImage vkCreateImage;
811extern PFN_vkCreateImageView vkCreateImageView;
812extern PFN_vkCreateInstance vkCreateInstance;
813extern PFN_vkCreatePipelineCache vkCreatePipelineCache;
814extern PFN_vkCreatePipelineLayout vkCreatePipelineLayout;
815extern PFN_vkCreateQueryPool vkCreateQueryPool;
816extern PFN_vkCreateRenderPass vkCreateRenderPass;
817extern PFN_vkCreateSampler vkCreateSampler;
818extern PFN_vkCreateSemaphore vkCreateSemaphore;
819extern PFN_vkCreateShaderModule vkCreateShaderModule;
820extern PFN_vkDestroyBuffer vkDestroyBuffer;
821extern PFN_vkDestroyBufferView vkDestroyBufferView;
822extern PFN_vkDestroyCommandPool vkDestroyCommandPool;
823extern PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool;
824extern PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout;
825extern PFN_vkDestroyDevice vkDestroyDevice;
826extern PFN_vkDestroyEvent vkDestroyEvent;
827extern PFN_vkDestroyFence vkDestroyFence;
828extern PFN_vkDestroyFramebuffer vkDestroyFramebuffer;
829extern PFN_vkDestroyImage vkDestroyImage;
830extern PFN_vkDestroyImageView vkDestroyImageView;
831extern PFN_vkDestroyInstance vkDestroyInstance;
832extern PFN_vkDestroyPipeline vkDestroyPipeline;
833extern PFN_vkDestroyPipelineCache vkDestroyPipelineCache;
834extern PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout;
835extern PFN_vkDestroyQueryPool vkDestroyQueryPool;
836extern PFN_vkDestroyRenderPass vkDestroyRenderPass;
837extern PFN_vkDestroySampler vkDestroySampler;
838extern PFN_vkDestroySemaphore vkDestroySemaphore;
839extern PFN_vkDestroyShaderModule vkDestroyShaderModule;
840extern PFN_vkDeviceWaitIdle vkDeviceWaitIdle;
841extern PFN_vkEndCommandBuffer vkEndCommandBuffer;
842extern PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties;
843extern PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties;
844extern PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties;
845extern PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties;
846extern PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices;
847extern PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges;
848extern PFN_vkFreeCommandBuffers vkFreeCommandBuffers;
849extern PFN_vkFreeDescriptorSets vkFreeDescriptorSets;
850extern PFN_vkFreeMemory vkFreeMemory;
851extern PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements;
852extern PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment;
853extern PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr;
854extern PFN_vkGetDeviceQueue vkGetDeviceQueue;
855extern PFN_vkGetEventStatus vkGetEventStatus;
856extern PFN_vkGetFenceStatus vkGetFenceStatus;
857extern PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements;
858extern PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements;
859extern PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout;
860extern PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr;
861extern PFN_vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures;
862extern PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties;
863extern PFN_vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties;
864extern PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties;
865extern PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties;
866extern PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties;
867extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties;
868extern PFN_vkGetPipelineCacheData vkGetPipelineCacheData;
869extern PFN_vkGetQueryPoolResults vkGetQueryPoolResults;
870extern PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity;
871extern PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges;
872extern PFN_vkMapMemory vkMapMemory;
873extern PFN_vkMergePipelineCaches vkMergePipelineCaches;
874extern PFN_vkQueueBindSparse vkQueueBindSparse;
875extern PFN_vkQueueSubmit vkQueueSubmit;
876extern PFN_vkQueueWaitIdle vkQueueWaitIdle;
877extern PFN_vkResetCommandBuffer vkResetCommandBuffer;
878extern PFN_vkResetCommandPool vkResetCommandPool;
879extern PFN_vkResetDescriptorPool vkResetDescriptorPool;
880extern PFN_vkResetEvent vkResetEvent;
881extern PFN_vkResetFences vkResetFences;
882extern PFN_vkSetEvent vkSetEvent;
883extern PFN_vkUnmapMemory vkUnmapMemory;
884extern PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets;
885extern PFN_vkWaitForFences vkWaitForFences;
886#endif /* defined(VK_VERSION_1_0) */
887#if defined(VK_VERSION_1_1)
888extern PFN_vkBindBufferMemory2 vkBindBufferMemory2;
889extern PFN_vkBindImageMemory2 vkBindImageMemory2;
890extern PFN_vkCmdDispatchBase vkCmdDispatchBase;
891extern PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask;
892extern PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate;
893extern PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion;
894extern PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate;
895extern PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion;
896extern PFN_vkEnumerateInstanceVersion vkEnumerateInstanceVersion;
897extern PFN_vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups;
898extern PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2;
899extern PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport;
900extern PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures;
901extern PFN_vkGetDeviceQueue2 vkGetDeviceQueue2;
902extern PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2;
903extern PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2;
904extern PFN_vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties;
905extern PFN_vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties;
906extern PFN_vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties;
907extern PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2;
908extern PFN_vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2;
909extern PFN_vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2;
910extern PFN_vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2;
911extern PFN_vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2;
912extern PFN_vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2;
913extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2;
914extern PFN_vkTrimCommandPool vkTrimCommandPool;
915extern PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate;
916#endif /* defined(VK_VERSION_1_1) */
917#if defined(VK_VERSION_1_2)
918extern PFN_vkCmdBeginRenderPass2 vkCmdBeginRenderPass2;
919extern PFN_vkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCount;
920extern PFN_vkCmdDrawIndirectCount vkCmdDrawIndirectCount;
921extern PFN_vkCmdEndRenderPass2 vkCmdEndRenderPass2;
922extern PFN_vkCmdNextSubpass2 vkCmdNextSubpass2;
923extern PFN_vkCreateRenderPass2 vkCreateRenderPass2;
924extern PFN_vkGetBufferDeviceAddress vkGetBufferDeviceAddress;
925extern PFN_vkGetBufferOpaqueCaptureAddress vkGetBufferOpaqueCaptureAddress;
926extern PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress;
927extern PFN_vkGetSemaphoreCounterValue vkGetSemaphoreCounterValue;
928extern PFN_vkResetQueryPool vkResetQueryPool;
929extern PFN_vkSignalSemaphore vkSignalSemaphore;
930extern PFN_vkWaitSemaphores vkWaitSemaphores;
931#endif /* defined(VK_VERSION_1_2) */
932#if defined(VK_VERSION_1_3)
933extern PFN_vkCmdBeginRendering vkCmdBeginRendering;
934extern PFN_vkCmdBindVertexBuffers2 vkCmdBindVertexBuffers2;
935extern PFN_vkCmdBlitImage2 vkCmdBlitImage2;
936extern PFN_vkCmdCopyBuffer2 vkCmdCopyBuffer2;
937extern PFN_vkCmdCopyBufferToImage2 vkCmdCopyBufferToImage2;
938extern PFN_vkCmdCopyImage2 vkCmdCopyImage2;
939extern PFN_vkCmdCopyImageToBuffer2 vkCmdCopyImageToBuffer2;
940extern PFN_vkCmdEndRendering vkCmdEndRendering;
941extern PFN_vkCmdPipelineBarrier2 vkCmdPipelineBarrier2;
942extern PFN_vkCmdResetEvent2 vkCmdResetEvent2;
943extern PFN_vkCmdResolveImage2 vkCmdResolveImage2;
944extern PFN_vkCmdSetCullMode vkCmdSetCullMode;
945extern PFN_vkCmdSetDepthBiasEnable vkCmdSetDepthBiasEnable;
946extern PFN_vkCmdSetDepthBoundsTestEnable vkCmdSetDepthBoundsTestEnable;
947extern PFN_vkCmdSetDepthCompareOp vkCmdSetDepthCompareOp;
948extern PFN_vkCmdSetDepthTestEnable vkCmdSetDepthTestEnable;
949extern PFN_vkCmdSetDepthWriteEnable vkCmdSetDepthWriteEnable;
950extern PFN_vkCmdSetEvent2 vkCmdSetEvent2;
951extern PFN_vkCmdSetFrontFace vkCmdSetFrontFace;
952extern PFN_vkCmdSetPrimitiveRestartEnable vkCmdSetPrimitiveRestartEnable;
953extern PFN_vkCmdSetPrimitiveTopology vkCmdSetPrimitiveTopology;
954extern PFN_vkCmdSetRasterizerDiscardEnable vkCmdSetRasterizerDiscardEnable;
955extern PFN_vkCmdSetScissorWithCount vkCmdSetScissorWithCount;
956extern PFN_vkCmdSetStencilOp vkCmdSetStencilOp;
957extern PFN_vkCmdSetStencilTestEnable vkCmdSetStencilTestEnable;
958extern PFN_vkCmdSetViewportWithCount vkCmdSetViewportWithCount;
959extern PFN_vkCmdWaitEvents2 vkCmdWaitEvents2;
960extern PFN_vkCmdWriteTimestamp2 vkCmdWriteTimestamp2;
961extern PFN_vkCreatePrivateDataSlot vkCreatePrivateDataSlot;
962extern PFN_vkDestroyPrivateDataSlot vkDestroyPrivateDataSlot;
963extern PFN_vkGetDeviceBufferMemoryRequirements vkGetDeviceBufferMemoryRequirements;
964extern PFN_vkGetDeviceImageMemoryRequirements vkGetDeviceImageMemoryRequirements;
965extern PFN_vkGetDeviceImageSparseMemoryRequirements vkGetDeviceImageSparseMemoryRequirements;
966extern PFN_vkGetPhysicalDeviceToolProperties vkGetPhysicalDeviceToolProperties;
967extern PFN_vkGetPrivateData vkGetPrivateData;
968extern PFN_vkQueueSubmit2 vkQueueSubmit2;
969extern PFN_vkSetPrivateData vkSetPrivateData;
970#endif /* defined(VK_VERSION_1_3) */
971#if defined(VK_AMD_buffer_marker)
972extern PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD;
973#endif /* defined(VK_AMD_buffer_marker) */
974#if defined(VK_AMD_display_native_hdr)
975extern PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD;
976#endif /* defined(VK_AMD_display_native_hdr) */
977#if defined(VK_AMD_draw_indirect_count)
978extern PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD;
979extern PFN_vkCmdDrawIndirectCountAMD vkCmdDrawIndirectCountAMD;
980#endif /* defined(VK_AMD_draw_indirect_count) */
981#if defined(VK_AMD_shader_info)
982extern PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD;
983#endif /* defined(VK_AMD_shader_info) */
984#if defined(VK_ANDROID_external_memory_android_hardware_buffer)
985extern PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID;
986extern PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID;
987#endif /* defined(VK_ANDROID_external_memory_android_hardware_buffer) */
988#if defined(VK_EXT_acquire_drm_display)
989extern PFN_vkAcquireDrmDisplayEXT vkAcquireDrmDisplayEXT;
990extern PFN_vkGetDrmDisplayEXT vkGetDrmDisplayEXT;
991#endif /* defined(VK_EXT_acquire_drm_display) */
992#if defined(VK_EXT_acquire_xlib_display)
993extern PFN_vkAcquireXlibDisplayEXT vkAcquireXlibDisplayEXT;
994extern PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT;
995#endif /* defined(VK_EXT_acquire_xlib_display) */
996#if defined(VK_EXT_buffer_device_address)
997extern PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT;
998#endif /* defined(VK_EXT_buffer_device_address) */
999#if defined(VK_EXT_calibrated_timestamps)
1000extern PFN_vkGetCalibratedTimestampsEXT vkGetCalibratedTimestampsEXT;
1001extern PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT vkGetPhysicalDeviceCalibrateableTimeDomainsEXT;
1002#endif /* defined(VK_EXT_calibrated_timestamps) */
1003#if defined(VK_EXT_color_write_enable)
1004extern PFN_vkCmdSetColorWriteEnableEXT vkCmdSetColorWriteEnableEXT;
1005#endif /* defined(VK_EXT_color_write_enable) */
1006#if defined(VK_EXT_conditional_rendering)
1007extern PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT;
1008extern PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT;
1009#endif /* defined(VK_EXT_conditional_rendering) */
1010#if defined(VK_EXT_debug_marker)
1011extern PFN_vkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXT;
1012extern PFN_vkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXT;
1013extern PFN_vkCmdDebugMarkerInsertEXT vkCmdDebugMarkerInsertEXT;
1014extern PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT;
1015extern PFN_vkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXT;
1016#endif /* defined(VK_EXT_debug_marker) */
1017#if defined(VK_EXT_debug_report)
1018extern PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT;
1019extern PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT;
1020extern PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT;
1021#endif /* defined(VK_EXT_debug_report) */
1022#if defined(VK_EXT_debug_utils)
1023extern PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT;
1024extern PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT;
1025extern PFN_vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT;
1026extern PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT;
1027extern PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT;
1028extern PFN_vkQueueBeginDebugUtilsLabelEXT vkQueueBeginDebugUtilsLabelEXT;
1029extern PFN_vkQueueEndDebugUtilsLabelEXT vkQueueEndDebugUtilsLabelEXT;
1030extern PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT;
1031extern PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT;
1032extern PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT;
1033extern PFN_vkSubmitDebugUtilsMessageEXT vkSubmitDebugUtilsMessageEXT;
1034#endif /* defined(VK_EXT_debug_utils) */
1035#if defined(VK_EXT_direct_mode_display)
1036extern PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT;
1037#endif /* defined(VK_EXT_direct_mode_display) */
1038#if defined(VK_EXT_directfb_surface)
1039extern PFN_vkCreateDirectFBSurfaceEXT vkCreateDirectFBSurfaceEXT;
1040extern PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT vkGetPhysicalDeviceDirectFBPresentationSupportEXT;
1041#endif /* defined(VK_EXT_directfb_surface) */
1042#if defined(VK_EXT_discard_rectangles)
1043extern PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT;
1044#endif /* defined(VK_EXT_discard_rectangles) */
1045#if defined(VK_EXT_display_control)
1046extern PFN_vkDisplayPowerControlEXT vkDisplayPowerControlEXT;
1047extern PFN_vkGetSwapchainCounterEXT vkGetSwapchainCounterEXT;
1048extern PFN_vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT;
1049extern PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT;
1050#endif /* defined(VK_EXT_display_control) */
1051#if defined(VK_EXT_display_surface_counter)
1052extern PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT;
1053#endif /* defined(VK_EXT_display_surface_counter) */
1054#if defined(VK_EXT_extended_dynamic_state)
1055extern PFN_vkCmdBindVertexBuffers2EXT vkCmdBindVertexBuffers2EXT;
1056extern PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT;
1057extern PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT;
1058extern PFN_vkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXT;
1059extern PFN_vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT;
1060extern PFN_vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT;
1061extern PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT;
1062extern PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT;
1063extern PFN_vkCmdSetScissorWithCountEXT vkCmdSetScissorWithCountEXT;
1064extern PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT;
1065extern PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT;
1066extern PFN_vkCmdSetViewportWithCountEXT vkCmdSetViewportWithCountEXT;
1067#endif /* defined(VK_EXT_extended_dynamic_state) */
1068#if defined(VK_EXT_extended_dynamic_state2)
1069extern PFN_vkCmdSetDepthBiasEnableEXT vkCmdSetDepthBiasEnableEXT;
1070extern PFN_vkCmdSetLogicOpEXT vkCmdSetLogicOpEXT;
1071extern PFN_vkCmdSetPatchControlPointsEXT vkCmdSetPatchControlPointsEXT;
1072extern PFN_vkCmdSetPrimitiveRestartEnableEXT vkCmdSetPrimitiveRestartEnableEXT;
1073extern PFN_vkCmdSetRasterizerDiscardEnableEXT vkCmdSetRasterizerDiscardEnableEXT;
1074#endif /* defined(VK_EXT_extended_dynamic_state2) */
1075#if defined(VK_EXT_external_memory_host)
1076extern PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT;
1077#endif /* defined(VK_EXT_external_memory_host) */
1078#if defined(VK_EXT_full_screen_exclusive)
1079extern PFN_vkAcquireFullScreenExclusiveModeEXT vkAcquireFullScreenExclusiveModeEXT;
1080extern PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT vkGetPhysicalDeviceSurfacePresentModes2EXT;
1081extern PFN_vkReleaseFullScreenExclusiveModeEXT vkReleaseFullScreenExclusiveModeEXT;
1082#endif /* defined(VK_EXT_full_screen_exclusive) */
1083#if defined(VK_EXT_hdr_metadata)
1084extern PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT;
1085#endif /* defined(VK_EXT_hdr_metadata) */
1086#if defined(VK_EXT_headless_surface)
1087extern PFN_vkCreateHeadlessSurfaceEXT vkCreateHeadlessSurfaceEXT;
1088#endif /* defined(VK_EXT_headless_surface) */
1089#if defined(VK_EXT_host_query_reset)
1090extern PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT;
1091#endif /* defined(VK_EXT_host_query_reset) */
1092#if defined(VK_EXT_image_drm_format_modifier)
1093extern PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT;
1094#endif /* defined(VK_EXT_image_drm_format_modifier) */
1095#if defined(VK_EXT_line_rasterization)
1096extern PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT;
1097#endif /* defined(VK_EXT_line_rasterization) */
1098#if defined(VK_EXT_metal_surface)
1099extern PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT;
1100#endif /* defined(VK_EXT_metal_surface) */
1101#if defined(VK_EXT_multi_draw)
1102extern PFN_vkCmdDrawMultiEXT vkCmdDrawMultiEXT;
1103extern PFN_vkCmdDrawMultiIndexedEXT vkCmdDrawMultiIndexedEXT;
1104#endif /* defined(VK_EXT_multi_draw) */
1105#if defined(VK_EXT_pageable_device_local_memory)
1106extern PFN_vkSetDeviceMemoryPriorityEXT vkSetDeviceMemoryPriorityEXT;
1107#endif /* defined(VK_EXT_pageable_device_local_memory) */
1108#if defined(VK_EXT_private_data)
1109extern PFN_vkCreatePrivateDataSlotEXT vkCreatePrivateDataSlotEXT;
1110extern PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT;
1111extern PFN_vkGetPrivateDataEXT vkGetPrivateDataEXT;
1112extern PFN_vkSetPrivateDataEXT vkSetPrivateDataEXT;
1113#endif /* defined(VK_EXT_private_data) */
1114#if defined(VK_EXT_sample_locations)
1115extern PFN_vkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXT;
1116extern PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT vkGetPhysicalDeviceMultisamplePropertiesEXT;
1117#endif /* defined(VK_EXT_sample_locations) */
1118#if defined(VK_EXT_tooling_info)
1119extern PFN_vkGetPhysicalDeviceToolPropertiesEXT vkGetPhysicalDeviceToolPropertiesEXT;
1120#endif /* defined(VK_EXT_tooling_info) */
1121#if defined(VK_EXT_transform_feedback)
1122extern PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT;
1123extern PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT;
1124extern PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT;
1125extern PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT;
1126extern PFN_vkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXT;
1127extern PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT;
1128#endif /* defined(VK_EXT_transform_feedback) */
1129#if defined(VK_EXT_validation_cache)
1130extern PFN_vkCreateValidationCacheEXT vkCreateValidationCacheEXT;
1131extern PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT;
1132extern PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT;
1133extern PFN_vkMergeValidationCachesEXT vkMergeValidationCachesEXT;
1134#endif /* defined(VK_EXT_validation_cache) */
1135#if defined(VK_EXT_vertex_input_dynamic_state)
1136extern PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT;
1137#endif /* defined(VK_EXT_vertex_input_dynamic_state) */
1138#if defined(VK_FUCHSIA_buffer_collection)
1139extern PFN_vkCreateBufferCollectionFUCHSIA vkCreateBufferCollectionFUCHSIA;
1140extern PFN_vkDestroyBufferCollectionFUCHSIA vkDestroyBufferCollectionFUCHSIA;
1141extern PFN_vkGetBufferCollectionPropertiesFUCHSIA vkGetBufferCollectionPropertiesFUCHSIA;
1142extern PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA vkSetBufferCollectionBufferConstraintsFUCHSIA;
1143extern PFN_vkSetBufferCollectionImageConstraintsFUCHSIA vkSetBufferCollectionImageConstraintsFUCHSIA;
1144#endif /* defined(VK_FUCHSIA_buffer_collection) */
1145#if defined(VK_FUCHSIA_external_memory)
1146extern PFN_vkGetMemoryZirconHandleFUCHSIA vkGetMemoryZirconHandleFUCHSIA;
1147extern PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA vkGetMemoryZirconHandlePropertiesFUCHSIA;
1148#endif /* defined(VK_FUCHSIA_external_memory) */
1149#if defined(VK_FUCHSIA_external_semaphore)
1150extern PFN_vkGetSemaphoreZirconHandleFUCHSIA vkGetSemaphoreZirconHandleFUCHSIA;
1151extern PFN_vkImportSemaphoreZirconHandleFUCHSIA vkImportSemaphoreZirconHandleFUCHSIA;
1152#endif /* defined(VK_FUCHSIA_external_semaphore) */
1153#if defined(VK_FUCHSIA_imagepipe_surface)
1154extern PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA;
1155#endif /* defined(VK_FUCHSIA_imagepipe_surface) */
1156#if defined(VK_GGP_stream_descriptor_surface)
1157extern PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP;
1158#endif /* defined(VK_GGP_stream_descriptor_surface) */
1159#if defined(VK_GOOGLE_display_timing)
1160extern PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE;
1161extern PFN_vkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLE;
1162#endif /* defined(VK_GOOGLE_display_timing) */
1163#if defined(VK_HUAWEI_invocation_mask)
1164extern PFN_vkCmdBindInvocationMaskHUAWEI vkCmdBindInvocationMaskHUAWEI;
1165#endif /* defined(VK_HUAWEI_invocation_mask) */
1166#if defined(VK_HUAWEI_subpass_shading)
1167extern PFN_vkCmdSubpassShadingHUAWEI vkCmdSubpassShadingHUAWEI;
1168extern PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI;
1169#endif /* defined(VK_HUAWEI_subpass_shading) */
1170#if defined(VK_INTEL_performance_query)
1171extern PFN_vkAcquirePerformanceConfigurationINTEL vkAcquirePerformanceConfigurationINTEL;
1172extern PFN_vkCmdSetPerformanceMarkerINTEL vkCmdSetPerformanceMarkerINTEL;
1173extern PFN_vkCmdSetPerformanceOverrideINTEL vkCmdSetPerformanceOverrideINTEL;
1174extern PFN_vkCmdSetPerformanceStreamMarkerINTEL vkCmdSetPerformanceStreamMarkerINTEL;
1175extern PFN_vkGetPerformanceParameterINTEL vkGetPerformanceParameterINTEL;
1176extern PFN_vkInitializePerformanceApiINTEL vkInitializePerformanceApiINTEL;
1177extern PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL;
1178extern PFN_vkReleasePerformanceConfigurationINTEL vkReleasePerformanceConfigurationINTEL;
1179extern PFN_vkUninitializePerformanceApiINTEL vkUninitializePerformanceApiINTEL;
1180#endif /* defined(VK_INTEL_performance_query) */
1181#if defined(VK_KHR_acceleration_structure)
1182extern PFN_vkBuildAccelerationStructuresKHR vkBuildAccelerationStructuresKHR;
1183extern PFN_vkCmdBuildAccelerationStructuresIndirectKHR vkCmdBuildAccelerationStructuresIndirectKHR;
1184extern PFN_vkCmdBuildAccelerationStructuresKHR vkCmdBuildAccelerationStructuresKHR;
1185extern PFN_vkCmdCopyAccelerationStructureKHR vkCmdCopyAccelerationStructureKHR;
1186extern PFN_vkCmdCopyAccelerationStructureToMemoryKHR vkCmdCopyAccelerationStructureToMemoryKHR;
1187extern PFN_vkCmdCopyMemoryToAccelerationStructureKHR vkCmdCopyMemoryToAccelerationStructureKHR;
1188extern PFN_vkCmdWriteAccelerationStructuresPropertiesKHR vkCmdWriteAccelerationStructuresPropertiesKHR;
1189extern PFN_vkCopyAccelerationStructureKHR vkCopyAccelerationStructureKHR;
1190extern PFN_vkCopyAccelerationStructureToMemoryKHR vkCopyAccelerationStructureToMemoryKHR;
1191extern PFN_vkCopyMemoryToAccelerationStructureKHR vkCopyMemoryToAccelerationStructureKHR;
1192extern PFN_vkCreateAccelerationStructureKHR vkCreateAccelerationStructureKHR;
1193extern PFN_vkDestroyAccelerationStructureKHR vkDestroyAccelerationStructureKHR;
1194extern PFN_vkGetAccelerationStructureBuildSizesKHR vkGetAccelerationStructureBuildSizesKHR;
1195extern PFN_vkGetAccelerationStructureDeviceAddressKHR vkGetAccelerationStructureDeviceAddressKHR;
1196extern PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR;
1197extern PFN_vkWriteAccelerationStructuresPropertiesKHR vkWriteAccelerationStructuresPropertiesKHR;
1198#endif /* defined(VK_KHR_acceleration_structure) */
1199#if defined(VK_KHR_android_surface)
1200extern PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR;
1201#endif /* defined(VK_KHR_android_surface) */
1202#if defined(VK_KHR_bind_memory2)
1203extern PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR;
1204extern PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR;
1205#endif /* defined(VK_KHR_bind_memory2) */
1206#if defined(VK_KHR_buffer_device_address)
1207extern PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR;
1208extern PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR;
1209extern PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR;
1210#endif /* defined(VK_KHR_buffer_device_address) */
1211#if defined(VK_KHR_copy_commands2)
1212extern PFN_vkCmdBlitImage2KHR vkCmdBlitImage2KHR;
1213extern PFN_vkCmdCopyBuffer2KHR vkCmdCopyBuffer2KHR;
1214extern PFN_vkCmdCopyBufferToImage2KHR vkCmdCopyBufferToImage2KHR;
1215extern PFN_vkCmdCopyImage2KHR vkCmdCopyImage2KHR;
1216extern PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR;
1217extern PFN_vkCmdResolveImage2KHR vkCmdResolveImage2KHR;
1218#endif /* defined(VK_KHR_copy_commands2) */
1219#if defined(VK_KHR_create_renderpass2)
1220extern PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR;
1221extern PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR;
1222extern PFN_vkCmdNextSubpass2KHR vkCmdNextSubpass2KHR;
1223extern PFN_vkCreateRenderPass2KHR vkCreateRenderPass2KHR;
1224#endif /* defined(VK_KHR_create_renderpass2) */
1225#if defined(VK_KHR_deferred_host_operations)
1226extern PFN_vkCreateDeferredOperationKHR vkCreateDeferredOperationKHR;
1227extern PFN_vkDeferredOperationJoinKHR vkDeferredOperationJoinKHR;
1228extern PFN_vkDestroyDeferredOperationKHR vkDestroyDeferredOperationKHR;
1229extern PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR;
1230extern PFN_vkGetDeferredOperationResultKHR vkGetDeferredOperationResultKHR;
1231#endif /* defined(VK_KHR_deferred_host_operations) */
1232#if defined(VK_KHR_descriptor_update_template)
1233extern PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR;
1234extern PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR;
1235extern PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR;
1236#endif /* defined(VK_KHR_descriptor_update_template) */
1237#if defined(VK_KHR_device_group)
1238extern PFN_vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR;
1239extern PFN_vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR;
1240extern PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR;
1241#endif /* defined(VK_KHR_device_group) */
1242#if defined(VK_KHR_device_group_creation)
1243extern PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR;
1244#endif /* defined(VK_KHR_device_group_creation) */
1245#if defined(VK_KHR_display)
1246extern PFN_vkCreateDisplayModeKHR vkCreateDisplayModeKHR;
1247extern PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR;
1248extern PFN_vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR;
1249extern PFN_vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR;
1250extern PFN_vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR;
1251extern PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR;
1252extern PFN_vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR;
1253#endif /* defined(VK_KHR_display) */
1254#if defined(VK_KHR_display_swapchain)
1255extern PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR;
1256#endif /* defined(VK_KHR_display_swapchain) */
1257#if defined(VK_KHR_draw_indirect_count)
1258extern PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR;
1259extern PFN_vkCmdDrawIndirectCountKHR vkCmdDrawIndirectCountKHR;
1260#endif /* defined(VK_KHR_draw_indirect_count) */
1261#if defined(VK_KHR_dynamic_rendering)
1262extern PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR;
1263extern PFN_vkCmdEndRenderingKHR vkCmdEndRenderingKHR;
1264#endif /* defined(VK_KHR_dynamic_rendering) */
1265#if defined(VK_KHR_external_fence_capabilities)
1266extern PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR;
1267#endif /* defined(VK_KHR_external_fence_capabilities) */
1268#if defined(VK_KHR_external_fence_fd)
1269extern PFN_vkGetFenceFdKHR vkGetFenceFdKHR;
1270extern PFN_vkImportFenceFdKHR vkImportFenceFdKHR;
1271#endif /* defined(VK_KHR_external_fence_fd) */
1272#if defined(VK_KHR_external_fence_win32)
1273extern PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR;
1274extern PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR;
1275#endif /* defined(VK_KHR_external_fence_win32) */
1276#if defined(VK_KHR_external_memory_capabilities)
1277extern PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR vkGetPhysicalDeviceExternalBufferPropertiesKHR;
1278#endif /* defined(VK_KHR_external_memory_capabilities) */
1279#if defined(VK_KHR_external_memory_fd)
1280extern PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR;
1281extern PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR;
1282#endif /* defined(VK_KHR_external_memory_fd) */
1283#if defined(VK_KHR_external_memory_win32)
1284extern PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR;
1285extern PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR;
1286#endif /* defined(VK_KHR_external_memory_win32) */
1287#if defined(VK_KHR_external_semaphore_capabilities)
1288extern PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR vkGetPhysicalDeviceExternalSemaphorePropertiesKHR;
1289#endif /* defined(VK_KHR_external_semaphore_capabilities) */
1290#if defined(VK_KHR_external_semaphore_fd)
1291extern PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR;
1292extern PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR;
1293#endif /* defined(VK_KHR_external_semaphore_fd) */
1294#if defined(VK_KHR_external_semaphore_win32)
1295extern PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR;
1296extern PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR;
1297#endif /* defined(VK_KHR_external_semaphore_win32) */
1298#if defined(VK_KHR_fragment_shading_rate)
1299extern PFN_vkCmdSetFragmentShadingRateKHR vkCmdSetFragmentShadingRateKHR;
1300extern PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHR;
1301#endif /* defined(VK_KHR_fragment_shading_rate) */
1302#if defined(VK_KHR_get_display_properties2)
1303extern PFN_vkGetDisplayModeProperties2KHR vkGetDisplayModeProperties2KHR;
1304extern PFN_vkGetDisplayPlaneCapabilities2KHR vkGetDisplayPlaneCapabilities2KHR;
1305extern PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHR;
1306extern PFN_vkGetPhysicalDeviceDisplayProperties2KHR vkGetPhysicalDeviceDisplayProperties2KHR;
1307#endif /* defined(VK_KHR_get_display_properties2) */
1308#if defined(VK_KHR_get_memory_requirements2)
1309extern PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR;
1310extern PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR;
1311extern PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR;
1312#endif /* defined(VK_KHR_get_memory_requirements2) */
1313#if defined(VK_KHR_get_physical_device_properties2)
1314extern PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR;
1315extern PFN_vkGetPhysicalDeviceFormatProperties2KHR vkGetPhysicalDeviceFormatProperties2KHR;
1316extern PFN_vkGetPhysicalDeviceImageFormatProperties2KHR vkGetPhysicalDeviceImageFormatProperties2KHR;
1317extern PFN_vkGetPhysicalDeviceMemoryProperties2KHR vkGetPhysicalDeviceMemoryProperties2KHR;
1318extern PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR;
1319extern PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR vkGetPhysicalDeviceQueueFamilyProperties2KHR;
1320extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR;
1321#endif /* defined(VK_KHR_get_physical_device_properties2) */
1322#if defined(VK_KHR_get_surface_capabilities2)
1323extern PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR;
1324extern PFN_vkGetPhysicalDeviceSurfaceFormats2KHR vkGetPhysicalDeviceSurfaceFormats2KHR;
1325#endif /* defined(VK_KHR_get_surface_capabilities2) */
1326#if defined(VK_KHR_maintenance1)
1327extern PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR;
1328#endif /* defined(VK_KHR_maintenance1) */
1329#if defined(VK_KHR_maintenance3)
1330extern PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR;
1331#endif /* defined(VK_KHR_maintenance3) */
1332#if defined(VK_KHR_maintenance4)
1333extern PFN_vkGetDeviceBufferMemoryRequirementsKHR vkGetDeviceBufferMemoryRequirementsKHR;
1334extern PFN_vkGetDeviceImageMemoryRequirementsKHR vkGetDeviceImageMemoryRequirementsKHR;
1335extern PFN_vkGetDeviceImageSparseMemoryRequirementsKHR vkGetDeviceImageSparseMemoryRequirementsKHR;
1336#endif /* defined(VK_KHR_maintenance4) */
1337#if defined(VK_KHR_performance_query)
1338extern PFN_vkAcquireProfilingLockKHR vkAcquireProfilingLockKHR;
1339extern PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR;
1340extern PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR;
1341extern PFN_vkReleaseProfilingLockKHR vkReleaseProfilingLockKHR;
1342#endif /* defined(VK_KHR_performance_query) */
1343#if defined(VK_KHR_pipeline_executable_properties)
1344extern PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR;
1345extern PFN_vkGetPipelineExecutablePropertiesKHR vkGetPipelineExecutablePropertiesKHR;
1346extern PFN_vkGetPipelineExecutableStatisticsKHR vkGetPipelineExecutableStatisticsKHR;
1347#endif /* defined(VK_KHR_pipeline_executable_properties) */
1348#if defined(VK_KHR_present_wait)
1349extern PFN_vkWaitForPresentKHR vkWaitForPresentKHR;
1350#endif /* defined(VK_KHR_present_wait) */
1351#if defined(VK_KHR_push_descriptor)
1352extern PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR;
1353#endif /* defined(VK_KHR_push_descriptor) */
1354#if defined(VK_KHR_ray_tracing_pipeline)
1355extern PFN_vkCmdSetRayTracingPipelineStackSizeKHR vkCmdSetRayTracingPipelineStackSizeKHR;
1356extern PFN_vkCmdTraceRaysIndirectKHR vkCmdTraceRaysIndirectKHR;
1357extern PFN_vkCmdTraceRaysKHR vkCmdTraceRaysKHR;
1358extern PFN_vkCreateRayTracingPipelinesKHR vkCreateRayTracingPipelinesKHR;
1359extern PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR;
1360extern PFN_vkGetRayTracingShaderGroupHandlesKHR vkGetRayTracingShaderGroupHandlesKHR;
1361extern PFN_vkGetRayTracingShaderGroupStackSizeKHR vkGetRayTracingShaderGroupStackSizeKHR;
1362#endif /* defined(VK_KHR_ray_tracing_pipeline) */
1363#if defined(VK_KHR_sampler_ycbcr_conversion)
1364extern PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR;
1365extern PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR;
1366#endif /* defined(VK_KHR_sampler_ycbcr_conversion) */
1367#if defined(VK_KHR_shared_presentable_image)
1368extern PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR;
1369#endif /* defined(VK_KHR_shared_presentable_image) */
1370#if defined(VK_KHR_surface)
1371extern PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR;
1372extern PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR;
1373extern PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR;
1374extern PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR;
1375extern PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR;
1376#endif /* defined(VK_KHR_surface) */
1377#if defined(VK_KHR_swapchain)
1378extern PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR;
1379extern PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR;
1380extern PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR;
1381extern PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR;
1382extern PFN_vkQueuePresentKHR vkQueuePresentKHR;
1383#endif /* defined(VK_KHR_swapchain) */
1384#if defined(VK_KHR_synchronization2)
1385extern PFN_vkCmdPipelineBarrier2KHR vkCmdPipelineBarrier2KHR;
1386extern PFN_vkCmdResetEvent2KHR vkCmdResetEvent2KHR;
1387extern PFN_vkCmdSetEvent2KHR vkCmdSetEvent2KHR;
1388extern PFN_vkCmdWaitEvents2KHR vkCmdWaitEvents2KHR;
1389extern PFN_vkCmdWriteTimestamp2KHR vkCmdWriteTimestamp2KHR;
1390extern PFN_vkQueueSubmit2KHR vkQueueSubmit2KHR;
1391#endif /* defined(VK_KHR_synchronization2) */
1392#if defined(VK_KHR_synchronization2) && defined(VK_AMD_buffer_marker)
1393extern PFN_vkCmdWriteBufferMarker2AMD vkCmdWriteBufferMarker2AMD;
1394#endif /* defined(VK_KHR_synchronization2) && defined(VK_AMD_buffer_marker) */
1395#if defined(VK_KHR_synchronization2) && defined(VK_NV_device_diagnostic_checkpoints)
1396extern PFN_vkGetQueueCheckpointData2NV vkGetQueueCheckpointData2NV;
1397#endif /* defined(VK_KHR_synchronization2) && defined(VK_NV_device_diagnostic_checkpoints) */
1398#if defined(VK_KHR_timeline_semaphore)
1399extern PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR;
1400extern PFN_vkSignalSemaphoreKHR vkSignalSemaphoreKHR;
1401extern PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR;
1402#endif /* defined(VK_KHR_timeline_semaphore) */
1403#if defined(VK_KHR_video_decode_queue)
1404extern PFN_vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR;
1405#endif /* defined(VK_KHR_video_decode_queue) */
1406#if defined(VK_KHR_video_encode_queue)
1407extern PFN_vkCmdEncodeVideoKHR vkCmdEncodeVideoKHR;
1408#endif /* defined(VK_KHR_video_encode_queue) */
1409#if defined(VK_KHR_video_queue)
1410extern PFN_vkBindVideoSessionMemoryKHR vkBindVideoSessionMemoryKHR;
1411extern PFN_vkCmdBeginVideoCodingKHR vkCmdBeginVideoCodingKHR;
1412extern PFN_vkCmdControlVideoCodingKHR vkCmdControlVideoCodingKHR;
1413extern PFN_vkCmdEndVideoCodingKHR vkCmdEndVideoCodingKHR;
1414extern PFN_vkCreateVideoSessionKHR vkCreateVideoSessionKHR;
1415extern PFN_vkCreateVideoSessionParametersKHR vkCreateVideoSessionParametersKHR;
1416extern PFN_vkDestroyVideoSessionKHR vkDestroyVideoSessionKHR;
1417extern PFN_vkDestroyVideoSessionParametersKHR vkDestroyVideoSessionParametersKHR;
1418extern PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR vkGetPhysicalDeviceVideoCapabilitiesKHR;
1419extern PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR vkGetPhysicalDeviceVideoFormatPropertiesKHR;
1420extern PFN_vkGetVideoSessionMemoryRequirementsKHR vkGetVideoSessionMemoryRequirementsKHR;
1421extern PFN_vkUpdateVideoSessionParametersKHR vkUpdateVideoSessionParametersKHR;
1422#endif /* defined(VK_KHR_video_queue) */
1423#if defined(VK_KHR_wayland_surface)
1424extern PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR;
1425extern PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR;
1426#endif /* defined(VK_KHR_wayland_surface) */
1427#if defined(VK_KHR_win32_surface)
1428extern PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR;
1429extern PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR;
1430#endif /* defined(VK_KHR_win32_surface) */
1431#if defined(VK_KHR_xcb_surface)
1432extern PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR;
1433extern PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR;
1434#endif /* defined(VK_KHR_xcb_surface) */
1435#if defined(VK_KHR_xlib_surface)
1436extern PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR;
1437extern PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR;
1438#endif /* defined(VK_KHR_xlib_surface) */
1439#if defined(VK_MVK_ios_surface)
1440extern PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK;
1441#endif /* defined(VK_MVK_ios_surface) */
1442#if defined(VK_MVK_macos_surface)
1443extern PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK;
1444#endif /* defined(VK_MVK_macos_surface) */
1445#if defined(VK_NN_vi_surface)
1446extern PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN;
1447#endif /* defined(VK_NN_vi_surface) */
1448#if defined(VK_NVX_binary_import)
1449extern PFN_vkCmdCuLaunchKernelNVX vkCmdCuLaunchKernelNVX;
1450extern PFN_vkCreateCuFunctionNVX vkCreateCuFunctionNVX;
1451extern PFN_vkCreateCuModuleNVX vkCreateCuModuleNVX;
1452extern PFN_vkDestroyCuFunctionNVX vkDestroyCuFunctionNVX;
1453extern PFN_vkDestroyCuModuleNVX vkDestroyCuModuleNVX;
1454#endif /* defined(VK_NVX_binary_import) */
1455#if defined(VK_NVX_image_view_handle)
1456extern PFN_vkGetImageViewAddressNVX vkGetImageViewAddressNVX;
1457extern PFN_vkGetImageViewHandleNVX vkGetImageViewHandleNVX;
1458#endif /* defined(VK_NVX_image_view_handle) */
1459#if defined(VK_NV_acquire_winrt_display)
1460extern PFN_vkAcquireWinrtDisplayNV vkAcquireWinrtDisplayNV;
1461extern PFN_vkGetWinrtDisplayNV vkGetWinrtDisplayNV;
1462#endif /* defined(VK_NV_acquire_winrt_display) */
1463#if defined(VK_NV_clip_space_w_scaling)
1464extern PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV;
1465#endif /* defined(VK_NV_clip_space_w_scaling) */
1466#if defined(VK_NV_cooperative_matrix)
1467extern PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV vkGetPhysicalDeviceCooperativeMatrixPropertiesNV;
1468#endif /* defined(VK_NV_cooperative_matrix) */
1469#if defined(VK_NV_coverage_reduction_mode)
1470extern PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV;
1471#endif /* defined(VK_NV_coverage_reduction_mode) */
1472#if defined(VK_NV_device_diagnostic_checkpoints)
1473extern PFN_vkCmdSetCheckpointNV vkCmdSetCheckpointNV;
1474extern PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV;
1475#endif /* defined(VK_NV_device_diagnostic_checkpoints) */
1476#if defined(VK_NV_device_generated_commands)
1477extern PFN_vkCmdBindPipelineShaderGroupNV vkCmdBindPipelineShaderGroupNV;
1478extern PFN_vkCmdExecuteGeneratedCommandsNV vkCmdExecuteGeneratedCommandsNV;
1479extern PFN_vkCmdPreprocessGeneratedCommandsNV vkCmdPreprocessGeneratedCommandsNV;
1480extern PFN_vkCreateIndirectCommandsLayoutNV vkCreateIndirectCommandsLayoutNV;
1481extern PFN_vkDestroyIndirectCommandsLayoutNV vkDestroyIndirectCommandsLayoutNV;
1482extern PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV;
1483#endif /* defined(VK_NV_device_generated_commands) */
1484#if defined(VK_NV_external_memory_capabilities)
1485extern PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNV;
1486#endif /* defined(VK_NV_external_memory_capabilities) */
1487#if defined(VK_NV_external_memory_rdma)
1488extern PFN_vkGetMemoryRemoteAddressNV vkGetMemoryRemoteAddressNV;
1489#endif /* defined(VK_NV_external_memory_rdma) */
1490#if defined(VK_NV_external_memory_win32)
1491extern PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV;
1492#endif /* defined(VK_NV_external_memory_win32) */
1493#if defined(VK_NV_fragment_shading_rate_enums)
1494extern PFN_vkCmdSetFragmentShadingRateEnumNV vkCmdSetFragmentShadingRateEnumNV;
1495#endif /* defined(VK_NV_fragment_shading_rate_enums) */
1496#if defined(VK_NV_mesh_shader)
1497extern PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV;
1498extern PFN_vkCmdDrawMeshTasksIndirectNV vkCmdDrawMeshTasksIndirectNV;
1499extern PFN_vkCmdDrawMeshTasksNV vkCmdDrawMeshTasksNV;
1500#endif /* defined(VK_NV_mesh_shader) */
1501#if defined(VK_NV_ray_tracing)
1502extern PFN_vkBindAccelerationStructureMemoryNV vkBindAccelerationStructureMemoryNV;
1503extern PFN_vkCmdBuildAccelerationStructureNV vkCmdBuildAccelerationStructureNV;
1504extern PFN_vkCmdCopyAccelerationStructureNV vkCmdCopyAccelerationStructureNV;
1505extern PFN_vkCmdTraceRaysNV vkCmdTraceRaysNV;
1506extern PFN_vkCmdWriteAccelerationStructuresPropertiesNV vkCmdWriteAccelerationStructuresPropertiesNV;
1507extern PFN_vkCompileDeferredNV vkCompileDeferredNV;
1508extern PFN_vkCreateAccelerationStructureNV vkCreateAccelerationStructureNV;
1509extern PFN_vkCreateRayTracingPipelinesNV vkCreateRayTracingPipelinesNV;
1510extern PFN_vkDestroyAccelerationStructureNV vkDestroyAccelerationStructureNV;
1511extern PFN_vkGetAccelerationStructureHandleNV vkGetAccelerationStructureHandleNV;
1512extern PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV;
1513extern PFN_vkGetRayTracingShaderGroupHandlesNV vkGetRayTracingShaderGroupHandlesNV;
1514#endif /* defined(VK_NV_ray_tracing) */
1515#if defined(VK_NV_scissor_exclusive)
1516extern PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV;
1517#endif /* defined(VK_NV_scissor_exclusive) */
1518#if defined(VK_NV_shading_rate_image)
1519extern PFN_vkCmdBindShadingRateImageNV vkCmdBindShadingRateImageNV;
1520extern PFN_vkCmdSetCoarseSampleOrderNV vkCmdSetCoarseSampleOrderNV;
1521extern PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV;
1522#endif /* defined(VK_NV_shading_rate_image) */
1523#if defined(VK_QNX_screen_surface)
1524extern PFN_vkCreateScreenSurfaceQNX vkCreateScreenSurfaceQNX;
1525extern PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX vkGetPhysicalDeviceScreenPresentationSupportQNX;
1526#endif /* defined(VK_QNX_screen_surface) */
1527#if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1))
1528extern PFN_vkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXT;
1529#endif /* (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) */
1530#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))
1531extern PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR;
1532#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)) */
1533#if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
1534extern PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR;
1535extern PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR;
1536extern PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR;
1537#endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
1538#if (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
1539extern PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR;
1540#endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
1541/* VOLK_GENERATE_PROTOTYPES_H */
1542
1543#ifdef __cplusplus
1544}
1545#endif
1546
1547#endif
1548
1549#ifdef VOLK_IMPLEMENTATION
1550#undef VOLK_IMPLEMENTATION
1551// Prevent tools like dependency checkers that don't evaluate
1552// macros from detecting a cyclic dependency.
1553#define VOLK_SOURCE "volk.c"
1554#include VOLK_SOURCE
1555#endif
1556
1557/**
1558 * Copyright (c) 2018-2019 Arseny Kapoulkine
1559 *
1560 * Permission is hereby granted, free of charge, to any person obtaining a copy
1561 * of this software and associated documentation files (the "Software"), to deal
1562 * in the Software without restriction, including without limitation the rights
1563 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1564 * copies of the Software, and to permit persons to whom the Software is
1565 * furnished to do so, subject to the following conditions:
1566 *
1567 * The above copyright notice and this permission notice shall be included in all
1568 * copies or substantial portions of the Software.
1569 *
1570 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1571 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1572 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1573 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1574 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1575 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1576 * SOFTWARE.
1577*/
1578/* clang-format on */
1579

source code of flutter_engine/third_party/angle/src/third_party/volk/volk.h