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
18#define VOLK_HEADER_VERSION 135
23# ifdef VOLK_VULKAN_H_PATH
24# include VOLK_VULKAN_H_PATH
25# elif defined(VK_USE_PLATFORM_WIN32_KHR)
26# include <vulkan/vk_platform.h>
27# include <vulkan/vulkan_core.h>
33typedef unsigned long DWORD;
34typedef const wchar_t* LPCWSTR;
36typedef struct HINSTANCE__* HINSTANCE;
37typedef struct HWND__* HWND;
38typedef struct HMONITOR__* HMONITOR;
39typedef struct _SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES;
41# include <vulkan/vulkan_win32.h>
43# ifdef VK_ENABLE_BETA_EXTENSIONS
44# include <vulkan/vulkan_beta.h>
47# include <vulkan/vulkan.h>
55 struct VolkDeviceTable;
62 VkResult volkInitialize(
const char* dll_location =
nullptr);
78 uint32_t volkGetInstanceVersion(
void);
83 void volkLoadInstance(VkInstance instance);
89 void volkLoadInstanceOnly(VkInstance instance);
96 void volkLoadDevice(VkDevice device);
102 VkInstance volkGetLoadedInstance(
void);
108 VkDevice volkGetLoadedDevice(
void);
114 void volkLoadDeviceTable(
struct VolkDeviceTable* table, VkDevice device);
119 struct VolkDeviceTable
122#if defined(VK_VERSION_1_0)
123 PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers;
124 PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets;
125 PFN_vkAllocateMemory vkAllocateMemory;
126 PFN_vkBeginCommandBuffer vkBeginCommandBuffer;
127 PFN_vkBindBufferMemory vkBindBufferMemory;
128 PFN_vkBindImageMemory vkBindImageMemory;
129 PFN_vkCmdBeginQuery vkCmdBeginQuery;
130 PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass;
131 PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets;
132 PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer;
133 PFN_vkCmdBindPipeline vkCmdBindPipeline;
134 PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers;
135 PFN_vkCmdBlitImage vkCmdBlitImage;
136 PFN_vkCmdClearAttachments vkCmdClearAttachments;
137 PFN_vkCmdClearColorImage vkCmdClearColorImage;
138 PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage;
139 PFN_vkCmdCopyBuffer vkCmdCopyBuffer;
140 PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage;
141 PFN_vkCmdCopyImage vkCmdCopyImage;
142 PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer;
143 PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults;
144 PFN_vkCmdDispatch vkCmdDispatch;
145 PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect;
146 PFN_vkCmdDraw vkCmdDraw;
147 PFN_vkCmdDrawIndexed vkCmdDrawIndexed;
148 PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect;
149 PFN_vkCmdDrawIndirect vkCmdDrawIndirect;
150 PFN_vkCmdEndQuery vkCmdEndQuery;
151 PFN_vkCmdEndRenderPass vkCmdEndRenderPass;
152 PFN_vkCmdExecuteCommands vkCmdExecuteCommands;
153 PFN_vkCmdFillBuffer vkCmdFillBuffer;
154 PFN_vkCmdNextSubpass vkCmdNextSubpass;
155 PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier;
156 PFN_vkCmdPushConstants vkCmdPushConstants;
157 PFN_vkCmdResetEvent vkCmdResetEvent;
158 PFN_vkCmdResetQueryPool vkCmdResetQueryPool;
159 PFN_vkCmdResolveImage vkCmdResolveImage;
160 PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants;
161 PFN_vkCmdSetDepthBias vkCmdSetDepthBias;
162 PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds;
163 PFN_vkCmdSetEvent vkCmdSetEvent;
164 PFN_vkCmdSetLineWidth vkCmdSetLineWidth;
165 PFN_vkCmdSetScissor vkCmdSetScissor;
166 PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask;
167 PFN_vkCmdSetStencilReference vkCmdSetStencilReference;
168 PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask;
169 PFN_vkCmdSetViewport vkCmdSetViewport;
170 PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer;
171 PFN_vkCmdWaitEvents vkCmdWaitEvents;
172 PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp;
173 PFN_vkCreateBuffer vkCreateBuffer;
174 PFN_vkCreateBufferView vkCreateBufferView;
175 PFN_vkCreateCommandPool vkCreateCommandPool;
176 PFN_vkCreateComputePipelines vkCreateComputePipelines;
177 PFN_vkCreateDescriptorPool vkCreateDescriptorPool;
178 PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout;
179 PFN_vkCreateEvent vkCreateEvent;
180 PFN_vkCreateFence vkCreateFence;
181 PFN_vkCreateFramebuffer vkCreateFramebuffer;
182 PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines;
183 PFN_vkCreateImage vkCreateImage;
184 PFN_vkCreateImageView vkCreateImageView;
185 PFN_vkCreatePipelineCache vkCreatePipelineCache;
186 PFN_vkCreatePipelineLayout vkCreatePipelineLayout;
187 PFN_vkCreateQueryPool vkCreateQueryPool;
188 PFN_vkCreateRenderPass vkCreateRenderPass;
189 PFN_vkCreateSampler vkCreateSampler;
190 PFN_vkCreateSemaphore vkCreateSemaphore;
191 PFN_vkCreateShaderModule vkCreateShaderModule;
192 PFN_vkDestroyBuffer vkDestroyBuffer;
193 PFN_vkDestroyBufferView vkDestroyBufferView;
194 PFN_vkDestroyCommandPool vkDestroyCommandPool;
195 PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool;
196 PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout;
197 PFN_vkDestroyDevice vkDestroyDevice;
198 PFN_vkDestroyEvent vkDestroyEvent;
199 PFN_vkDestroyFence vkDestroyFence;
200 PFN_vkDestroyFramebuffer vkDestroyFramebuffer;
201 PFN_vkDestroyImage vkDestroyImage;
202 PFN_vkDestroyImageView vkDestroyImageView;
203 PFN_vkDestroyPipeline vkDestroyPipeline;
204 PFN_vkDestroyPipelineCache vkDestroyPipelineCache;
205 PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout;
206 PFN_vkDestroyQueryPool vkDestroyQueryPool;
207 PFN_vkDestroyRenderPass vkDestroyRenderPass;
208 PFN_vkDestroySampler vkDestroySampler;
209 PFN_vkDestroySemaphore vkDestroySemaphore;
210 PFN_vkDestroyShaderModule vkDestroyShaderModule;
211 PFN_vkDeviceWaitIdle vkDeviceWaitIdle;
212 PFN_vkEndCommandBuffer vkEndCommandBuffer;
213 PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges;
214 PFN_vkFreeCommandBuffers vkFreeCommandBuffers;
215 PFN_vkFreeDescriptorSets vkFreeDescriptorSets;
216 PFN_vkFreeMemory vkFreeMemory;
217 PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements;
218 PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment;
219 PFN_vkGetDeviceQueue vkGetDeviceQueue;
220 PFN_vkGetEventStatus vkGetEventStatus;
221 PFN_vkGetFenceStatus vkGetFenceStatus;
222 PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements;
223 PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements;
224 PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout;
225 PFN_vkGetPipelineCacheData vkGetPipelineCacheData;
226 PFN_vkGetQueryPoolResults vkGetQueryPoolResults;
227 PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity;
228 PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges;
229 PFN_vkMapMemory vkMapMemory;
230 PFN_vkMergePipelineCaches vkMergePipelineCaches;
231 PFN_vkQueueBindSparse vkQueueBindSparse;
232 PFN_vkQueueSubmit vkQueueSubmit;
233 PFN_vkQueueWaitIdle vkQueueWaitIdle;
234 PFN_vkResetCommandBuffer vkResetCommandBuffer;
235 PFN_vkResetCommandPool vkResetCommandPool;
236 PFN_vkResetDescriptorPool vkResetDescriptorPool;
237 PFN_vkResetEvent vkResetEvent;
238 PFN_vkResetFences vkResetFences;
239 PFN_vkSetEvent vkSetEvent;
240 PFN_vkUnmapMemory vkUnmapMemory;
241 PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets;
242 PFN_vkWaitForFences vkWaitForFences;
244#if defined(VK_VERSION_1_1)
245 PFN_vkBindBufferMemory2 vkBindBufferMemory2;
246 PFN_vkBindImageMemory2 vkBindImageMemory2;
247 PFN_vkCmdDispatchBase vkCmdDispatchBase;
248 PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask;
249 PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate;
250 PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion;
251 PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate;
252 PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion;
253 PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2;
254 PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport;
255 PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures;
256 PFN_vkGetDeviceQueue2 vkGetDeviceQueue2;
257 PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2;
258 PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2;
259 PFN_vkTrimCommandPool vkTrimCommandPool;
260 PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate;
262#if defined(VK_VERSION_1_2)
263 PFN_vkCmdBeginRenderPass2 vkCmdBeginRenderPass2;
264 PFN_vkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCount;
265 PFN_vkCmdDrawIndirectCount vkCmdDrawIndirectCount;
266 PFN_vkCmdEndRenderPass2 vkCmdEndRenderPass2;
267 PFN_vkCmdNextSubpass2 vkCmdNextSubpass2;
268 PFN_vkCreateRenderPass2 vkCreateRenderPass2;
269 PFN_vkGetBufferDeviceAddress vkGetBufferDeviceAddress;
270 PFN_vkGetBufferOpaqueCaptureAddress vkGetBufferOpaqueCaptureAddress;
271 PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress;
272 PFN_vkGetSemaphoreCounterValue vkGetSemaphoreCounterValue;
273 PFN_vkResetQueryPool vkResetQueryPool;
274 PFN_vkSignalSemaphore vkSignalSemaphore;
275 PFN_vkWaitSemaphores vkWaitSemaphores;
277#if defined(VK_AMD_buffer_marker)
278 PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD;
280#if defined(VK_AMD_display_native_hdr)
281 PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD;
283#if defined(VK_AMD_draw_indirect_count)
284 PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD;
285 PFN_vkCmdDrawIndirectCountAMD vkCmdDrawIndirectCountAMD;
287#if defined(VK_AMD_shader_info)
288 PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD;
290#if defined(VK_ANDROID_external_memory_android_hardware_buffer)
291 PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID;
292 PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID;
294#if defined(VK_EXT_buffer_device_address)
295 PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT;
297#if defined(VK_EXT_calibrated_timestamps)
298 PFN_vkGetCalibratedTimestampsEXT vkGetCalibratedTimestampsEXT;
300#if defined(VK_EXT_conditional_rendering)
301 PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT;
302 PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT;
304#if defined(VK_EXT_debug_marker)
305 PFN_vkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXT;
306 PFN_vkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXT;
307 PFN_vkCmdDebugMarkerInsertEXT vkCmdDebugMarkerInsertEXT;
308 PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT;
309 PFN_vkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXT;
311#if defined(VK_EXT_discard_rectangles)
312 PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT;
314#if defined(VK_EXT_display_control)
315 PFN_vkDisplayPowerControlEXT vkDisplayPowerControlEXT;
316 PFN_vkGetSwapchainCounterEXT vkGetSwapchainCounterEXT;
317 PFN_vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT;
318 PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT;
320#if defined(VK_EXT_external_memory_host)
321 PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT;
323#if defined(VK_EXT_full_screen_exclusive)
324 PFN_vkAcquireFullScreenExclusiveModeEXT vkAcquireFullScreenExclusiveModeEXT;
325 PFN_vkReleaseFullScreenExclusiveModeEXT vkReleaseFullScreenExclusiveModeEXT;
327#if defined(VK_EXT_hdr_metadata)
328 PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT;
330#if defined(VK_EXT_host_query_reset)
331 PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT;
333#if defined(VK_EXT_image_drm_format_modifier)
334 PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT;
336#if defined(VK_EXT_line_rasterization)
337 PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT;
339#if defined(VK_EXT_sample_locations)
340 PFN_vkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXT;
342#if defined(VK_EXT_transform_feedback)
343 PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT;
344 PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT;
345 PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT;
346 PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT;
347 PFN_vkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXT;
348 PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT;
350#if defined(VK_EXT_validation_cache)
351 PFN_vkCreateValidationCacheEXT vkCreateValidationCacheEXT;
352 PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT;
353 PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT;
354 PFN_vkMergeValidationCachesEXT vkMergeValidationCachesEXT;
356#if defined(VK_GOOGLE_display_timing)
357 PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE;
358 PFN_vkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLE;
360#if defined(VK_INTEL_performance_query)
361 PFN_vkAcquirePerformanceConfigurationINTEL vkAcquirePerformanceConfigurationINTEL;
362 PFN_vkCmdSetPerformanceMarkerINTEL vkCmdSetPerformanceMarkerINTEL;
363 PFN_vkCmdSetPerformanceOverrideINTEL vkCmdSetPerformanceOverrideINTEL;
364 PFN_vkCmdSetPerformanceStreamMarkerINTEL vkCmdSetPerformanceStreamMarkerINTEL;
365 PFN_vkGetPerformanceParameterINTEL vkGetPerformanceParameterINTEL;
366 PFN_vkInitializePerformanceApiINTEL vkInitializePerformanceApiINTEL;
367 PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL;
368 PFN_vkReleasePerformanceConfigurationINTEL vkReleasePerformanceConfigurationINTEL;
369 PFN_vkUninitializePerformanceApiINTEL vkUninitializePerformanceApiINTEL;
371#if defined(VK_KHR_bind_memory2)
372 PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR;
373 PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR;
375#if defined(VK_KHR_buffer_device_address)
376 PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR;
377 PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR;
378 PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR;
380#if defined(VK_KHR_create_renderpass2)
381 PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR;
382 PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR;
383 PFN_vkCmdNextSubpass2KHR vkCmdNextSubpass2KHR;
384 PFN_vkCreateRenderPass2KHR vkCreateRenderPass2KHR;
386#if defined(VK_KHR_deferred_host_operations)
387 PFN_vkCreateDeferredOperationKHR vkCreateDeferredOperationKHR;
388 PFN_vkDeferredOperationJoinKHR vkDeferredOperationJoinKHR;
389 PFN_vkDestroyDeferredOperationKHR vkDestroyDeferredOperationKHR;
390 PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR;
391 PFN_vkGetDeferredOperationResultKHR vkGetDeferredOperationResultKHR;
393#if defined(VK_KHR_descriptor_update_template)
394 PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR;
395 PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR;
396 PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR;
398#if defined(VK_KHR_device_group)
399 PFN_vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR;
400 PFN_vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR;
401 PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR;
403#if defined(VK_KHR_display_swapchain)
404 PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR;
406#if defined(VK_KHR_draw_indirect_count)
407 PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR;
408 PFN_vkCmdDrawIndirectCountKHR vkCmdDrawIndirectCountKHR;
410#if defined(VK_KHR_external_fence_fd)
411 PFN_vkGetFenceFdKHR vkGetFenceFdKHR;
412 PFN_vkImportFenceFdKHR vkImportFenceFdKHR;
414#if defined(VK_KHR_external_fence_win32)
415 PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR;
416 PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR;
418#if defined(VK_KHR_external_memory_fd)
419 PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR;
420 PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR;
422#if defined(VK_KHR_external_memory_win32)
423 PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR;
424 PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR;
426#if defined(VK_KHR_external_semaphore_fd)
427 PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR;
428 PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR;
430#if defined(VK_KHR_external_semaphore_win32)
431 PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR;
432 PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR;
434#if defined(VK_KHR_get_memory_requirements2)
435 PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR;
436 PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR;
437 PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR;
439#if defined(VK_KHR_maintenance1)
440 PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR;
442#if defined(VK_KHR_maintenance3)
443 PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR;
445#if defined(VK_KHR_performance_query)
446 PFN_vkAcquireProfilingLockKHR vkAcquireProfilingLockKHR;
447 PFN_vkReleaseProfilingLockKHR vkReleaseProfilingLockKHR;
449#if defined(VK_KHR_pipeline_executable_properties)
450 PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR;
451 PFN_vkGetPipelineExecutablePropertiesKHR vkGetPipelineExecutablePropertiesKHR;
452 PFN_vkGetPipelineExecutableStatisticsKHR vkGetPipelineExecutableStatisticsKHR;
454#if defined(VK_KHR_push_descriptor)
455 PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR;
457#if defined(VK_KHR_ray_tracing)
458 PFN_vkBindAccelerationStructureMemoryKHR vkBindAccelerationStructureMemoryKHR;
459 PFN_vkBuildAccelerationStructureKHR vkBuildAccelerationStructureKHR;
460 PFN_vkCmdBuildAccelerationStructureIndirectKHR vkCmdBuildAccelerationStructureIndirectKHR;
461 PFN_vkCmdBuildAccelerationStructureKHR vkCmdBuildAccelerationStructureKHR;
462 PFN_vkCmdCopyAccelerationStructureKHR vkCmdCopyAccelerationStructureKHR;
463 PFN_vkCmdCopyAccelerationStructureToMemoryKHR vkCmdCopyAccelerationStructureToMemoryKHR;
464 PFN_vkCmdCopyMemoryToAccelerationStructureKHR vkCmdCopyMemoryToAccelerationStructureKHR;
465 PFN_vkCmdTraceRaysIndirectKHR vkCmdTraceRaysIndirectKHR;
466 PFN_vkCmdTraceRaysKHR vkCmdTraceRaysKHR;
467 PFN_vkCmdWriteAccelerationStructuresPropertiesKHR vkCmdWriteAccelerationStructuresPropertiesKHR;
468 PFN_vkCopyAccelerationStructureKHR vkCopyAccelerationStructureKHR;
469 PFN_vkCopyAccelerationStructureToMemoryKHR vkCopyAccelerationStructureToMemoryKHR;
470 PFN_vkCopyMemoryToAccelerationStructureKHR vkCopyMemoryToAccelerationStructureKHR;
471 PFN_vkCreateAccelerationStructureKHR vkCreateAccelerationStructureKHR;
472 PFN_vkCreateRayTracingPipelinesKHR vkCreateRayTracingPipelinesKHR;
473 PFN_vkDestroyAccelerationStructureKHR vkDestroyAccelerationStructureKHR;
474 PFN_vkGetAccelerationStructureDeviceAddressKHR vkGetAccelerationStructureDeviceAddressKHR;
475 PFN_vkGetAccelerationStructureMemoryRequirementsKHR vkGetAccelerationStructureMemoryRequirementsKHR;
476 PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR;
477 PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR;
478 PFN_vkGetRayTracingShaderGroupHandlesKHR vkGetRayTracingShaderGroupHandlesKHR;
479 PFN_vkWriteAccelerationStructuresPropertiesKHR vkWriteAccelerationStructuresPropertiesKHR;
481#if defined(VK_KHR_sampler_ycbcr_conversion)
482 PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR;
483 PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR;
485#if defined(VK_KHR_shared_presentable_image)
486 PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR;
488#if defined(VK_KHR_swapchain)
489 PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR;
490 PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR;
491 PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR;
492 PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR;
493 PFN_vkQueuePresentKHR vkQueuePresentKHR;
495#if defined(VK_KHR_timeline_semaphore)
496 PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR;
497 PFN_vkSignalSemaphoreKHR vkSignalSemaphoreKHR;
498 PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR;
500#if defined(VK_NVX_image_view_handle)
501 PFN_vkGetImageViewHandleNVX vkGetImageViewHandleNVX;
503#if defined(VK_NV_clip_space_w_scaling)
504 PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV;
506#if defined(VK_NV_device_diagnostic_checkpoints)
507 PFN_vkCmdSetCheckpointNV vkCmdSetCheckpointNV;
508 PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV;
510#if defined(VK_NV_device_generated_commands)
511 PFN_vkCmdBindPipelineShaderGroupNV vkCmdBindPipelineShaderGroupNV;
512 PFN_vkCmdExecuteGeneratedCommandsNV vkCmdExecuteGeneratedCommandsNV;
513 PFN_vkCmdPreprocessGeneratedCommandsNV vkCmdPreprocessGeneratedCommandsNV;
514 PFN_vkCreateIndirectCommandsLayoutNV vkCreateIndirectCommandsLayoutNV;
515 PFN_vkDestroyIndirectCommandsLayoutNV vkDestroyIndirectCommandsLayoutNV;
516 PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV;
518#if defined(VK_NV_external_memory_win32)
519 PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV;
521#if defined(VK_NV_mesh_shader)
522 PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV;
523 PFN_vkCmdDrawMeshTasksIndirectNV vkCmdDrawMeshTasksIndirectNV;
524 PFN_vkCmdDrawMeshTasksNV vkCmdDrawMeshTasksNV;
526#if defined(VK_NV_ray_tracing)
527 PFN_vkBindAccelerationStructureMemoryNV vkBindAccelerationStructureMemoryNV;
528 PFN_vkCmdBuildAccelerationStructureNV vkCmdBuildAccelerationStructureNV;
529 PFN_vkCmdCopyAccelerationStructureNV vkCmdCopyAccelerationStructureNV;
530 PFN_vkCmdTraceRaysNV vkCmdTraceRaysNV;
531 PFN_vkCmdWriteAccelerationStructuresPropertiesNV vkCmdWriteAccelerationStructuresPropertiesNV;
532 PFN_vkCompileDeferredNV vkCompileDeferredNV;
533 PFN_vkCreateAccelerationStructureNV vkCreateAccelerationStructureNV;
534 PFN_vkCreateRayTracingPipelinesNV vkCreateRayTracingPipelinesNV;
535 PFN_vkDestroyAccelerationStructureNV vkDestroyAccelerationStructureNV;
536 PFN_vkGetAccelerationStructureHandleNV vkGetAccelerationStructureHandleNV;
537 PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV;
538 PFN_vkGetRayTracingShaderGroupHandlesNV vkGetRayTracingShaderGroupHandlesNV;
540#if defined(VK_NV_scissor_exclusive)
541 PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV;
543#if defined(VK_NV_shading_rate_image)
544 PFN_vkCmdBindShadingRateImageNV vkCmdBindShadingRateImageNV;
545 PFN_vkCmdSetCoarseSampleOrderNV vkCmdSetCoarseSampleOrderNV;
546 PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV;
548#if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1))
549 PFN_vkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXT;
551#if (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1))
552 PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR;
554#if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
555 PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR;
556 PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR;
558#if (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
559 PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR;
565#if defined(VK_VERSION_1_0)
566 extern PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers;
567 extern PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets;
568 extern PFN_vkAllocateMemory vkAllocateMemory;
569 extern PFN_vkBeginCommandBuffer vkBeginCommandBuffer;
570 extern PFN_vkBindBufferMemory vkBindBufferMemory;
571 extern PFN_vkBindImageMemory vkBindImageMemory;
572 extern PFN_vkCmdBeginQuery vkCmdBeginQuery;
573 extern PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass;
574 extern PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets;
575 extern PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer;
576 extern PFN_vkCmdBindPipeline vkCmdBindPipeline;
577 extern PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers;
578 extern PFN_vkCmdBlitImage vkCmdBlitImage;
579 extern PFN_vkCmdClearAttachments vkCmdClearAttachments;
580 extern PFN_vkCmdClearColorImage vkCmdClearColorImage;
581 extern PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage;
582 extern PFN_vkCmdCopyBuffer vkCmdCopyBuffer;
583 extern PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage;
584 extern PFN_vkCmdCopyImage vkCmdCopyImage;
585 extern PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer;
586 extern PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults;
587 extern PFN_vkCmdDispatch vkCmdDispatch;
588 extern PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect;
589 extern PFN_vkCmdDraw vkCmdDraw;
590 extern PFN_vkCmdDrawIndexed vkCmdDrawIndexed;
591 extern PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect;
592 extern PFN_vkCmdDrawIndirect vkCmdDrawIndirect;
593 extern PFN_vkCmdEndQuery vkCmdEndQuery;
594 extern PFN_vkCmdEndRenderPass vkCmdEndRenderPass;
595 extern PFN_vkCmdExecuteCommands vkCmdExecuteCommands;
596 extern PFN_vkCmdFillBuffer vkCmdFillBuffer;
597 extern PFN_vkCmdNextSubpass vkCmdNextSubpass;
598 extern PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier;
599 extern PFN_vkCmdPushConstants vkCmdPushConstants;
600 extern PFN_vkCmdResetEvent vkCmdResetEvent;
601 extern PFN_vkCmdResetQueryPool vkCmdResetQueryPool;
602 extern PFN_vkCmdResolveImage vkCmdResolveImage;
603 extern PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants;
604 extern PFN_vkCmdSetDepthBias vkCmdSetDepthBias;
605 extern PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds;
606 extern PFN_vkCmdSetEvent vkCmdSetEvent;
607 extern PFN_vkCmdSetLineWidth vkCmdSetLineWidth;
608 extern PFN_vkCmdSetScissor vkCmdSetScissor;
609 extern PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask;
610 extern PFN_vkCmdSetStencilReference vkCmdSetStencilReference;
611 extern PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask;
612 extern PFN_vkCmdSetViewport vkCmdSetViewport;
613 extern PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer;
614 extern PFN_vkCmdWaitEvents vkCmdWaitEvents;
615 extern PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp;
616 extern PFN_vkCreateBuffer vkCreateBuffer;
617 extern PFN_vkCreateBufferView vkCreateBufferView;
618 extern PFN_vkCreateCommandPool vkCreateCommandPool;
619 extern PFN_vkCreateComputePipelines vkCreateComputePipelines;
620 extern PFN_vkCreateDescriptorPool vkCreateDescriptorPool;
621 extern PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout;
622 extern PFN_vkCreateDevice vkCreateDevice;
623 extern PFN_vkCreateEvent vkCreateEvent;
624 extern PFN_vkCreateFence vkCreateFence;
625 extern PFN_vkCreateFramebuffer vkCreateFramebuffer;
626 extern PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines;
627 extern PFN_vkCreateImage vkCreateImage;
628 extern PFN_vkCreateImageView vkCreateImageView;
629 extern PFN_vkCreateInstance vkCreateInstance;
630 extern PFN_vkCreatePipelineCache vkCreatePipelineCache;
631 extern PFN_vkCreatePipelineLayout vkCreatePipelineLayout;
632 extern PFN_vkCreateQueryPool vkCreateQueryPool;
633 extern PFN_vkCreateRenderPass vkCreateRenderPass;
634 extern PFN_vkCreateSampler vkCreateSampler;
635 extern PFN_vkCreateSemaphore vkCreateSemaphore;
636 extern PFN_vkCreateShaderModule vkCreateShaderModule;
637 extern PFN_vkDestroyBuffer vkDestroyBuffer;
638 extern PFN_vkDestroyBufferView vkDestroyBufferView;
639 extern PFN_vkDestroyCommandPool vkDestroyCommandPool;
640 extern PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool;
641 extern PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout;
642 extern PFN_vkDestroyDevice vkDestroyDevice;
643 extern PFN_vkDestroyEvent vkDestroyEvent;
644 extern PFN_vkDestroyFence vkDestroyFence;
645 extern PFN_vkDestroyFramebuffer vkDestroyFramebuffer;
646 extern PFN_vkDestroyImage vkDestroyImage;
647 extern PFN_vkDestroyImageView vkDestroyImageView;
648 extern PFN_vkDestroyInstance vkDestroyInstance;
649 extern PFN_vkDestroyPipeline vkDestroyPipeline;
650 extern PFN_vkDestroyPipelineCache vkDestroyPipelineCache;
651 extern PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout;
652 extern PFN_vkDestroyQueryPool vkDestroyQueryPool;
653 extern PFN_vkDestroyRenderPass vkDestroyRenderPass;
654 extern PFN_vkDestroySampler vkDestroySampler;
655 extern PFN_vkDestroySemaphore vkDestroySemaphore;
656 extern PFN_vkDestroyShaderModule vkDestroyShaderModule;
657 extern PFN_vkDeviceWaitIdle vkDeviceWaitIdle;
658 extern PFN_vkEndCommandBuffer vkEndCommandBuffer;
659 extern PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties;
660 extern PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties;
661 extern PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties;
662 extern PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties;
663 extern PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices;
664 extern PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges;
665 extern PFN_vkFreeCommandBuffers vkFreeCommandBuffers;
666 extern PFN_vkFreeDescriptorSets vkFreeDescriptorSets;
667 extern PFN_vkFreeMemory vkFreeMemory;
668 extern PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements;
669 extern PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment;
670 extern PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr;
671 extern PFN_vkGetDeviceQueue vkGetDeviceQueue;
672 extern PFN_vkGetEventStatus vkGetEventStatus;
673 extern PFN_vkGetFenceStatus vkGetFenceStatus;
674 extern PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements;
675 extern PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements;
676 extern PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout;
677 extern PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr;
678 extern PFN_vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures;
679 extern PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties;
680 extern PFN_vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties;
681 extern PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties;
682 extern PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties;
683 extern PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties;
684 extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties;
685 extern PFN_vkGetPipelineCacheData vkGetPipelineCacheData;
686 extern PFN_vkGetQueryPoolResults vkGetQueryPoolResults;
687 extern PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity;
688 extern PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges;
689 extern PFN_vkMapMemory vkMapMemory;
690 extern PFN_vkMergePipelineCaches vkMergePipelineCaches;
691 extern PFN_vkQueueBindSparse vkQueueBindSparse;
692 extern PFN_vkQueueSubmit vkQueueSubmit;
693 extern PFN_vkQueueWaitIdle vkQueueWaitIdle;
694 extern PFN_vkResetCommandBuffer vkResetCommandBuffer;
695 extern PFN_vkResetCommandPool vkResetCommandPool;
696 extern PFN_vkResetDescriptorPool vkResetDescriptorPool;
697 extern PFN_vkResetEvent vkResetEvent;
698 extern PFN_vkResetFences vkResetFences;
699 extern PFN_vkSetEvent vkSetEvent;
700 extern PFN_vkUnmapMemory vkUnmapMemory;
701 extern PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets;
702 extern PFN_vkWaitForFences vkWaitForFences;
704#if defined(VK_VERSION_1_1)
705 extern PFN_vkBindBufferMemory2 vkBindBufferMemory2;
706 extern PFN_vkBindImageMemory2 vkBindImageMemory2;
707 extern PFN_vkCmdDispatchBase vkCmdDispatchBase;
708 extern PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask;
709 extern PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate;
710 extern PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion;
711 extern PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate;
712 extern PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion;
713 extern PFN_vkEnumerateInstanceVersion vkEnumerateInstanceVersion;
714 extern PFN_vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups;
715 extern PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2;
716 extern PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport;
717 extern PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures;
718 extern PFN_vkGetDeviceQueue2 vkGetDeviceQueue2;
719 extern PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2;
720 extern PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2;
721 extern PFN_vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties;
722 extern PFN_vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties;
723 extern PFN_vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties;
724 extern PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2;
725 extern PFN_vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2;
726 extern PFN_vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2;
727 extern PFN_vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2;
728 extern PFN_vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2;
729 extern PFN_vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2;
730 extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2;
731 extern PFN_vkTrimCommandPool vkTrimCommandPool;
732 extern PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate;
734#if defined(VK_VERSION_1_2)
735 extern PFN_vkCmdBeginRenderPass2 vkCmdBeginRenderPass2;
736 extern PFN_vkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCount;
737 extern PFN_vkCmdDrawIndirectCount vkCmdDrawIndirectCount;
738 extern PFN_vkCmdEndRenderPass2 vkCmdEndRenderPass2;
739 extern PFN_vkCmdNextSubpass2 vkCmdNextSubpass2;
740 extern PFN_vkCreateRenderPass2 vkCreateRenderPass2;
741 extern PFN_vkGetBufferDeviceAddress vkGetBufferDeviceAddress;
742 extern PFN_vkGetBufferOpaqueCaptureAddress vkGetBufferOpaqueCaptureAddress;
743 extern PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress;
744 extern PFN_vkGetSemaphoreCounterValue vkGetSemaphoreCounterValue;
745 extern PFN_vkResetQueryPool vkResetQueryPool;
746 extern PFN_vkSignalSemaphore vkSignalSemaphore;
747 extern PFN_vkWaitSemaphores vkWaitSemaphores;
749#if defined(VK_AMD_buffer_marker)
750 extern PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD;
752#if defined(VK_AMD_display_native_hdr)
753 extern PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD;
755#if defined(VK_AMD_draw_indirect_count)
756 extern PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD;
757 extern PFN_vkCmdDrawIndirectCountAMD vkCmdDrawIndirectCountAMD;
759#if defined(VK_AMD_shader_info)
760 extern PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD;
762#if defined(VK_ANDROID_external_memory_android_hardware_buffer)
763 extern PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID;
764 extern PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID;
766#if defined(VK_EXT_acquire_xlib_display)
767 extern PFN_vkAcquireXlibDisplayEXT vkAcquireXlibDisplayEXT;
768 extern PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT;
770#if defined(VK_EXT_buffer_device_address)
771 extern PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT;
773#if defined(VK_EXT_calibrated_timestamps)
774 extern PFN_vkGetCalibratedTimestampsEXT vkGetCalibratedTimestampsEXT;
775 extern PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT vkGetPhysicalDeviceCalibrateableTimeDomainsEXT;
777#if defined(VK_EXT_conditional_rendering)
778 extern PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT;
779 extern PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT;
781#if defined(VK_EXT_debug_marker)
782 extern PFN_vkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXT;
783 extern PFN_vkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXT;
784 extern PFN_vkCmdDebugMarkerInsertEXT vkCmdDebugMarkerInsertEXT;
785 extern PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT;
786 extern PFN_vkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXT;
788#if defined(VK_EXT_debug_report)
789 extern PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT;
790 extern PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT;
791 extern PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT;
793#if defined(VK_EXT_debug_utils)
794 extern PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT;
795 extern PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT;
796 extern PFN_vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT;
797 extern PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT;
798 extern PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT;
799 extern PFN_vkQueueBeginDebugUtilsLabelEXT vkQueueBeginDebugUtilsLabelEXT;
800 extern PFN_vkQueueEndDebugUtilsLabelEXT vkQueueEndDebugUtilsLabelEXT;
801 extern PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT;
802 extern PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT;
803 extern PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT;
804 extern PFN_vkSubmitDebugUtilsMessageEXT vkSubmitDebugUtilsMessageEXT;
806#if defined(VK_EXT_direct_mode_display)
807 extern PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT;
809#if defined(VK_EXT_discard_rectangles)
810 extern PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT;
812#if defined(VK_EXT_display_control)
813 extern PFN_vkDisplayPowerControlEXT vkDisplayPowerControlEXT;
814 extern PFN_vkGetSwapchainCounterEXT vkGetSwapchainCounterEXT;
815 extern PFN_vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT;
816 extern PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT;
818#if defined(VK_EXT_display_surface_counter)
819 extern PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT;
821#if defined(VK_EXT_external_memory_host)
822 extern PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT;
824#if defined(VK_EXT_full_screen_exclusive)
825 extern PFN_vkAcquireFullScreenExclusiveModeEXT vkAcquireFullScreenExclusiveModeEXT;
826 extern PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT vkGetPhysicalDeviceSurfacePresentModes2EXT;
827 extern PFN_vkReleaseFullScreenExclusiveModeEXT vkReleaseFullScreenExclusiveModeEXT;
829#if defined(VK_EXT_hdr_metadata)
830 extern PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT;
832#if defined(VK_EXT_headless_surface)
833 extern PFN_vkCreateHeadlessSurfaceEXT vkCreateHeadlessSurfaceEXT;
835#if defined(VK_EXT_host_query_reset)
836 extern PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT;
838#if defined(VK_EXT_image_drm_format_modifier)
839 extern PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT;
841#if defined(VK_EXT_line_rasterization)
842 extern PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT;
844#if defined(VK_EXT_metal_surface)
845 extern PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT;
847#if defined(VK_EXT_sample_locations)
848 extern PFN_vkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXT;
849 extern PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT vkGetPhysicalDeviceMultisamplePropertiesEXT;
851#if defined(VK_EXT_tooling_info)
852 extern PFN_vkGetPhysicalDeviceToolPropertiesEXT vkGetPhysicalDeviceToolPropertiesEXT;
854#if defined(VK_EXT_transform_feedback)
855 extern PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT;
856 extern PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT;
857 extern PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT;
858 extern PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT;
859 extern PFN_vkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXT;
860 extern PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT;
862#if defined(VK_EXT_validation_cache)
863 extern PFN_vkCreateValidationCacheEXT vkCreateValidationCacheEXT;
864 extern PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT;
865 extern PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT;
866 extern PFN_vkMergeValidationCachesEXT vkMergeValidationCachesEXT;
868#if defined(VK_FUCHSIA_imagepipe_surface)
869 extern PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA;
871#if defined(VK_GGP_stream_descriptor_surface)
872 extern PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP;
874#if defined(VK_GOOGLE_display_timing)
875 extern PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE;
876 extern PFN_vkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLE;
878#if defined(VK_INTEL_performance_query)
879 extern PFN_vkAcquirePerformanceConfigurationINTEL vkAcquirePerformanceConfigurationINTEL;
880 extern PFN_vkCmdSetPerformanceMarkerINTEL vkCmdSetPerformanceMarkerINTEL;
881 extern PFN_vkCmdSetPerformanceOverrideINTEL vkCmdSetPerformanceOverrideINTEL;
882 extern PFN_vkCmdSetPerformanceStreamMarkerINTEL vkCmdSetPerformanceStreamMarkerINTEL;
883 extern PFN_vkGetPerformanceParameterINTEL vkGetPerformanceParameterINTEL;
884 extern PFN_vkInitializePerformanceApiINTEL vkInitializePerformanceApiINTEL;
885 extern PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL;
886 extern PFN_vkReleasePerformanceConfigurationINTEL vkReleasePerformanceConfigurationINTEL;
887 extern PFN_vkUninitializePerformanceApiINTEL vkUninitializePerformanceApiINTEL;
889#if defined(VK_KHR_android_surface)
890 extern PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR;
892#if defined(VK_KHR_bind_memory2)
893 extern PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR;
894 extern PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR;
896#if defined(VK_KHR_buffer_device_address)
897 extern PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR;
898 extern PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR;
899 extern PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR;
901#if defined(VK_KHR_create_renderpass2)
902 extern PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR;
903 extern PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR;
904 extern PFN_vkCmdNextSubpass2KHR vkCmdNextSubpass2KHR;
905 extern PFN_vkCreateRenderPass2KHR vkCreateRenderPass2KHR;
907#if defined(VK_KHR_deferred_host_operations)
908 extern PFN_vkCreateDeferredOperationKHR vkCreateDeferredOperationKHR;
909 extern PFN_vkDeferredOperationJoinKHR vkDeferredOperationJoinKHR;
910 extern PFN_vkDestroyDeferredOperationKHR vkDestroyDeferredOperationKHR;
911 extern PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR;
912 extern PFN_vkGetDeferredOperationResultKHR vkGetDeferredOperationResultKHR;
914#if defined(VK_KHR_descriptor_update_template)
915 extern PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR;
916 extern PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR;
917 extern PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR;
919#if defined(VK_KHR_device_group)
920 extern PFN_vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR;
921 extern PFN_vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR;
922 extern PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR;
924#if defined(VK_KHR_device_group_creation)
925 extern PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR;
927#if defined(VK_KHR_display)
928 extern PFN_vkCreateDisplayModeKHR vkCreateDisplayModeKHR;
929 extern PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR;
930 extern PFN_vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR;
931 extern PFN_vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR;
932 extern PFN_vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR;
933 extern PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR;
934 extern PFN_vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR;
936#if defined(VK_KHR_display_swapchain)
937 extern PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR;
939#if defined(VK_KHR_draw_indirect_count)
940 extern PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR;
941 extern PFN_vkCmdDrawIndirectCountKHR vkCmdDrawIndirectCountKHR;
943#if defined(VK_KHR_external_fence_capabilities)
944 extern PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR;
946#if defined(VK_KHR_external_fence_fd)
947 extern PFN_vkGetFenceFdKHR vkGetFenceFdKHR;
948 extern PFN_vkImportFenceFdKHR vkImportFenceFdKHR;
950#if defined(VK_KHR_external_fence_win32)
951 extern PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR;
952 extern PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR;
954#if defined(VK_KHR_external_memory_capabilities)
955 extern PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR vkGetPhysicalDeviceExternalBufferPropertiesKHR;
957#if defined(VK_KHR_external_memory_fd)
958 extern PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR;
959 extern PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR;
961#if defined(VK_KHR_external_memory_win32)
962 extern PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR;
963 extern PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR;
965#if defined(VK_KHR_external_semaphore_capabilities)
966 extern PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR vkGetPhysicalDeviceExternalSemaphorePropertiesKHR;
968#if defined(VK_KHR_external_semaphore_fd)
969 extern PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR;
970 extern PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR;
972#if defined(VK_KHR_external_semaphore_win32)
973 extern PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR;
974 extern PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR;
976#if defined(VK_KHR_get_display_properties2)
977 extern PFN_vkGetDisplayModeProperties2KHR vkGetDisplayModeProperties2KHR;
978 extern PFN_vkGetDisplayPlaneCapabilities2KHR vkGetDisplayPlaneCapabilities2KHR;
979 extern PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHR;
980 extern PFN_vkGetPhysicalDeviceDisplayProperties2KHR vkGetPhysicalDeviceDisplayProperties2KHR;
982#if defined(VK_KHR_get_memory_requirements2)
983 extern PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR;
984 extern PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR;
985 extern PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR;
987#if defined(VK_KHR_get_physical_device_properties2)
988 extern PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR;
989 extern PFN_vkGetPhysicalDeviceFormatProperties2KHR vkGetPhysicalDeviceFormatProperties2KHR;
990 extern PFN_vkGetPhysicalDeviceImageFormatProperties2KHR vkGetPhysicalDeviceImageFormatProperties2KHR;
991 extern PFN_vkGetPhysicalDeviceMemoryProperties2KHR vkGetPhysicalDeviceMemoryProperties2KHR;
992 extern PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR;
993 extern PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR vkGetPhysicalDeviceQueueFamilyProperties2KHR;
994 extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR;
996#if defined(VK_KHR_get_surface_capabilities2)
997 extern PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR;
998 extern PFN_vkGetPhysicalDeviceSurfaceFormats2KHR vkGetPhysicalDeviceSurfaceFormats2KHR;
1000#if defined(VK_KHR_maintenance1)
1001 extern PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR;
1003#if defined(VK_KHR_maintenance3)
1004 extern PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR;
1006#if defined(VK_KHR_performance_query)
1007 extern PFN_vkAcquireProfilingLockKHR vkAcquireProfilingLockKHR;
1008 extern PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR;
1009 extern PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR;
1010 extern PFN_vkReleaseProfilingLockKHR vkReleaseProfilingLockKHR;
1012#if defined(VK_KHR_pipeline_executable_properties)
1013 extern PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR;
1014 extern PFN_vkGetPipelineExecutablePropertiesKHR vkGetPipelineExecutablePropertiesKHR;
1015 extern PFN_vkGetPipelineExecutableStatisticsKHR vkGetPipelineExecutableStatisticsKHR;
1017#if defined(VK_KHR_push_descriptor)
1018 extern PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR;
1020#if defined(VK_KHR_ray_tracing)
1021 extern PFN_vkBindAccelerationStructureMemoryKHR vkBindAccelerationStructureMemoryKHR;
1022 extern PFN_vkBuildAccelerationStructureKHR vkBuildAccelerationStructureKHR;
1023 extern PFN_vkCmdBuildAccelerationStructureIndirectKHR vkCmdBuildAccelerationStructureIndirectKHR;
1024 extern PFN_vkCmdBuildAccelerationStructureKHR vkCmdBuildAccelerationStructureKHR;
1025 extern PFN_vkCmdCopyAccelerationStructureKHR vkCmdCopyAccelerationStructureKHR;
1026 extern PFN_vkCmdCopyAccelerationStructureToMemoryKHR vkCmdCopyAccelerationStructureToMemoryKHR;
1027 extern PFN_vkCmdCopyMemoryToAccelerationStructureKHR vkCmdCopyMemoryToAccelerationStructureKHR;
1028 extern PFN_vkCmdTraceRaysIndirectKHR vkCmdTraceRaysIndirectKHR;
1029 extern PFN_vkCmdTraceRaysKHR vkCmdTraceRaysKHR;
1030 extern PFN_vkCmdWriteAccelerationStructuresPropertiesKHR vkCmdWriteAccelerationStructuresPropertiesKHR;
1031 extern PFN_vkCopyAccelerationStructureKHR vkCopyAccelerationStructureKHR;
1032 extern PFN_vkCopyAccelerationStructureToMemoryKHR vkCopyAccelerationStructureToMemoryKHR;
1033 extern PFN_vkCopyMemoryToAccelerationStructureKHR vkCopyMemoryToAccelerationStructureKHR;
1034 extern PFN_vkCreateAccelerationStructureKHR vkCreateAccelerationStructureKHR;
1035 extern PFN_vkCreateRayTracingPipelinesKHR vkCreateRayTracingPipelinesKHR;
1036 extern PFN_vkDestroyAccelerationStructureKHR vkDestroyAccelerationStructureKHR;
1037 extern PFN_vkGetAccelerationStructureDeviceAddressKHR vkGetAccelerationStructureDeviceAddressKHR;
1038 extern PFN_vkGetAccelerationStructureMemoryRequirementsKHR vkGetAccelerationStructureMemoryRequirementsKHR;
1039 extern PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR;
1040 extern PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR;
1041 extern PFN_vkGetRayTracingShaderGroupHandlesKHR vkGetRayTracingShaderGroupHandlesKHR;
1042 extern PFN_vkWriteAccelerationStructuresPropertiesKHR vkWriteAccelerationStructuresPropertiesKHR;
1044#if defined(VK_KHR_sampler_ycbcr_conversion)
1045 extern PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR;
1046 extern PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR;
1048#if defined(VK_KHR_shared_presentable_image)
1049 extern PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR;
1051#if defined(VK_KHR_surface)
1052 extern PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR;
1053 extern PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR;
1054 extern PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR;
1055 extern PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR;
1056 extern PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR;
1058#if defined(VK_KHR_swapchain)
1059 extern PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR;
1060 extern PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR;
1061 extern PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR;
1062 extern PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR;
1063 extern PFN_vkQueuePresentKHR vkQueuePresentKHR;
1065#if defined(VK_KHR_timeline_semaphore)
1066 extern PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR;
1067 extern PFN_vkSignalSemaphoreKHR vkSignalSemaphoreKHR;
1068 extern PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR;
1070#if defined(VK_KHR_wayland_surface)
1071 extern PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR;
1072 extern PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR;
1074#if defined(VK_KHR_win32_surface)
1075 extern PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR;
1076 extern PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR;
1078#if defined(VK_KHR_xcb_surface)
1079 extern PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR;
1080 extern PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR;
1082#if defined(VK_KHR_xlib_surface)
1083 extern PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR;
1084 extern PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR;
1086#if defined(VK_MVK_ios_surface)
1087 extern PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK;
1089#if defined(VK_MVK_macos_surface)
1090 extern PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK;
1092#if defined(VK_NN_vi_surface)
1093 extern PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN;
1095#if defined(VK_NVX_image_view_handle)
1096 extern PFN_vkGetImageViewHandleNVX vkGetImageViewHandleNVX;
1098#if defined(VK_NV_clip_space_w_scaling)
1099 extern PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV;
1101#if defined(VK_NV_cooperative_matrix)
1102 extern PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV vkGetPhysicalDeviceCooperativeMatrixPropertiesNV;
1104#if defined(VK_NV_coverage_reduction_mode)
1105 extern PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV;
1107#if defined(VK_NV_device_diagnostic_checkpoints)
1108 extern PFN_vkCmdSetCheckpointNV vkCmdSetCheckpointNV;
1109 extern PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV;
1111#if defined(VK_NV_device_generated_commands)
1112 extern PFN_vkCmdBindPipelineShaderGroupNV vkCmdBindPipelineShaderGroupNV;
1113 extern PFN_vkCmdExecuteGeneratedCommandsNV vkCmdExecuteGeneratedCommandsNV;
1114 extern PFN_vkCmdPreprocessGeneratedCommandsNV vkCmdPreprocessGeneratedCommandsNV;
1115 extern PFN_vkCreateIndirectCommandsLayoutNV vkCreateIndirectCommandsLayoutNV;
1116 extern PFN_vkDestroyIndirectCommandsLayoutNV vkDestroyIndirectCommandsLayoutNV;
1117 extern PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV;
1119#if defined(VK_NV_external_memory_capabilities)
1120 extern PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNV;
1122#if defined(VK_NV_external_memory_win32)
1123 extern PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV;
1125#if defined(VK_NV_mesh_shader)
1126 extern PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV;
1127 extern PFN_vkCmdDrawMeshTasksIndirectNV vkCmdDrawMeshTasksIndirectNV;
1128 extern PFN_vkCmdDrawMeshTasksNV vkCmdDrawMeshTasksNV;
1130#if defined(VK_NV_ray_tracing)
1131 extern PFN_vkBindAccelerationStructureMemoryNV vkBindAccelerationStructureMemoryNV;
1132 extern PFN_vkCmdBuildAccelerationStructureNV vkCmdBuildAccelerationStructureNV;
1133 extern PFN_vkCmdCopyAccelerationStructureNV vkCmdCopyAccelerationStructureNV;
1134 extern PFN_vkCmdTraceRaysNV vkCmdTraceRaysNV;
1135 extern PFN_vkCmdWriteAccelerationStructuresPropertiesNV vkCmdWriteAccelerationStructuresPropertiesNV;
1136 extern PFN_vkCompileDeferredNV vkCompileDeferredNV;
1137 extern PFN_vkCreateAccelerationStructureNV vkCreateAccelerationStructureNV;
1138 extern PFN_vkCreateRayTracingPipelinesNV vkCreateRayTracingPipelinesNV;
1139 extern PFN_vkDestroyAccelerationStructureNV vkDestroyAccelerationStructureNV;
1140 extern PFN_vkGetAccelerationStructureHandleNV vkGetAccelerationStructureHandleNV;
1141 extern PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV;
1142 extern PFN_vkGetRayTracingShaderGroupHandlesNV vkGetRayTracingShaderGroupHandlesNV;
1144#if defined(VK_NV_scissor_exclusive)
1145 extern PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV;
1147#if defined(VK_NV_shading_rate_image)
1148 extern PFN_vkCmdBindShadingRateImageNV vkCmdBindShadingRateImageNV;
1149 extern PFN_vkCmdSetCoarseSampleOrderNV vkCmdSetCoarseSampleOrderNV;
1150 extern PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV;
1152#if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1))
1153 extern PFN_vkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXT;
1155#if (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1))
1156 extern PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR;
1158#if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
1159 extern PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR;
1160 extern PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR;
1161 extern PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR;
1163#if (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
1164 extern PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR;
1174#ifdef VOLK_IMPLEMENTATION
1175#undef VOLK_IMPLEMENTATION
1178#define VOLK_SOURCE "volk.c"