Path: blob/main_old/src/third_party/volk/volk.h
1693 views
/**1* volk2*3* Copyright (C) 2018-2019, by Arseny Kapoulkine ([email protected])4* Report bugs and download new versions at https://github.com/zeux/volk5*6* This library is distributed under the MIT License. See notice at the end of this file.7*/8/* clang-format off */9#ifndef VOLK_H_10#define VOLK_H_1112#if defined(VULKAN_H_) && !defined(VK_NO_PROTOTYPES)13# error To use volk, you need to define VK_NO_PROTOTYPES before including vulkan.h14#endif1516/* VOLK_GENERATE_VERSION_DEFINE */17#define VOLK_HEADER_VERSION 13018/* VOLK_GENERATE_VERSION_DEFINE */1920#ifndef VK_NO_PROTOTYPES21# define VK_NO_PROTOTYPES22#endif2324#ifndef VULKAN_H_25# ifdef VOLK_VULKAN_H_PATH26# include VOLK_VULKAN_H_PATH27# elif defined(VK_USE_PLATFORM_WIN32_KHR)28# include <vulkan/vk_platform.h>29# include <vulkan/vulkan_core.h>3031/* When VK_USE_PLATFORM_WIN32_KHR is defined, instead of including vulkan.h directly, we include individual parts of the SDK32* This is necessary to avoid including <windows.h> which is very heavy - it takes 200ms to parse without WIN32_LEAN_AND_MEAN33* and 100ms to parse with it. vulkan_win32.h only needs a few symbols that are easy to redefine ourselves.34*/35typedef unsigned long DWORD;36typedef const wchar_t* LPCWSTR;37typedef void* HANDLE;38typedef struct HINSTANCE__* HINSTANCE;39typedef struct HWND__* HWND;40typedef struct HMONITOR__* HMONITOR;41typedef struct _SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES;4243# include <vulkan/vulkan_win32.h>44# else45# include <vulkan/vulkan.h>46# endif47#endif4849#ifdef __cplusplus50extern "C" {51#endif5253struct VolkDeviceTable;5455/**56* Initialize library by loading Vulkan loader; call this function before creating the Vulkan instance.57*58* Returns VK_SUCCESS on success and VK_ERROR_INITIALIZATION_FAILED otherwise.59*/60VkResult volkInitialize(void);6162/**63* Initialize library by providing a custom handler to load global symbols.64*65* This function can be used instead of volkInitialize.66* The handler function pointer will be asked to load global Vulkan symbols which require no instance67* (such as vkCreateInstance, vkEnumerateInstance* and vkEnumerateInstanceVersion if available).68*/69void volkInitializeCustom(PFN_vkGetInstanceProcAddr handler);7071/**72* Get Vulkan instance version supported by the Vulkan loader, or 0 if Vulkan isn't supported73*74* Returns 0 if volkInitialize wasn't called or failed.75*/76uint32_t volkGetInstanceVersion(void);7778/**79* Load global function pointers using application-created VkInstance; call this function after creating the Vulkan instance.80*/81void volkLoadInstance(VkInstance instance);8283/**84* Load global function pointers using application-created VkDevice; call this function after creating the Vulkan device.85*86* Note: this is not suitable for applications that want to use multiple VkDevice objects concurrently.87*/88void volkLoadDevice(VkDevice device);8990/**91* Return last VkInstance for which global function pointers have been loaded via volkLoadInstance(),92* or VK_NULL_HANDLE if volkLoadInstance() has not been called.93*/94VkInstance volkGetLoadedInstance();9596/**97* Return last VkDevice for which global function pointers have been loaded via volkLoadDevice(),98* or VK_NULL_HANDLE if volkLoadDevice() has not been called.99*/100VkDevice volkGetLoadedDevice();101102/**103* Load function pointers using application-created VkDevice into a table.104* Application should use function pointers from that table instead of using global function pointers.105*/106void volkLoadDeviceTable(struct VolkDeviceTable* table, VkDevice device);107108/**109* Device-specific function pointer table110*/111struct VolkDeviceTable112{113/* VOLK_GENERATE_DEVICE_TABLE */114#if defined(VK_VERSION_1_0)115PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers;116PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets;117PFN_vkAllocateMemory vkAllocateMemory;118PFN_vkBeginCommandBuffer vkBeginCommandBuffer;119PFN_vkBindBufferMemory vkBindBufferMemory;120PFN_vkBindImageMemory vkBindImageMemory;121PFN_vkCmdBeginQuery vkCmdBeginQuery;122PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass;123PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets;124PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer;125PFN_vkCmdBindPipeline vkCmdBindPipeline;126PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers;127PFN_vkCmdBlitImage vkCmdBlitImage;128PFN_vkCmdClearAttachments vkCmdClearAttachments;129PFN_vkCmdClearColorImage vkCmdClearColorImage;130PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage;131PFN_vkCmdCopyBuffer vkCmdCopyBuffer;132PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage;133PFN_vkCmdCopyImage vkCmdCopyImage;134PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer;135PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults;136PFN_vkCmdDispatch vkCmdDispatch;137PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect;138PFN_vkCmdDraw vkCmdDraw;139PFN_vkCmdDrawIndexed vkCmdDrawIndexed;140PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect;141PFN_vkCmdDrawIndirect vkCmdDrawIndirect;142PFN_vkCmdEndQuery vkCmdEndQuery;143PFN_vkCmdEndRenderPass vkCmdEndRenderPass;144PFN_vkCmdExecuteCommands vkCmdExecuteCommands;145PFN_vkCmdFillBuffer vkCmdFillBuffer;146PFN_vkCmdNextSubpass vkCmdNextSubpass;147PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier;148PFN_vkCmdPushConstants vkCmdPushConstants;149PFN_vkCmdResetEvent vkCmdResetEvent;150PFN_vkCmdResetQueryPool vkCmdResetQueryPool;151PFN_vkCmdResolveImage vkCmdResolveImage;152PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants;153PFN_vkCmdSetDepthBias vkCmdSetDepthBias;154PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds;155PFN_vkCmdSetEvent vkCmdSetEvent;156PFN_vkCmdSetLineWidth vkCmdSetLineWidth;157PFN_vkCmdSetScissor vkCmdSetScissor;158PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask;159PFN_vkCmdSetStencilReference vkCmdSetStencilReference;160PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask;161PFN_vkCmdSetViewport vkCmdSetViewport;162PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer;163PFN_vkCmdWaitEvents vkCmdWaitEvents;164PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp;165PFN_vkCreateBuffer vkCreateBuffer;166PFN_vkCreateBufferView vkCreateBufferView;167PFN_vkCreateCommandPool vkCreateCommandPool;168PFN_vkCreateComputePipelines vkCreateComputePipelines;169PFN_vkCreateDescriptorPool vkCreateDescriptorPool;170PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout;171PFN_vkCreateEvent vkCreateEvent;172PFN_vkCreateFence vkCreateFence;173PFN_vkCreateFramebuffer vkCreateFramebuffer;174PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines;175PFN_vkCreateImage vkCreateImage;176PFN_vkCreateImageView vkCreateImageView;177PFN_vkCreatePipelineCache vkCreatePipelineCache;178PFN_vkCreatePipelineLayout vkCreatePipelineLayout;179PFN_vkCreateQueryPool vkCreateQueryPool;180PFN_vkCreateRenderPass vkCreateRenderPass;181PFN_vkCreateSampler vkCreateSampler;182PFN_vkCreateSemaphore vkCreateSemaphore;183PFN_vkCreateShaderModule vkCreateShaderModule;184PFN_vkDestroyBuffer vkDestroyBuffer;185PFN_vkDestroyBufferView vkDestroyBufferView;186PFN_vkDestroyCommandPool vkDestroyCommandPool;187PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool;188PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout;189PFN_vkDestroyDevice vkDestroyDevice;190PFN_vkDestroyEvent vkDestroyEvent;191PFN_vkDestroyFence vkDestroyFence;192PFN_vkDestroyFramebuffer vkDestroyFramebuffer;193PFN_vkDestroyImage vkDestroyImage;194PFN_vkDestroyImageView vkDestroyImageView;195PFN_vkDestroyPipeline vkDestroyPipeline;196PFN_vkDestroyPipelineCache vkDestroyPipelineCache;197PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout;198PFN_vkDestroyQueryPool vkDestroyQueryPool;199PFN_vkDestroyRenderPass vkDestroyRenderPass;200PFN_vkDestroySampler vkDestroySampler;201PFN_vkDestroySemaphore vkDestroySemaphore;202PFN_vkDestroyShaderModule vkDestroyShaderModule;203PFN_vkDeviceWaitIdle vkDeviceWaitIdle;204PFN_vkEndCommandBuffer vkEndCommandBuffer;205PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges;206PFN_vkFreeCommandBuffers vkFreeCommandBuffers;207PFN_vkFreeDescriptorSets vkFreeDescriptorSets;208PFN_vkFreeMemory vkFreeMemory;209PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements;210PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment;211PFN_vkGetDeviceQueue vkGetDeviceQueue;212PFN_vkGetEventStatus vkGetEventStatus;213PFN_vkGetFenceStatus vkGetFenceStatus;214PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements;215PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements;216PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout;217PFN_vkGetPipelineCacheData vkGetPipelineCacheData;218PFN_vkGetQueryPoolResults vkGetQueryPoolResults;219PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity;220PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges;221PFN_vkMapMemory vkMapMemory;222PFN_vkMergePipelineCaches vkMergePipelineCaches;223PFN_vkQueueBindSparse vkQueueBindSparse;224PFN_vkQueueSubmit vkQueueSubmit;225PFN_vkQueueWaitIdle vkQueueWaitIdle;226PFN_vkResetCommandBuffer vkResetCommandBuffer;227PFN_vkResetCommandPool vkResetCommandPool;228PFN_vkResetDescriptorPool vkResetDescriptorPool;229PFN_vkResetEvent vkResetEvent;230PFN_vkResetFences vkResetFences;231PFN_vkSetEvent vkSetEvent;232PFN_vkUnmapMemory vkUnmapMemory;233PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets;234PFN_vkWaitForFences vkWaitForFences;235#endif /* defined(VK_VERSION_1_0) */236#if defined(VK_VERSION_1_1)237PFN_vkBindBufferMemory2 vkBindBufferMemory2;238PFN_vkBindImageMemory2 vkBindImageMemory2;239PFN_vkCmdDispatchBase vkCmdDispatchBase;240PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask;241PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate;242PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion;243PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate;244PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion;245PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2;246PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport;247PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures;248PFN_vkGetDeviceQueue2 vkGetDeviceQueue2;249PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2;250PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2;251PFN_vkTrimCommandPool vkTrimCommandPool;252PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate;253#endif /* defined(VK_VERSION_1_1) */254#if defined(VK_AMD_buffer_marker)255PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD;256#endif /* defined(VK_AMD_buffer_marker) */257#if defined(VK_AMD_display_native_hdr)258PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD;259#endif /* defined(VK_AMD_display_native_hdr) */260#if defined(VK_AMD_draw_indirect_count)261PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD;262PFN_vkCmdDrawIndirectCountAMD vkCmdDrawIndirectCountAMD;263#endif /* defined(VK_AMD_draw_indirect_count) */264#if defined(VK_AMD_shader_info)265PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD;266#endif /* defined(VK_AMD_shader_info) */267#if defined(VK_ANDROID_external_memory_android_hardware_buffer)268PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID;269PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID;270#endif /* defined(VK_ANDROID_external_memory_android_hardware_buffer) */271#if defined(VK_EXT_buffer_device_address)272PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT;273#endif /* defined(VK_EXT_buffer_device_address) */274#if defined(VK_EXT_calibrated_timestamps)275PFN_vkGetCalibratedTimestampsEXT vkGetCalibratedTimestampsEXT;276#endif /* defined(VK_EXT_calibrated_timestamps) */277#if defined(VK_EXT_conditional_rendering)278PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT;279PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT;280#endif /* defined(VK_EXT_conditional_rendering) */281#if defined(VK_EXT_debug_marker)282PFN_vkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXT;283PFN_vkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXT;284PFN_vkCmdDebugMarkerInsertEXT vkCmdDebugMarkerInsertEXT;285PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT;286PFN_vkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXT;287#endif /* defined(VK_EXT_debug_marker) */288#if defined(VK_EXT_discard_rectangles)289PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT;290#endif /* defined(VK_EXT_discard_rectangles) */291#if defined(VK_EXT_display_control)292PFN_vkDisplayPowerControlEXT vkDisplayPowerControlEXT;293PFN_vkGetSwapchainCounterEXT vkGetSwapchainCounterEXT;294PFN_vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT;295PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT;296#endif /* defined(VK_EXT_display_control) */297#if defined(VK_EXT_external_memory_host)298PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT;299#endif /* defined(VK_EXT_external_memory_host) */300#if defined(VK_EXT_full_screen_exclusive)301PFN_vkAcquireFullScreenExclusiveModeEXT vkAcquireFullScreenExclusiveModeEXT;302PFN_vkReleaseFullScreenExclusiveModeEXT vkReleaseFullScreenExclusiveModeEXT;303#endif /* defined(VK_EXT_full_screen_exclusive) */304#if defined(VK_EXT_hdr_metadata)305PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT;306#endif /* defined(VK_EXT_hdr_metadata) */307#if defined(VK_EXT_host_query_reset)308PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT;309#endif /* defined(VK_EXT_host_query_reset) */310#if defined(VK_EXT_image_drm_format_modifier)311PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT;312#endif /* defined(VK_EXT_image_drm_format_modifier) */313#if defined(VK_EXT_line_rasterization)314PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT;315#endif /* defined(VK_EXT_line_rasterization) */316#if defined(VK_EXT_sample_locations)317PFN_vkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXT;318#endif /* defined(VK_EXT_sample_locations) */319#if defined(VK_EXT_transform_feedback)320PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT;321PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT;322PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT;323PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT;324PFN_vkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXT;325PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT;326#endif /* defined(VK_EXT_transform_feedback) */327#if defined(VK_EXT_validation_cache)328PFN_vkCreateValidationCacheEXT vkCreateValidationCacheEXT;329PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT;330PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT;331PFN_vkMergeValidationCachesEXT vkMergeValidationCachesEXT;332#endif /* defined(VK_EXT_validation_cache) */333#if defined(VK_GOOGLE_display_timing)334PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE;335PFN_vkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLE;336#endif /* defined(VK_GOOGLE_display_timing) */337#if defined(VK_INTEL_performance_query)338PFN_vkAcquirePerformanceConfigurationINTEL vkAcquirePerformanceConfigurationINTEL;339PFN_vkCmdSetPerformanceMarkerINTEL vkCmdSetPerformanceMarkerINTEL;340PFN_vkCmdSetPerformanceOverrideINTEL vkCmdSetPerformanceOverrideINTEL;341PFN_vkCmdSetPerformanceStreamMarkerINTEL vkCmdSetPerformanceStreamMarkerINTEL;342PFN_vkGetPerformanceParameterINTEL vkGetPerformanceParameterINTEL;343PFN_vkInitializePerformanceApiINTEL vkInitializePerformanceApiINTEL;344PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL;345PFN_vkReleasePerformanceConfigurationINTEL vkReleasePerformanceConfigurationINTEL;346PFN_vkUninitializePerformanceApiINTEL vkUninitializePerformanceApiINTEL;347#endif /* defined(VK_INTEL_performance_query) */348#if defined(VK_KHR_bind_memory2)349PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR;350PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR;351#endif /* defined(VK_KHR_bind_memory2) */352#if defined(VK_KHR_buffer_device_address)353PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR;354PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR;355PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR;356#endif /* defined(VK_KHR_buffer_device_address) */357#if defined(VK_KHR_create_renderpass2)358PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR;359PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR;360PFN_vkCmdNextSubpass2KHR vkCmdNextSubpass2KHR;361PFN_vkCreateRenderPass2KHR vkCreateRenderPass2KHR;362#endif /* defined(VK_KHR_create_renderpass2) */363#if defined(VK_KHR_descriptor_update_template)364PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR;365PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR;366PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR;367#endif /* defined(VK_KHR_descriptor_update_template) */368#if defined(VK_KHR_device_group)369PFN_vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR;370PFN_vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR;371PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR;372#endif /* defined(VK_KHR_device_group) */373#if defined(VK_KHR_display_swapchain)374PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR;375#endif /* defined(VK_KHR_display_swapchain) */376#if defined(VK_KHR_draw_indirect_count)377PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR;378PFN_vkCmdDrawIndirectCountKHR vkCmdDrawIndirectCountKHR;379#endif /* defined(VK_KHR_draw_indirect_count) */380#if defined(VK_KHR_external_fence_fd)381PFN_vkGetFenceFdKHR vkGetFenceFdKHR;382PFN_vkImportFenceFdKHR vkImportFenceFdKHR;383#endif /* defined(VK_KHR_external_fence_fd) */384#if defined(VK_KHR_external_fence_win32)385PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR;386PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR;387#endif /* defined(VK_KHR_external_fence_win32) */388#if defined(VK_KHR_external_memory_fd)389PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR;390PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR;391#endif /* defined(VK_KHR_external_memory_fd) */392#if defined(VK_KHR_external_memory_win32)393PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR;394PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR;395#endif /* defined(VK_KHR_external_memory_win32) */396#if defined(VK_KHR_external_semaphore_fd)397PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR;398PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR;399#endif /* defined(VK_KHR_external_semaphore_fd) */400#if defined(VK_KHR_external_semaphore_win32)401PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR;402PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR;403#endif /* defined(VK_KHR_external_semaphore_win32) */404#if defined(VK_KHR_get_memory_requirements2)405PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR;406PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR;407PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR;408#endif /* defined(VK_KHR_get_memory_requirements2) */409#if defined(VK_KHR_maintenance1)410PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR;411#endif /* defined(VK_KHR_maintenance1) */412#if defined(VK_KHR_maintenance3)413PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR;414#endif /* defined(VK_KHR_maintenance3) */415#if defined(VK_KHR_performance_query)416PFN_vkAcquireProfilingLockKHR vkAcquireProfilingLockKHR;417PFN_vkReleaseProfilingLockKHR vkReleaseProfilingLockKHR;418#endif /* defined(VK_KHR_performance_query) */419#if defined(VK_KHR_pipeline_executable_properties)420PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR;421PFN_vkGetPipelineExecutablePropertiesKHR vkGetPipelineExecutablePropertiesKHR;422PFN_vkGetPipelineExecutableStatisticsKHR vkGetPipelineExecutableStatisticsKHR;423#endif /* defined(VK_KHR_pipeline_executable_properties) */424#if defined(VK_KHR_push_descriptor)425PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR;426#endif /* defined(VK_KHR_push_descriptor) */427#if defined(VK_KHR_sampler_ycbcr_conversion)428PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR;429PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR;430#endif /* defined(VK_KHR_sampler_ycbcr_conversion) */431#if defined(VK_KHR_shared_presentable_image)432PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR;433#endif /* defined(VK_KHR_shared_presentable_image) */434#if defined(VK_KHR_swapchain)435PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR;436PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR;437PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR;438PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR;439PFN_vkQueuePresentKHR vkQueuePresentKHR;440#endif /* defined(VK_KHR_swapchain) */441#if defined(VK_KHR_timeline_semaphore)442PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR;443PFN_vkSignalSemaphoreKHR vkSignalSemaphoreKHR;444PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR;445#endif /* defined(VK_KHR_timeline_semaphore) */446#if defined(VK_NVX_device_generated_commands)447PFN_vkCmdProcessCommandsNVX vkCmdProcessCommandsNVX;448PFN_vkCmdReserveSpaceForCommandsNVX vkCmdReserveSpaceForCommandsNVX;449PFN_vkCreateIndirectCommandsLayoutNVX vkCreateIndirectCommandsLayoutNVX;450PFN_vkCreateObjectTableNVX vkCreateObjectTableNVX;451PFN_vkDestroyIndirectCommandsLayoutNVX vkDestroyIndirectCommandsLayoutNVX;452PFN_vkDestroyObjectTableNVX vkDestroyObjectTableNVX;453PFN_vkRegisterObjectsNVX vkRegisterObjectsNVX;454PFN_vkUnregisterObjectsNVX vkUnregisterObjectsNVX;455#endif /* defined(VK_NVX_device_generated_commands) */456#if defined(VK_NVX_image_view_handle)457PFN_vkGetImageViewHandleNVX vkGetImageViewHandleNVX;458#endif /* defined(VK_NVX_image_view_handle) */459#if defined(VK_NV_clip_space_w_scaling)460PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV;461#endif /* defined(VK_NV_clip_space_w_scaling) */462#if defined(VK_NV_device_diagnostic_checkpoints)463PFN_vkCmdSetCheckpointNV vkCmdSetCheckpointNV;464PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV;465#endif /* defined(VK_NV_device_diagnostic_checkpoints) */466#if defined(VK_NV_external_memory_win32)467PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV;468#endif /* defined(VK_NV_external_memory_win32) */469#if defined(VK_NV_mesh_shader)470PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV;471PFN_vkCmdDrawMeshTasksIndirectNV vkCmdDrawMeshTasksIndirectNV;472PFN_vkCmdDrawMeshTasksNV vkCmdDrawMeshTasksNV;473#endif /* defined(VK_NV_mesh_shader) */474#if defined(VK_NV_ray_tracing)475PFN_vkBindAccelerationStructureMemoryNV vkBindAccelerationStructureMemoryNV;476PFN_vkCmdBuildAccelerationStructureNV vkCmdBuildAccelerationStructureNV;477PFN_vkCmdCopyAccelerationStructureNV vkCmdCopyAccelerationStructureNV;478PFN_vkCmdTraceRaysNV vkCmdTraceRaysNV;479PFN_vkCmdWriteAccelerationStructuresPropertiesNV vkCmdWriteAccelerationStructuresPropertiesNV;480PFN_vkCompileDeferredNV vkCompileDeferredNV;481PFN_vkCreateAccelerationStructureNV vkCreateAccelerationStructureNV;482PFN_vkCreateRayTracingPipelinesNV vkCreateRayTracingPipelinesNV;483PFN_vkDestroyAccelerationStructureNV vkDestroyAccelerationStructureNV;484PFN_vkGetAccelerationStructureHandleNV vkGetAccelerationStructureHandleNV;485PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV;486PFN_vkGetRayTracingShaderGroupHandlesNV vkGetRayTracingShaderGroupHandlesNV;487#endif /* defined(VK_NV_ray_tracing) */488#if defined(VK_NV_scissor_exclusive)489PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV;490#endif /* defined(VK_NV_scissor_exclusive) */491#if defined(VK_NV_shading_rate_image)492PFN_vkCmdBindShadingRateImageNV vkCmdBindShadingRateImageNV;493PFN_vkCmdSetCoarseSampleOrderNV vkCmdSetCoarseSampleOrderNV;494PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV;495#endif /* defined(VK_NV_shading_rate_image) */496#if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1))497PFN_vkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXT;498#endif /* (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) */499#if (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1))500PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR;501#endif /* (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) */502#if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))503PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR;504PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR;505#endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */506#if (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))507PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR;508#endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */509/* VOLK_GENERATE_DEVICE_TABLE */510};511512/* VOLK_GENERATE_PROTOTYPES_H */513#if defined(VK_VERSION_1_0)514extern PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers;515extern PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets;516extern PFN_vkAllocateMemory vkAllocateMemory;517extern PFN_vkBeginCommandBuffer vkBeginCommandBuffer;518extern PFN_vkBindBufferMemory vkBindBufferMemory;519extern PFN_vkBindImageMemory vkBindImageMemory;520extern PFN_vkCmdBeginQuery vkCmdBeginQuery;521extern PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass;522extern PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets;523extern PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer;524extern PFN_vkCmdBindPipeline vkCmdBindPipeline;525extern PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers;526extern PFN_vkCmdBlitImage vkCmdBlitImage;527extern PFN_vkCmdClearAttachments vkCmdClearAttachments;528extern PFN_vkCmdClearColorImage vkCmdClearColorImage;529extern PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage;530extern PFN_vkCmdCopyBuffer vkCmdCopyBuffer;531extern PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage;532extern PFN_vkCmdCopyImage vkCmdCopyImage;533extern PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer;534extern PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults;535extern PFN_vkCmdDispatch vkCmdDispatch;536extern PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect;537extern PFN_vkCmdDraw vkCmdDraw;538extern PFN_vkCmdDrawIndexed vkCmdDrawIndexed;539extern PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect;540extern PFN_vkCmdDrawIndirect vkCmdDrawIndirect;541extern PFN_vkCmdEndQuery vkCmdEndQuery;542extern PFN_vkCmdEndRenderPass vkCmdEndRenderPass;543extern PFN_vkCmdExecuteCommands vkCmdExecuteCommands;544extern PFN_vkCmdFillBuffer vkCmdFillBuffer;545extern PFN_vkCmdNextSubpass vkCmdNextSubpass;546extern PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier;547extern PFN_vkCmdPushConstants vkCmdPushConstants;548extern PFN_vkCmdResetEvent vkCmdResetEvent;549extern PFN_vkCmdResetQueryPool vkCmdResetQueryPool;550extern PFN_vkCmdResolveImage vkCmdResolveImage;551extern PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants;552extern PFN_vkCmdSetDepthBias vkCmdSetDepthBias;553extern PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds;554extern PFN_vkCmdSetEvent vkCmdSetEvent;555extern PFN_vkCmdSetLineWidth vkCmdSetLineWidth;556extern PFN_vkCmdSetScissor vkCmdSetScissor;557extern PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask;558extern PFN_vkCmdSetStencilReference vkCmdSetStencilReference;559extern PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask;560extern PFN_vkCmdSetViewport vkCmdSetViewport;561extern PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer;562extern PFN_vkCmdWaitEvents vkCmdWaitEvents;563extern PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp;564extern PFN_vkCreateBuffer vkCreateBuffer;565extern PFN_vkCreateBufferView vkCreateBufferView;566extern PFN_vkCreateCommandPool vkCreateCommandPool;567extern PFN_vkCreateComputePipelines vkCreateComputePipelines;568extern PFN_vkCreateDescriptorPool vkCreateDescriptorPool;569extern PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout;570extern PFN_vkCreateDevice vkCreateDevice;571extern PFN_vkCreateEvent vkCreateEvent;572extern PFN_vkCreateFence vkCreateFence;573extern PFN_vkCreateFramebuffer vkCreateFramebuffer;574extern PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines;575extern PFN_vkCreateImage vkCreateImage;576extern PFN_vkCreateImageView vkCreateImageView;577extern PFN_vkCreateInstance vkCreateInstance;578extern PFN_vkCreatePipelineCache vkCreatePipelineCache;579extern PFN_vkCreatePipelineLayout vkCreatePipelineLayout;580extern PFN_vkCreateQueryPool vkCreateQueryPool;581extern PFN_vkCreateRenderPass vkCreateRenderPass;582extern PFN_vkCreateSampler vkCreateSampler;583extern PFN_vkCreateSemaphore vkCreateSemaphore;584extern PFN_vkCreateShaderModule vkCreateShaderModule;585extern PFN_vkDestroyBuffer vkDestroyBuffer;586extern PFN_vkDestroyBufferView vkDestroyBufferView;587extern PFN_vkDestroyCommandPool vkDestroyCommandPool;588extern PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool;589extern PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout;590extern PFN_vkDestroyDevice vkDestroyDevice;591extern PFN_vkDestroyEvent vkDestroyEvent;592extern PFN_vkDestroyFence vkDestroyFence;593extern PFN_vkDestroyFramebuffer vkDestroyFramebuffer;594extern PFN_vkDestroyImage vkDestroyImage;595extern PFN_vkDestroyImageView vkDestroyImageView;596extern PFN_vkDestroyInstance vkDestroyInstance;597extern PFN_vkDestroyPipeline vkDestroyPipeline;598extern PFN_vkDestroyPipelineCache vkDestroyPipelineCache;599extern PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout;600extern PFN_vkDestroyQueryPool vkDestroyQueryPool;601extern PFN_vkDestroyRenderPass vkDestroyRenderPass;602extern PFN_vkDestroySampler vkDestroySampler;603extern PFN_vkDestroySemaphore vkDestroySemaphore;604extern PFN_vkDestroyShaderModule vkDestroyShaderModule;605extern PFN_vkDeviceWaitIdle vkDeviceWaitIdle;606extern PFN_vkEndCommandBuffer vkEndCommandBuffer;607extern PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties;608extern PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties;609extern PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties;610extern PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties;611extern PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices;612extern PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges;613extern PFN_vkFreeCommandBuffers vkFreeCommandBuffers;614extern PFN_vkFreeDescriptorSets vkFreeDescriptorSets;615extern PFN_vkFreeMemory vkFreeMemory;616extern PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements;617extern PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment;618extern PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr;619extern PFN_vkGetDeviceQueue vkGetDeviceQueue;620extern PFN_vkGetEventStatus vkGetEventStatus;621extern PFN_vkGetFenceStatus vkGetFenceStatus;622extern PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements;623extern PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements;624extern PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout;625extern PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr;626extern PFN_vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures;627extern PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties;628extern PFN_vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties;629extern PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties;630extern PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties;631extern PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties;632extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties;633extern PFN_vkGetPipelineCacheData vkGetPipelineCacheData;634extern PFN_vkGetQueryPoolResults vkGetQueryPoolResults;635extern PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity;636extern PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges;637extern PFN_vkMapMemory vkMapMemory;638extern PFN_vkMergePipelineCaches vkMergePipelineCaches;639extern PFN_vkQueueBindSparse vkQueueBindSparse;640extern PFN_vkQueueSubmit vkQueueSubmit;641extern PFN_vkQueueWaitIdle vkQueueWaitIdle;642extern PFN_vkResetCommandBuffer vkResetCommandBuffer;643extern PFN_vkResetCommandPool vkResetCommandPool;644extern PFN_vkResetDescriptorPool vkResetDescriptorPool;645extern PFN_vkResetEvent vkResetEvent;646extern PFN_vkResetFences vkResetFences;647extern PFN_vkSetEvent vkSetEvent;648extern PFN_vkUnmapMemory vkUnmapMemory;649extern PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets;650extern PFN_vkWaitForFences vkWaitForFences;651#endif /* defined(VK_VERSION_1_0) */652#if defined(VK_VERSION_1_1)653extern PFN_vkBindBufferMemory2 vkBindBufferMemory2;654extern PFN_vkBindImageMemory2 vkBindImageMemory2;655extern PFN_vkCmdDispatchBase vkCmdDispatchBase;656extern PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask;657extern PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate;658extern PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion;659extern PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate;660extern PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion;661extern PFN_vkEnumerateInstanceVersion vkEnumerateInstanceVersion;662extern PFN_vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups;663extern PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2;664extern PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport;665extern PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures;666extern PFN_vkGetDeviceQueue2 vkGetDeviceQueue2;667extern PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2;668extern PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2;669extern PFN_vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties;670extern PFN_vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties;671extern PFN_vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties;672extern PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2;673extern PFN_vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2;674extern PFN_vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2;675extern PFN_vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2;676extern PFN_vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2;677extern PFN_vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2;678extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2;679extern PFN_vkTrimCommandPool vkTrimCommandPool;680extern PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate;681#endif /* defined(VK_VERSION_1_1) */682#if defined(VK_AMD_buffer_marker)683extern PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD;684#endif /* defined(VK_AMD_buffer_marker) */685#if defined(VK_AMD_display_native_hdr)686extern PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD;687#endif /* defined(VK_AMD_display_native_hdr) */688#if defined(VK_AMD_draw_indirect_count)689extern PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD;690extern PFN_vkCmdDrawIndirectCountAMD vkCmdDrawIndirectCountAMD;691#endif /* defined(VK_AMD_draw_indirect_count) */692#if defined(VK_AMD_shader_info)693extern PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD;694#endif /* defined(VK_AMD_shader_info) */695#if defined(VK_ANDROID_external_memory_android_hardware_buffer)696extern PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID;697extern PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID;698#endif /* defined(VK_ANDROID_external_memory_android_hardware_buffer) */699#if defined(VK_EXT_acquire_xlib_display)700extern PFN_vkAcquireXlibDisplayEXT vkAcquireXlibDisplayEXT;701extern PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT;702#endif /* defined(VK_EXT_acquire_xlib_display) */703#if defined(VK_EXT_buffer_device_address)704extern PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT;705#endif /* defined(VK_EXT_buffer_device_address) */706#if defined(VK_EXT_calibrated_timestamps)707extern PFN_vkGetCalibratedTimestampsEXT vkGetCalibratedTimestampsEXT;708extern PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT vkGetPhysicalDeviceCalibrateableTimeDomainsEXT;709#endif /* defined(VK_EXT_calibrated_timestamps) */710#if defined(VK_EXT_conditional_rendering)711extern PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT;712extern PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT;713#endif /* defined(VK_EXT_conditional_rendering) */714#if defined(VK_EXT_debug_marker)715extern PFN_vkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXT;716extern PFN_vkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXT;717extern PFN_vkCmdDebugMarkerInsertEXT vkCmdDebugMarkerInsertEXT;718extern PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT;719extern PFN_vkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXT;720#endif /* defined(VK_EXT_debug_marker) */721#if defined(VK_EXT_debug_report)722extern PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT;723extern PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT;724extern PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT;725#endif /* defined(VK_EXT_debug_report) */726#if defined(VK_EXT_debug_utils)727extern PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT;728extern PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT;729extern PFN_vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT;730extern PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT;731extern PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT;732extern PFN_vkQueueBeginDebugUtilsLabelEXT vkQueueBeginDebugUtilsLabelEXT;733extern PFN_vkQueueEndDebugUtilsLabelEXT vkQueueEndDebugUtilsLabelEXT;734extern PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT;735extern PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT;736extern PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT;737extern PFN_vkSubmitDebugUtilsMessageEXT vkSubmitDebugUtilsMessageEXT;738#endif /* defined(VK_EXT_debug_utils) */739#if defined(VK_EXT_direct_mode_display)740extern PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT;741#endif /* defined(VK_EXT_direct_mode_display) */742#if defined(VK_EXT_discard_rectangles)743extern PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT;744#endif /* defined(VK_EXT_discard_rectangles) */745#if defined(VK_EXT_display_control)746extern PFN_vkDisplayPowerControlEXT vkDisplayPowerControlEXT;747extern PFN_vkGetSwapchainCounterEXT vkGetSwapchainCounterEXT;748extern PFN_vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT;749extern PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT;750#endif /* defined(VK_EXT_display_control) */751#if defined(VK_EXT_display_surface_counter)752extern PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT;753#endif /* defined(VK_EXT_display_surface_counter) */754#if defined(VK_EXT_external_memory_host)755extern PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT;756#endif /* defined(VK_EXT_external_memory_host) */757#if defined(VK_EXT_full_screen_exclusive)758extern PFN_vkAcquireFullScreenExclusiveModeEXT vkAcquireFullScreenExclusiveModeEXT;759extern PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT vkGetPhysicalDeviceSurfacePresentModes2EXT;760extern PFN_vkReleaseFullScreenExclusiveModeEXT vkReleaseFullScreenExclusiveModeEXT;761#endif /* defined(VK_EXT_full_screen_exclusive) */762#if defined(VK_EXT_hdr_metadata)763extern PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT;764#endif /* defined(VK_EXT_hdr_metadata) */765#if defined(VK_EXT_headless_surface)766extern PFN_vkCreateHeadlessSurfaceEXT vkCreateHeadlessSurfaceEXT;767#endif /* defined(VK_EXT_headless_surface) */768#if defined(VK_EXT_host_query_reset)769extern PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT;770#endif /* defined(VK_EXT_host_query_reset) */771#if defined(VK_EXT_image_drm_format_modifier)772extern PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT;773#endif /* defined(VK_EXT_image_drm_format_modifier) */774#if defined(VK_EXT_line_rasterization)775extern PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT;776#endif /* defined(VK_EXT_line_rasterization) */777#if defined(VK_EXT_metal_surface)778extern PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT;779#endif /* defined(VK_EXT_metal_surface) */780#if defined(VK_EXT_sample_locations)781extern PFN_vkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXT;782extern PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT vkGetPhysicalDeviceMultisamplePropertiesEXT;783#endif /* defined(VK_EXT_sample_locations) */784#if defined(VK_EXT_tooling_info)785extern PFN_vkGetPhysicalDeviceToolPropertiesEXT vkGetPhysicalDeviceToolPropertiesEXT;786#endif /* defined(VK_EXT_tooling_info) */787#if defined(VK_EXT_transform_feedback)788extern PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT;789extern PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT;790extern PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT;791extern PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT;792extern PFN_vkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXT;793extern PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT;794#endif /* defined(VK_EXT_transform_feedback) */795#if defined(VK_EXT_validation_cache)796extern PFN_vkCreateValidationCacheEXT vkCreateValidationCacheEXT;797extern PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT;798extern PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT;799extern PFN_vkMergeValidationCachesEXT vkMergeValidationCachesEXT;800#endif /* defined(VK_EXT_validation_cache) */801#if defined(VK_FUCHSIA_imagepipe_surface)802extern PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA;803#endif /* defined(VK_FUCHSIA_imagepipe_surface) */804#if defined(VK_GGP_stream_descriptor_surface)805extern PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP;806#endif /* defined(VK_GGP_stream_descriptor_surface) */807#if defined(VK_GOOGLE_display_timing)808extern PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE;809extern PFN_vkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLE;810#endif /* defined(VK_GOOGLE_display_timing) */811#if defined(VK_INTEL_performance_query)812extern PFN_vkAcquirePerformanceConfigurationINTEL vkAcquirePerformanceConfigurationINTEL;813extern PFN_vkCmdSetPerformanceMarkerINTEL vkCmdSetPerformanceMarkerINTEL;814extern PFN_vkCmdSetPerformanceOverrideINTEL vkCmdSetPerformanceOverrideINTEL;815extern PFN_vkCmdSetPerformanceStreamMarkerINTEL vkCmdSetPerformanceStreamMarkerINTEL;816extern PFN_vkGetPerformanceParameterINTEL vkGetPerformanceParameterINTEL;817extern PFN_vkInitializePerformanceApiINTEL vkInitializePerformanceApiINTEL;818extern PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL;819extern PFN_vkReleasePerformanceConfigurationINTEL vkReleasePerformanceConfigurationINTEL;820extern PFN_vkUninitializePerformanceApiINTEL vkUninitializePerformanceApiINTEL;821#endif /* defined(VK_INTEL_performance_query) */822#if defined(VK_KHR_android_surface)823extern PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR;824#endif /* defined(VK_KHR_android_surface) */825#if defined(VK_KHR_bind_memory2)826extern PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR;827extern PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR;828#endif /* defined(VK_KHR_bind_memory2) */829#if defined(VK_KHR_buffer_device_address)830extern PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR;831extern PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR;832extern PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR;833#endif /* defined(VK_KHR_buffer_device_address) */834#if defined(VK_KHR_create_renderpass2)835extern PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR;836extern PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR;837extern PFN_vkCmdNextSubpass2KHR vkCmdNextSubpass2KHR;838extern PFN_vkCreateRenderPass2KHR vkCreateRenderPass2KHR;839#endif /* defined(VK_KHR_create_renderpass2) */840#if defined(VK_KHR_descriptor_update_template)841extern PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR;842extern PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR;843extern PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR;844#endif /* defined(VK_KHR_descriptor_update_template) */845#if defined(VK_KHR_device_group)846extern PFN_vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR;847extern PFN_vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR;848extern PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR;849#endif /* defined(VK_KHR_device_group) */850#if defined(VK_KHR_device_group_creation)851extern PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR;852#endif /* defined(VK_KHR_device_group_creation) */853#if defined(VK_KHR_display)854extern PFN_vkCreateDisplayModeKHR vkCreateDisplayModeKHR;855extern PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR;856extern PFN_vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR;857extern PFN_vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR;858extern PFN_vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR;859extern PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR;860extern PFN_vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR;861#endif /* defined(VK_KHR_display) */862#if defined(VK_KHR_display_swapchain)863extern PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR;864#endif /* defined(VK_KHR_display_swapchain) */865#if defined(VK_KHR_draw_indirect_count)866extern PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR;867extern PFN_vkCmdDrawIndirectCountKHR vkCmdDrawIndirectCountKHR;868#endif /* defined(VK_KHR_draw_indirect_count) */869#if defined(VK_KHR_external_fence_capabilities)870extern PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR;871#endif /* defined(VK_KHR_external_fence_capabilities) */872#if defined(VK_KHR_external_fence_fd)873extern PFN_vkGetFenceFdKHR vkGetFenceFdKHR;874extern PFN_vkImportFenceFdKHR vkImportFenceFdKHR;875#endif /* defined(VK_KHR_external_fence_fd) */876#if defined(VK_KHR_external_fence_win32)877extern PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR;878extern PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR;879#endif /* defined(VK_KHR_external_fence_win32) */880#if defined(VK_KHR_external_memory_capabilities)881extern PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR vkGetPhysicalDeviceExternalBufferPropertiesKHR;882#endif /* defined(VK_KHR_external_memory_capabilities) */883#if defined(VK_KHR_external_memory_fd)884extern PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR;885extern PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR;886#endif /* defined(VK_KHR_external_memory_fd) */887#if defined(VK_KHR_external_memory_win32)888extern PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR;889extern PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR;890#endif /* defined(VK_KHR_external_memory_win32) */891#if defined(VK_KHR_external_semaphore_capabilities)892extern PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR vkGetPhysicalDeviceExternalSemaphorePropertiesKHR;893#endif /* defined(VK_KHR_external_semaphore_capabilities) */894#if defined(VK_KHR_external_semaphore_fd)895extern PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR;896extern PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR;897#endif /* defined(VK_KHR_external_semaphore_fd) */898#if defined(VK_KHR_external_semaphore_win32)899extern PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR;900extern PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR;901#endif /* defined(VK_KHR_external_semaphore_win32) */902#if defined(VK_KHR_get_display_properties2)903extern PFN_vkGetDisplayModeProperties2KHR vkGetDisplayModeProperties2KHR;904extern PFN_vkGetDisplayPlaneCapabilities2KHR vkGetDisplayPlaneCapabilities2KHR;905extern PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHR;906extern PFN_vkGetPhysicalDeviceDisplayProperties2KHR vkGetPhysicalDeviceDisplayProperties2KHR;907#endif /* defined(VK_KHR_get_display_properties2) */908#if defined(VK_KHR_get_memory_requirements2)909extern PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR;910extern PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR;911extern PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR;912#endif /* defined(VK_KHR_get_memory_requirements2) */913#if defined(VK_KHR_get_physical_device_properties2)914extern PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR;915extern PFN_vkGetPhysicalDeviceFormatProperties2KHR vkGetPhysicalDeviceFormatProperties2KHR;916extern PFN_vkGetPhysicalDeviceImageFormatProperties2KHR vkGetPhysicalDeviceImageFormatProperties2KHR;917extern PFN_vkGetPhysicalDeviceMemoryProperties2KHR vkGetPhysicalDeviceMemoryProperties2KHR;918extern PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR;919extern PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR vkGetPhysicalDeviceQueueFamilyProperties2KHR;920extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR;921#endif /* defined(VK_KHR_get_physical_device_properties2) */922#if defined(VK_KHR_get_surface_capabilities2)923extern PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR;924extern PFN_vkGetPhysicalDeviceSurfaceFormats2KHR vkGetPhysicalDeviceSurfaceFormats2KHR;925#endif /* defined(VK_KHR_get_surface_capabilities2) */926#if defined(VK_KHR_maintenance1)927extern PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR;928#endif /* defined(VK_KHR_maintenance1) */929#if defined(VK_KHR_maintenance3)930extern PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR;931#endif /* defined(VK_KHR_maintenance3) */932#if defined(VK_KHR_performance_query)933extern PFN_vkAcquireProfilingLockKHR vkAcquireProfilingLockKHR;934extern PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR;935extern PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR;936extern PFN_vkReleaseProfilingLockKHR vkReleaseProfilingLockKHR;937#endif /* defined(VK_KHR_performance_query) */938#if defined(VK_KHR_pipeline_executable_properties)939extern PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR;940extern PFN_vkGetPipelineExecutablePropertiesKHR vkGetPipelineExecutablePropertiesKHR;941extern PFN_vkGetPipelineExecutableStatisticsKHR vkGetPipelineExecutableStatisticsKHR;942#endif /* defined(VK_KHR_pipeline_executable_properties) */943#if defined(VK_KHR_push_descriptor)944extern PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR;945#endif /* defined(VK_KHR_push_descriptor) */946#if defined(VK_KHR_sampler_ycbcr_conversion)947extern PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR;948extern PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR;949#endif /* defined(VK_KHR_sampler_ycbcr_conversion) */950#if defined(VK_KHR_shared_presentable_image)951extern PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR;952#endif /* defined(VK_KHR_shared_presentable_image) */953#if defined(VK_KHR_surface)954extern PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR;955extern PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR;956extern PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR;957extern PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR;958extern PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR;959#endif /* defined(VK_KHR_surface) */960#if defined(VK_KHR_swapchain)961extern PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR;962extern PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR;963extern PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR;964extern PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR;965extern PFN_vkQueuePresentKHR vkQueuePresentKHR;966#endif /* defined(VK_KHR_swapchain) */967#if defined(VK_KHR_timeline_semaphore)968extern PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR;969extern PFN_vkSignalSemaphoreKHR vkSignalSemaphoreKHR;970extern PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR;971#endif /* defined(VK_KHR_timeline_semaphore) */972#if defined(VK_KHR_wayland_surface)973extern PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR;974extern PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR;975#endif /* defined(VK_KHR_wayland_surface) */976#if defined(VK_KHR_win32_surface)977extern PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR;978extern PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR;979#endif /* defined(VK_KHR_win32_surface) */980#if defined(VK_KHR_xcb_surface)981extern PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR;982extern PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR;983#endif /* defined(VK_KHR_xcb_surface) */984#if defined(VK_KHR_xlib_surface)985extern PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR;986extern PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR;987#endif /* defined(VK_KHR_xlib_surface) */988#if defined(VK_MVK_ios_surface)989extern PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK;990#endif /* defined(VK_MVK_ios_surface) */991#if defined(VK_MVK_macos_surface)992extern PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK;993#endif /* defined(VK_MVK_macos_surface) */994#if defined(VK_NN_vi_surface)995extern PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN;996#endif /* defined(VK_NN_vi_surface) */997#if defined(VK_NVX_device_generated_commands)998extern PFN_vkCmdProcessCommandsNVX vkCmdProcessCommandsNVX;999extern PFN_vkCmdReserveSpaceForCommandsNVX vkCmdReserveSpaceForCommandsNVX;1000extern PFN_vkCreateIndirectCommandsLayoutNVX vkCreateIndirectCommandsLayoutNVX;1001extern PFN_vkCreateObjectTableNVX vkCreateObjectTableNVX;1002extern PFN_vkDestroyIndirectCommandsLayoutNVX vkDestroyIndirectCommandsLayoutNVX;1003extern PFN_vkDestroyObjectTableNVX vkDestroyObjectTableNVX;1004extern PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX;1005extern PFN_vkRegisterObjectsNVX vkRegisterObjectsNVX;1006extern PFN_vkUnregisterObjectsNVX vkUnregisterObjectsNVX;1007#endif /* defined(VK_NVX_device_generated_commands) */1008#if defined(VK_NVX_image_view_handle)1009extern PFN_vkGetImageViewHandleNVX vkGetImageViewHandleNVX;1010#endif /* defined(VK_NVX_image_view_handle) */1011#if defined(VK_NV_clip_space_w_scaling)1012extern PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV;1013#endif /* defined(VK_NV_clip_space_w_scaling) */1014#if defined(VK_NV_cooperative_matrix)1015extern PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV vkGetPhysicalDeviceCooperativeMatrixPropertiesNV;1016#endif /* defined(VK_NV_cooperative_matrix) */1017#if defined(VK_NV_coverage_reduction_mode)1018extern PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV;1019#endif /* defined(VK_NV_coverage_reduction_mode) */1020#if defined(VK_NV_device_diagnostic_checkpoints)1021extern PFN_vkCmdSetCheckpointNV vkCmdSetCheckpointNV;1022extern PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV;1023#endif /* defined(VK_NV_device_diagnostic_checkpoints) */1024#if defined(VK_NV_external_memory_capabilities)1025extern PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNV;1026#endif /* defined(VK_NV_external_memory_capabilities) */1027#if defined(VK_NV_external_memory_win32)1028extern PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV;1029#endif /* defined(VK_NV_external_memory_win32) */1030#if defined(VK_NV_mesh_shader)1031extern PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV;1032extern PFN_vkCmdDrawMeshTasksIndirectNV vkCmdDrawMeshTasksIndirectNV;1033extern PFN_vkCmdDrawMeshTasksNV vkCmdDrawMeshTasksNV;1034#endif /* defined(VK_NV_mesh_shader) */1035#if defined(VK_NV_ray_tracing)1036extern PFN_vkBindAccelerationStructureMemoryNV vkBindAccelerationStructureMemoryNV;1037extern PFN_vkCmdBuildAccelerationStructureNV vkCmdBuildAccelerationStructureNV;1038extern PFN_vkCmdCopyAccelerationStructureNV vkCmdCopyAccelerationStructureNV;1039extern PFN_vkCmdTraceRaysNV vkCmdTraceRaysNV;1040extern PFN_vkCmdWriteAccelerationStructuresPropertiesNV vkCmdWriteAccelerationStructuresPropertiesNV;1041extern PFN_vkCompileDeferredNV vkCompileDeferredNV;1042extern PFN_vkCreateAccelerationStructureNV vkCreateAccelerationStructureNV;1043extern PFN_vkCreateRayTracingPipelinesNV vkCreateRayTracingPipelinesNV;1044extern PFN_vkDestroyAccelerationStructureNV vkDestroyAccelerationStructureNV;1045extern PFN_vkGetAccelerationStructureHandleNV vkGetAccelerationStructureHandleNV;1046extern PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV;1047extern PFN_vkGetRayTracingShaderGroupHandlesNV vkGetRayTracingShaderGroupHandlesNV;1048#endif /* defined(VK_NV_ray_tracing) */1049#if defined(VK_NV_scissor_exclusive)1050extern PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV;1051#endif /* defined(VK_NV_scissor_exclusive) */1052#if defined(VK_NV_shading_rate_image)1053extern PFN_vkCmdBindShadingRateImageNV vkCmdBindShadingRateImageNV;1054extern PFN_vkCmdSetCoarseSampleOrderNV vkCmdSetCoarseSampleOrderNV;1055extern PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV;1056#endif /* defined(VK_NV_shading_rate_image) */1057#if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1))1058extern PFN_vkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXT;1059#endif /* (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) */1060#if (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1))1061extern PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR;1062#endif /* (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) */1063#if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))1064extern PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR;1065extern PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR;1066extern PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR;1067#endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */1068#if (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))1069extern PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR;1070#endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */1071/* VOLK_GENERATE_PROTOTYPES_H */10721073#ifdef __cplusplus1074}1075#endif10761077#endif10781079#ifdef VOLK_IMPLEMENTATION1080#undef VOLK_IMPLEMENTATION1081// Prevent tools like dependency checkers that don't evaluate1082// macros from detecting a cyclic dependency.1083#define VOLK_SOURCE "volk.c"1084#include VOLK_SOURCE1085#endif10861087/**1088* Copyright (c) 2018-2019 Arseny Kapoulkine1089*1090* Permission is hereby granted, free of charge, to any person obtaining a copy1091* of this software and associated documentation files (the "Software"), to deal1092* in the Software without restriction, including without limitation the rights1093* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell1094* copies of the Software, and to permit persons to whom the Software is1095* furnished to do so, subject to the following conditions:1096*1097* The above copyright notice and this permission notice shall be included in all1098* copies or substantial portions of the Software.1099*1100* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR1101* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,1102* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE1103* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER1104* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,1105* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE1106* SOFTWARE.1107*/1108/* clang-format on */110911101111