From d7e738530acfcc11cb967d4e0552135bffcb8243 Mon Sep 17 00:00:00 2001 From: flx Date: Wed, 12 Nov 2025 18:05:41 +0800 Subject: [PATCH] add support for dll (add VOLK_API definition and VOLK_API_FOR_DLL definition) --- generate.py | 2 +- volk.h | 1560 ++++++++++++++++++++++++++------------------------- 2 files changed, 791 insertions(+), 771 deletions(-) diff --git a/generate.py b/generate.py index bc0251c2..baf896d8 100755 --- a/generate.py +++ b/generate.py @@ -183,7 +183,7 @@ def cdepends(key): if name == 'vkGetDeviceProcAddr': type = 'VkInstance' - extern_fn = 'extern PFN_' + name + ' ' + name + ';\n' + extern_fn = 'extern VOLK_API PFN_' + name + ' ' + name + ';\n' load_fn = '\t' + name + ' = (PFN_' + name + ')load(context, "' + name + '");\n' def_table = '\tPFN_' + name + ' ' + name + ';\n' load_table = '\ttable->' + name + ' = (PFN_' + name + ')load(context, "' + name + '");\n' diff --git a/volk.h b/volk.h index 38a64139..ef51b6c1 100644 --- a/volk.h +++ b/volk.h @@ -10,6 +10,26 @@ #ifndef VOLK_H_ #define VOLK_H_ +#ifndef VOLK_API +# if defined(_WIN32) || defined(_WIN64) +# if defined(VOLK_API_FOR_DLL) // need GLOBAL definition!!! +# if defined(VOLK_API_EXPORT) +# define VOLK_API __declspec(dllexport) +# else +# define VOLK_API __declspec(dllimport) +# endif +# else +# define VOLK_API +# endif +# else +# if defined(VOLK_API_EXPORT) && defined(VOLK_API_FOR_DLL) +# define VOLK_API __attribute__((visibility("default"))) +# else +# define VOLK_API +# endif +# endif +#endif + #if defined(VOLK_NAMESPACE) && !defined(__cplusplus) #error VOLK_NAMESPACE is only supported in C++ #endif @@ -1914,1230 +1934,1230 @@ struct VolkDeviceTable /* VOLK_GENERATE_PROTOTYPES_H */ #if defined(VK_VERSION_1_0) -extern PFN_vkCreateDevice vkCreateDevice; -extern PFN_vkCreateInstance vkCreateInstance; -extern PFN_vkDestroyInstance vkDestroyInstance; -extern PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties; -extern PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties; -extern PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties; -extern PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties; -extern PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices; -extern PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr; -extern PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr; -extern PFN_vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures; -extern PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties; -extern PFN_vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties; -extern PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties; -extern PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties; -extern PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties; -extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties; +extern VOLK_API PFN_vkCreateDevice vkCreateDevice; +extern VOLK_API PFN_vkCreateInstance vkCreateInstance; +extern VOLK_API PFN_vkDestroyInstance vkDestroyInstance; +extern VOLK_API PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties; +extern VOLK_API PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties; +extern VOLK_API PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties; +extern VOLK_API PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties; +extern VOLK_API PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices; +extern VOLK_API PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr; +extern VOLK_API PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr; +extern VOLK_API PFN_vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures; +extern VOLK_API PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties; +extern VOLK_API PFN_vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties; +extern VOLK_API PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties; +extern VOLK_API PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties; +extern VOLK_API PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties; +extern VOLK_API PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties; #endif /* defined(VK_VERSION_1_0) */ #if defined(VK_VERSION_1_1) -extern PFN_vkEnumerateInstanceVersion vkEnumerateInstanceVersion; -extern PFN_vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups; -extern PFN_vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties; -extern PFN_vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties; -extern PFN_vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties; -extern PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2; -extern PFN_vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2; -extern PFN_vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2; -extern PFN_vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2; -extern PFN_vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2; -extern PFN_vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2; -extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2; +extern VOLK_API PFN_vkEnumerateInstanceVersion vkEnumerateInstanceVersion; +extern VOLK_API PFN_vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups; +extern VOLK_API PFN_vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties; +extern VOLK_API PFN_vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties; +extern VOLK_API PFN_vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties; +extern VOLK_API PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2; +extern VOLK_API PFN_vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2; +extern VOLK_API PFN_vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2; +extern VOLK_API PFN_vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2; +extern VOLK_API PFN_vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2; +extern VOLK_API PFN_vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2; +extern VOLK_API PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2; #endif /* defined(VK_VERSION_1_1) */ #if defined(VK_VERSION_1_3) -extern PFN_vkGetPhysicalDeviceToolProperties vkGetPhysicalDeviceToolProperties; +extern VOLK_API PFN_vkGetPhysicalDeviceToolProperties vkGetPhysicalDeviceToolProperties; #endif /* defined(VK_VERSION_1_3) */ #if defined(VK_ARM_data_graph) -extern PFN_vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM; -extern PFN_vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM; +extern VOLK_API PFN_vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM; +extern VOLK_API PFN_vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM; #endif /* defined(VK_ARM_data_graph) */ #if defined(VK_ARM_performance_counters_by_region) -extern PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM; +extern VOLK_API PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM; #endif /* defined(VK_ARM_performance_counters_by_region) */ #if defined(VK_ARM_tensors) -extern PFN_vkGetPhysicalDeviceExternalTensorPropertiesARM vkGetPhysicalDeviceExternalTensorPropertiesARM; +extern VOLK_API PFN_vkGetPhysicalDeviceExternalTensorPropertiesARM vkGetPhysicalDeviceExternalTensorPropertiesARM; #endif /* defined(VK_ARM_tensors) */ #if defined(VK_EXT_acquire_drm_display) -extern PFN_vkAcquireDrmDisplayEXT vkAcquireDrmDisplayEXT; -extern PFN_vkGetDrmDisplayEXT vkGetDrmDisplayEXT; +extern VOLK_API PFN_vkAcquireDrmDisplayEXT vkAcquireDrmDisplayEXT; +extern VOLK_API PFN_vkGetDrmDisplayEXT vkGetDrmDisplayEXT; #endif /* defined(VK_EXT_acquire_drm_display) */ #if defined(VK_EXT_acquire_xlib_display) -extern PFN_vkAcquireXlibDisplayEXT vkAcquireXlibDisplayEXT; -extern PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT; +extern VOLK_API PFN_vkAcquireXlibDisplayEXT vkAcquireXlibDisplayEXT; +extern VOLK_API PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT; #endif /* defined(VK_EXT_acquire_xlib_display) */ #if defined(VK_EXT_calibrated_timestamps) -extern PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT vkGetPhysicalDeviceCalibrateableTimeDomainsEXT; +extern VOLK_API PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT vkGetPhysicalDeviceCalibrateableTimeDomainsEXT; #endif /* defined(VK_EXT_calibrated_timestamps) */ #if defined(VK_EXT_debug_report) -extern PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT; -extern PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT; -extern PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT; +extern VOLK_API PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT; +extern VOLK_API PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT; +extern VOLK_API PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT; #endif /* defined(VK_EXT_debug_report) */ #if defined(VK_EXT_debug_utils) -extern PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT; -extern PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT; -extern PFN_vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT; -extern PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT; -extern PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT; -extern PFN_vkQueueBeginDebugUtilsLabelEXT vkQueueBeginDebugUtilsLabelEXT; -extern PFN_vkQueueEndDebugUtilsLabelEXT vkQueueEndDebugUtilsLabelEXT; -extern PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT; -extern PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT; -extern PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT; -extern PFN_vkSubmitDebugUtilsMessageEXT vkSubmitDebugUtilsMessageEXT; +extern VOLK_API PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT; +extern VOLK_API PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT; +extern VOLK_API PFN_vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT; +extern VOLK_API PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT; +extern VOLK_API PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT; +extern VOLK_API PFN_vkQueueBeginDebugUtilsLabelEXT vkQueueBeginDebugUtilsLabelEXT; +extern VOLK_API PFN_vkQueueEndDebugUtilsLabelEXT vkQueueEndDebugUtilsLabelEXT; +extern VOLK_API PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT; +extern VOLK_API PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT; +extern VOLK_API PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT; +extern VOLK_API PFN_vkSubmitDebugUtilsMessageEXT vkSubmitDebugUtilsMessageEXT; #endif /* defined(VK_EXT_debug_utils) */ #if defined(VK_EXT_direct_mode_display) -extern PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT; +extern VOLK_API PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT; #endif /* defined(VK_EXT_direct_mode_display) */ #if defined(VK_EXT_directfb_surface) -extern PFN_vkCreateDirectFBSurfaceEXT vkCreateDirectFBSurfaceEXT; -extern PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT vkGetPhysicalDeviceDirectFBPresentationSupportEXT; +extern VOLK_API PFN_vkCreateDirectFBSurfaceEXT vkCreateDirectFBSurfaceEXT; +extern VOLK_API PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT vkGetPhysicalDeviceDirectFBPresentationSupportEXT; #endif /* defined(VK_EXT_directfb_surface) */ #if defined(VK_EXT_display_surface_counter) -extern PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT; +extern VOLK_API PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT; #endif /* defined(VK_EXT_display_surface_counter) */ #if defined(VK_EXT_full_screen_exclusive) -extern PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT vkGetPhysicalDeviceSurfacePresentModes2EXT; +extern VOLK_API PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT vkGetPhysicalDeviceSurfacePresentModes2EXT; #endif /* defined(VK_EXT_full_screen_exclusive) */ #if defined(VK_EXT_headless_surface) -extern PFN_vkCreateHeadlessSurfaceEXT vkCreateHeadlessSurfaceEXT; +extern VOLK_API PFN_vkCreateHeadlessSurfaceEXT vkCreateHeadlessSurfaceEXT; #endif /* defined(VK_EXT_headless_surface) */ #if defined(VK_EXT_metal_surface) -extern PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT; +extern VOLK_API PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT; #endif /* defined(VK_EXT_metal_surface) */ #if defined(VK_EXT_sample_locations) -extern PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT vkGetPhysicalDeviceMultisamplePropertiesEXT; +extern VOLK_API PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT vkGetPhysicalDeviceMultisamplePropertiesEXT; #endif /* defined(VK_EXT_sample_locations) */ #if defined(VK_EXT_tooling_info) -extern PFN_vkGetPhysicalDeviceToolPropertiesEXT vkGetPhysicalDeviceToolPropertiesEXT; +extern VOLK_API PFN_vkGetPhysicalDeviceToolPropertiesEXT vkGetPhysicalDeviceToolPropertiesEXT; #endif /* defined(VK_EXT_tooling_info) */ #if defined(VK_FUCHSIA_imagepipe_surface) -extern PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA; +extern VOLK_API PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA; #endif /* defined(VK_FUCHSIA_imagepipe_surface) */ #if defined(VK_GGP_stream_descriptor_surface) -extern PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP; +extern VOLK_API PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP; #endif /* defined(VK_GGP_stream_descriptor_surface) */ #if defined(VK_KHR_android_surface) -extern PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR; +extern VOLK_API PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR; #endif /* defined(VK_KHR_android_surface) */ #if defined(VK_KHR_calibrated_timestamps) -extern PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR vkGetPhysicalDeviceCalibrateableTimeDomainsKHR; +extern VOLK_API PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR vkGetPhysicalDeviceCalibrateableTimeDomainsKHR; #endif /* defined(VK_KHR_calibrated_timestamps) */ #if defined(VK_KHR_cooperative_matrix) -extern PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR; +extern VOLK_API PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR; #endif /* defined(VK_KHR_cooperative_matrix) */ #if defined(VK_KHR_device_group_creation) -extern PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR; +extern VOLK_API PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR; #endif /* defined(VK_KHR_device_group_creation) */ #if defined(VK_KHR_display) -extern PFN_vkCreateDisplayModeKHR vkCreateDisplayModeKHR; -extern PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR; -extern PFN_vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR; -extern PFN_vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR; -extern PFN_vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR; -extern PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR; -extern PFN_vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR; +extern VOLK_API PFN_vkCreateDisplayModeKHR vkCreateDisplayModeKHR; +extern VOLK_API PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR; +extern VOLK_API PFN_vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR; +extern VOLK_API PFN_vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR; +extern VOLK_API PFN_vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR; +extern VOLK_API PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR; +extern VOLK_API PFN_vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR; #endif /* defined(VK_KHR_display) */ #if defined(VK_KHR_external_fence_capabilities) -extern PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR; +extern VOLK_API PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR; #endif /* defined(VK_KHR_external_fence_capabilities) */ #if defined(VK_KHR_external_memory_capabilities) -extern PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR vkGetPhysicalDeviceExternalBufferPropertiesKHR; +extern VOLK_API PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR vkGetPhysicalDeviceExternalBufferPropertiesKHR; #endif /* defined(VK_KHR_external_memory_capabilities) */ #if defined(VK_KHR_external_semaphore_capabilities) -extern PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR vkGetPhysicalDeviceExternalSemaphorePropertiesKHR; +extern VOLK_API PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR vkGetPhysicalDeviceExternalSemaphorePropertiesKHR; #endif /* defined(VK_KHR_external_semaphore_capabilities) */ #if defined(VK_KHR_fragment_shading_rate) -extern PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHR; +extern VOLK_API PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHR; #endif /* defined(VK_KHR_fragment_shading_rate) */ #if defined(VK_KHR_get_display_properties2) -extern PFN_vkGetDisplayModeProperties2KHR vkGetDisplayModeProperties2KHR; -extern PFN_vkGetDisplayPlaneCapabilities2KHR vkGetDisplayPlaneCapabilities2KHR; -extern PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHR; -extern PFN_vkGetPhysicalDeviceDisplayProperties2KHR vkGetPhysicalDeviceDisplayProperties2KHR; +extern VOLK_API PFN_vkGetDisplayModeProperties2KHR vkGetDisplayModeProperties2KHR; +extern VOLK_API PFN_vkGetDisplayPlaneCapabilities2KHR vkGetDisplayPlaneCapabilities2KHR; +extern VOLK_API PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHR; +extern VOLK_API PFN_vkGetPhysicalDeviceDisplayProperties2KHR vkGetPhysicalDeviceDisplayProperties2KHR; #endif /* defined(VK_KHR_get_display_properties2) */ #if defined(VK_KHR_get_physical_device_properties2) -extern PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR; -extern PFN_vkGetPhysicalDeviceFormatProperties2KHR vkGetPhysicalDeviceFormatProperties2KHR; -extern PFN_vkGetPhysicalDeviceImageFormatProperties2KHR vkGetPhysicalDeviceImageFormatProperties2KHR; -extern PFN_vkGetPhysicalDeviceMemoryProperties2KHR vkGetPhysicalDeviceMemoryProperties2KHR; -extern PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR; -extern PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR vkGetPhysicalDeviceQueueFamilyProperties2KHR; -extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR; +extern VOLK_API PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR; +extern VOLK_API PFN_vkGetPhysicalDeviceFormatProperties2KHR vkGetPhysicalDeviceFormatProperties2KHR; +extern VOLK_API PFN_vkGetPhysicalDeviceImageFormatProperties2KHR vkGetPhysicalDeviceImageFormatProperties2KHR; +extern VOLK_API PFN_vkGetPhysicalDeviceMemoryProperties2KHR vkGetPhysicalDeviceMemoryProperties2KHR; +extern VOLK_API PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR; +extern VOLK_API PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR vkGetPhysicalDeviceQueueFamilyProperties2KHR; +extern VOLK_API PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR; #endif /* defined(VK_KHR_get_physical_device_properties2) */ #if defined(VK_KHR_get_surface_capabilities2) -extern PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR; -extern PFN_vkGetPhysicalDeviceSurfaceFormats2KHR vkGetPhysicalDeviceSurfaceFormats2KHR; +extern VOLK_API PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR; +extern VOLK_API PFN_vkGetPhysicalDeviceSurfaceFormats2KHR vkGetPhysicalDeviceSurfaceFormats2KHR; #endif /* defined(VK_KHR_get_surface_capabilities2) */ #if defined(VK_KHR_performance_query) -extern PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR; -extern PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR; +extern VOLK_API PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR; +extern VOLK_API PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR; #endif /* defined(VK_KHR_performance_query) */ #if defined(VK_KHR_surface) -extern PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR; -extern PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR; -extern PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR; -extern PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR; -extern PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR; +extern VOLK_API PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR; +extern VOLK_API PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR; +extern VOLK_API PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR; +extern VOLK_API PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR; +extern VOLK_API PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR; #endif /* defined(VK_KHR_surface) */ #if defined(VK_KHR_video_encode_queue) -extern PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR; +extern VOLK_API PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR; #endif /* defined(VK_KHR_video_encode_queue) */ #if defined(VK_KHR_video_queue) -extern PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR vkGetPhysicalDeviceVideoCapabilitiesKHR; -extern PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR vkGetPhysicalDeviceVideoFormatPropertiesKHR; +extern VOLK_API PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR vkGetPhysicalDeviceVideoCapabilitiesKHR; +extern VOLK_API PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR vkGetPhysicalDeviceVideoFormatPropertiesKHR; #endif /* defined(VK_KHR_video_queue) */ #if defined(VK_KHR_wayland_surface) -extern PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR; -extern PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR; +extern VOLK_API PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR; +extern VOLK_API PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR; #endif /* defined(VK_KHR_wayland_surface) */ #if defined(VK_KHR_win32_surface) -extern PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR; -extern PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR; +extern VOLK_API PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR; +extern VOLK_API PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR; #endif /* defined(VK_KHR_win32_surface) */ #if defined(VK_KHR_xcb_surface) -extern PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR; -extern PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR; +extern VOLK_API PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR; +extern VOLK_API PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR; #endif /* defined(VK_KHR_xcb_surface) */ #if defined(VK_KHR_xlib_surface) -extern PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR; -extern PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR; +extern VOLK_API PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR; +extern VOLK_API PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR; #endif /* defined(VK_KHR_xlib_surface) */ #if defined(VK_MVK_ios_surface) -extern PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK; +extern VOLK_API PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK; #endif /* defined(VK_MVK_ios_surface) */ #if defined(VK_MVK_macos_surface) -extern PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK; +extern VOLK_API PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK; #endif /* defined(VK_MVK_macos_surface) */ #if defined(VK_NN_vi_surface) -extern PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN; +extern VOLK_API PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN; #endif /* defined(VK_NN_vi_surface) */ #if defined(VK_NV_acquire_winrt_display) -extern PFN_vkAcquireWinrtDisplayNV vkAcquireWinrtDisplayNV; -extern PFN_vkGetWinrtDisplayNV vkGetWinrtDisplayNV; +extern VOLK_API PFN_vkAcquireWinrtDisplayNV vkAcquireWinrtDisplayNV; +extern VOLK_API PFN_vkGetWinrtDisplayNV vkGetWinrtDisplayNV; #endif /* defined(VK_NV_acquire_winrt_display) */ #if defined(VK_NV_cooperative_matrix) -extern PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV vkGetPhysicalDeviceCooperativeMatrixPropertiesNV; +extern VOLK_API PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV vkGetPhysicalDeviceCooperativeMatrixPropertiesNV; #endif /* defined(VK_NV_cooperative_matrix) */ #if defined(VK_NV_cooperative_matrix2) -extern PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV; +extern VOLK_API PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV; #endif /* defined(VK_NV_cooperative_matrix2) */ #if defined(VK_NV_cooperative_vector) -extern PFN_vkGetPhysicalDeviceCooperativeVectorPropertiesNV vkGetPhysicalDeviceCooperativeVectorPropertiesNV; +extern VOLK_API PFN_vkGetPhysicalDeviceCooperativeVectorPropertiesNV vkGetPhysicalDeviceCooperativeVectorPropertiesNV; #endif /* defined(VK_NV_cooperative_vector) */ #if defined(VK_NV_coverage_reduction_mode) -extern PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV; +extern VOLK_API PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV; #endif /* defined(VK_NV_coverage_reduction_mode) */ #if defined(VK_NV_external_memory_capabilities) -extern PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNV; +extern VOLK_API PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNV; #endif /* defined(VK_NV_external_memory_capabilities) */ #if defined(VK_NV_optical_flow) -extern PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV vkGetPhysicalDeviceOpticalFlowImageFormatsNV; +extern VOLK_API PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV vkGetPhysicalDeviceOpticalFlowImageFormatsNV; #endif /* defined(VK_NV_optical_flow) */ #if defined(VK_OHOS_surface) -extern PFN_vkCreateSurfaceOHOS vkCreateSurfaceOHOS; +extern VOLK_API PFN_vkCreateSurfaceOHOS vkCreateSurfaceOHOS; #endif /* defined(VK_OHOS_surface) */ #if defined(VK_QNX_screen_surface) -extern PFN_vkCreateScreenSurfaceQNX vkCreateScreenSurfaceQNX; -extern PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX vkGetPhysicalDeviceScreenPresentationSupportQNX; +extern VOLK_API PFN_vkCreateScreenSurfaceQNX vkCreateScreenSurfaceQNX; +extern VOLK_API PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX vkGetPhysicalDeviceScreenPresentationSupportQNX; #endif /* defined(VK_QNX_screen_surface) */ #if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) -extern PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR; +extern VOLK_API PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR; #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */ /* VOLK_GENERATE_PROTOTYPES_H */ #ifndef VOLK_NO_DEVICE_PROTOTYPES /* VOLK_GENERATE_PROTOTYPES_H_DEVICE */ #if defined(VK_VERSION_1_0) -extern PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers; -extern PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets; -extern PFN_vkAllocateMemory vkAllocateMemory; -extern PFN_vkBeginCommandBuffer vkBeginCommandBuffer; -extern PFN_vkBindBufferMemory vkBindBufferMemory; -extern PFN_vkBindImageMemory vkBindImageMemory; -extern PFN_vkCmdBeginQuery vkCmdBeginQuery; -extern PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass; -extern PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets; -extern PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer; -extern PFN_vkCmdBindPipeline vkCmdBindPipeline; -extern PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers; -extern PFN_vkCmdBlitImage vkCmdBlitImage; -extern PFN_vkCmdClearAttachments vkCmdClearAttachments; -extern PFN_vkCmdClearColorImage vkCmdClearColorImage; -extern PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage; -extern PFN_vkCmdCopyBuffer vkCmdCopyBuffer; -extern PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage; -extern PFN_vkCmdCopyImage vkCmdCopyImage; -extern PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer; -extern PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults; -extern PFN_vkCmdDispatch vkCmdDispatch; -extern PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect; -extern PFN_vkCmdDraw vkCmdDraw; -extern PFN_vkCmdDrawIndexed vkCmdDrawIndexed; -extern PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect; -extern PFN_vkCmdDrawIndirect vkCmdDrawIndirect; -extern PFN_vkCmdEndQuery vkCmdEndQuery; -extern PFN_vkCmdEndRenderPass vkCmdEndRenderPass; -extern PFN_vkCmdExecuteCommands vkCmdExecuteCommands; -extern PFN_vkCmdFillBuffer vkCmdFillBuffer; -extern PFN_vkCmdNextSubpass vkCmdNextSubpass; -extern PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier; -extern PFN_vkCmdPushConstants vkCmdPushConstants; -extern PFN_vkCmdResetEvent vkCmdResetEvent; -extern PFN_vkCmdResetQueryPool vkCmdResetQueryPool; -extern PFN_vkCmdResolveImage vkCmdResolveImage; -extern PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants; -extern PFN_vkCmdSetDepthBias vkCmdSetDepthBias; -extern PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds; -extern PFN_vkCmdSetEvent vkCmdSetEvent; -extern PFN_vkCmdSetLineWidth vkCmdSetLineWidth; -extern PFN_vkCmdSetScissor vkCmdSetScissor; -extern PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask; -extern PFN_vkCmdSetStencilReference vkCmdSetStencilReference; -extern PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask; -extern PFN_vkCmdSetViewport vkCmdSetViewport; -extern PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer; -extern PFN_vkCmdWaitEvents vkCmdWaitEvents; -extern PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp; -extern PFN_vkCreateBuffer vkCreateBuffer; -extern PFN_vkCreateBufferView vkCreateBufferView; -extern PFN_vkCreateCommandPool vkCreateCommandPool; -extern PFN_vkCreateComputePipelines vkCreateComputePipelines; -extern PFN_vkCreateDescriptorPool vkCreateDescriptorPool; -extern PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout; -extern PFN_vkCreateEvent vkCreateEvent; -extern PFN_vkCreateFence vkCreateFence; -extern PFN_vkCreateFramebuffer vkCreateFramebuffer; -extern PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines; -extern PFN_vkCreateImage vkCreateImage; -extern PFN_vkCreateImageView vkCreateImageView; -extern PFN_vkCreatePipelineCache vkCreatePipelineCache; -extern PFN_vkCreatePipelineLayout vkCreatePipelineLayout; -extern PFN_vkCreateQueryPool vkCreateQueryPool; -extern PFN_vkCreateRenderPass vkCreateRenderPass; -extern PFN_vkCreateSampler vkCreateSampler; -extern PFN_vkCreateSemaphore vkCreateSemaphore; -extern PFN_vkCreateShaderModule vkCreateShaderModule; -extern PFN_vkDestroyBuffer vkDestroyBuffer; -extern PFN_vkDestroyBufferView vkDestroyBufferView; -extern PFN_vkDestroyCommandPool vkDestroyCommandPool; -extern PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool; -extern PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout; -extern PFN_vkDestroyDevice vkDestroyDevice; -extern PFN_vkDestroyEvent vkDestroyEvent; -extern PFN_vkDestroyFence vkDestroyFence; -extern PFN_vkDestroyFramebuffer vkDestroyFramebuffer; -extern PFN_vkDestroyImage vkDestroyImage; -extern PFN_vkDestroyImageView vkDestroyImageView; -extern PFN_vkDestroyPipeline vkDestroyPipeline; -extern PFN_vkDestroyPipelineCache vkDestroyPipelineCache; -extern PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout; -extern PFN_vkDestroyQueryPool vkDestroyQueryPool; -extern PFN_vkDestroyRenderPass vkDestroyRenderPass; -extern PFN_vkDestroySampler vkDestroySampler; -extern PFN_vkDestroySemaphore vkDestroySemaphore; -extern PFN_vkDestroyShaderModule vkDestroyShaderModule; -extern PFN_vkDeviceWaitIdle vkDeviceWaitIdle; -extern PFN_vkEndCommandBuffer vkEndCommandBuffer; -extern PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges; -extern PFN_vkFreeCommandBuffers vkFreeCommandBuffers; -extern PFN_vkFreeDescriptorSets vkFreeDescriptorSets; -extern PFN_vkFreeMemory vkFreeMemory; -extern PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements; -extern PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment; -extern PFN_vkGetDeviceQueue vkGetDeviceQueue; -extern PFN_vkGetEventStatus vkGetEventStatus; -extern PFN_vkGetFenceStatus vkGetFenceStatus; -extern PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements; -extern PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements; -extern PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout; -extern PFN_vkGetPipelineCacheData vkGetPipelineCacheData; -extern PFN_vkGetQueryPoolResults vkGetQueryPoolResults; -extern PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity; -extern PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges; -extern PFN_vkMapMemory vkMapMemory; -extern PFN_vkMergePipelineCaches vkMergePipelineCaches; -extern PFN_vkQueueBindSparse vkQueueBindSparse; -extern PFN_vkQueueSubmit vkQueueSubmit; -extern PFN_vkQueueWaitIdle vkQueueWaitIdle; -extern PFN_vkResetCommandBuffer vkResetCommandBuffer; -extern PFN_vkResetCommandPool vkResetCommandPool; -extern PFN_vkResetDescriptorPool vkResetDescriptorPool; -extern PFN_vkResetEvent vkResetEvent; -extern PFN_vkResetFences vkResetFences; -extern PFN_vkSetEvent vkSetEvent; -extern PFN_vkUnmapMemory vkUnmapMemory; -extern PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets; -extern PFN_vkWaitForFences vkWaitForFences; +extern VOLK_API PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers; +extern VOLK_API PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets; +extern VOLK_API PFN_vkAllocateMemory vkAllocateMemory; +extern VOLK_API PFN_vkBeginCommandBuffer vkBeginCommandBuffer; +extern VOLK_API PFN_vkBindBufferMemory vkBindBufferMemory; +extern VOLK_API PFN_vkBindImageMemory vkBindImageMemory; +extern VOLK_API PFN_vkCmdBeginQuery vkCmdBeginQuery; +extern VOLK_API PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass; +extern VOLK_API PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets; +extern VOLK_API PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer; +extern VOLK_API PFN_vkCmdBindPipeline vkCmdBindPipeline; +extern VOLK_API PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers; +extern VOLK_API PFN_vkCmdBlitImage vkCmdBlitImage; +extern VOLK_API PFN_vkCmdClearAttachments vkCmdClearAttachments; +extern VOLK_API PFN_vkCmdClearColorImage vkCmdClearColorImage; +extern VOLK_API PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage; +extern VOLK_API PFN_vkCmdCopyBuffer vkCmdCopyBuffer; +extern VOLK_API PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage; +extern VOLK_API PFN_vkCmdCopyImage vkCmdCopyImage; +extern VOLK_API PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer; +extern VOLK_API PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults; +extern VOLK_API PFN_vkCmdDispatch vkCmdDispatch; +extern VOLK_API PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect; +extern VOLK_API PFN_vkCmdDraw vkCmdDraw; +extern VOLK_API PFN_vkCmdDrawIndexed vkCmdDrawIndexed; +extern VOLK_API PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect; +extern VOLK_API PFN_vkCmdDrawIndirect vkCmdDrawIndirect; +extern VOLK_API PFN_vkCmdEndQuery vkCmdEndQuery; +extern VOLK_API PFN_vkCmdEndRenderPass vkCmdEndRenderPass; +extern VOLK_API PFN_vkCmdExecuteCommands vkCmdExecuteCommands; +extern VOLK_API PFN_vkCmdFillBuffer vkCmdFillBuffer; +extern VOLK_API PFN_vkCmdNextSubpass vkCmdNextSubpass; +extern VOLK_API PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier; +extern VOLK_API PFN_vkCmdPushConstants vkCmdPushConstants; +extern VOLK_API PFN_vkCmdResetEvent vkCmdResetEvent; +extern VOLK_API PFN_vkCmdResetQueryPool vkCmdResetQueryPool; +extern VOLK_API PFN_vkCmdResolveImage vkCmdResolveImage; +extern VOLK_API PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants; +extern VOLK_API PFN_vkCmdSetDepthBias vkCmdSetDepthBias; +extern VOLK_API PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds; +extern VOLK_API PFN_vkCmdSetEvent vkCmdSetEvent; +extern VOLK_API PFN_vkCmdSetLineWidth vkCmdSetLineWidth; +extern VOLK_API PFN_vkCmdSetScissor vkCmdSetScissor; +extern VOLK_API PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask; +extern VOLK_API PFN_vkCmdSetStencilReference vkCmdSetStencilReference; +extern VOLK_API PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask; +extern VOLK_API PFN_vkCmdSetViewport vkCmdSetViewport; +extern VOLK_API PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer; +extern VOLK_API PFN_vkCmdWaitEvents vkCmdWaitEvents; +extern VOLK_API PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp; +extern VOLK_API PFN_vkCreateBuffer vkCreateBuffer; +extern VOLK_API PFN_vkCreateBufferView vkCreateBufferView; +extern VOLK_API PFN_vkCreateCommandPool vkCreateCommandPool; +extern VOLK_API PFN_vkCreateComputePipelines vkCreateComputePipelines; +extern VOLK_API PFN_vkCreateDescriptorPool vkCreateDescriptorPool; +extern VOLK_API PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout; +extern VOLK_API PFN_vkCreateEvent vkCreateEvent; +extern VOLK_API PFN_vkCreateFence vkCreateFence; +extern VOLK_API PFN_vkCreateFramebuffer vkCreateFramebuffer; +extern VOLK_API PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines; +extern VOLK_API PFN_vkCreateImage vkCreateImage; +extern VOLK_API PFN_vkCreateImageView vkCreateImageView; +extern VOLK_API PFN_vkCreatePipelineCache vkCreatePipelineCache; +extern VOLK_API PFN_vkCreatePipelineLayout vkCreatePipelineLayout; +extern VOLK_API PFN_vkCreateQueryPool vkCreateQueryPool; +extern VOLK_API PFN_vkCreateRenderPass vkCreateRenderPass; +extern VOLK_API PFN_vkCreateSampler vkCreateSampler; +extern VOLK_API PFN_vkCreateSemaphore vkCreateSemaphore; +extern VOLK_API PFN_vkCreateShaderModule vkCreateShaderModule; +extern VOLK_API PFN_vkDestroyBuffer vkDestroyBuffer; +extern VOLK_API PFN_vkDestroyBufferView vkDestroyBufferView; +extern VOLK_API PFN_vkDestroyCommandPool vkDestroyCommandPool; +extern VOLK_API PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool; +extern VOLK_API PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout; +extern VOLK_API PFN_vkDestroyDevice vkDestroyDevice; +extern VOLK_API PFN_vkDestroyEvent vkDestroyEvent; +extern VOLK_API PFN_vkDestroyFence vkDestroyFence; +extern VOLK_API PFN_vkDestroyFramebuffer vkDestroyFramebuffer; +extern VOLK_API PFN_vkDestroyImage vkDestroyImage; +extern VOLK_API PFN_vkDestroyImageView vkDestroyImageView; +extern VOLK_API PFN_vkDestroyPipeline vkDestroyPipeline; +extern VOLK_API PFN_vkDestroyPipelineCache vkDestroyPipelineCache; +extern VOLK_API PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout; +extern VOLK_API PFN_vkDestroyQueryPool vkDestroyQueryPool; +extern VOLK_API PFN_vkDestroyRenderPass vkDestroyRenderPass; +extern VOLK_API PFN_vkDestroySampler vkDestroySampler; +extern VOLK_API PFN_vkDestroySemaphore vkDestroySemaphore; +extern VOLK_API PFN_vkDestroyShaderModule vkDestroyShaderModule; +extern VOLK_API PFN_vkDeviceWaitIdle vkDeviceWaitIdle; +extern VOLK_API PFN_vkEndCommandBuffer vkEndCommandBuffer; +extern VOLK_API PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges; +extern VOLK_API PFN_vkFreeCommandBuffers vkFreeCommandBuffers; +extern VOLK_API PFN_vkFreeDescriptorSets vkFreeDescriptorSets; +extern VOLK_API PFN_vkFreeMemory vkFreeMemory; +extern VOLK_API PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements; +extern VOLK_API PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment; +extern VOLK_API PFN_vkGetDeviceQueue vkGetDeviceQueue; +extern VOLK_API PFN_vkGetEventStatus vkGetEventStatus; +extern VOLK_API PFN_vkGetFenceStatus vkGetFenceStatus; +extern VOLK_API PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements; +extern VOLK_API PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements; +extern VOLK_API PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout; +extern VOLK_API PFN_vkGetPipelineCacheData vkGetPipelineCacheData; +extern VOLK_API PFN_vkGetQueryPoolResults vkGetQueryPoolResults; +extern VOLK_API PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity; +extern VOLK_API PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges; +extern VOLK_API PFN_vkMapMemory vkMapMemory; +extern VOLK_API PFN_vkMergePipelineCaches vkMergePipelineCaches; +extern VOLK_API PFN_vkQueueBindSparse vkQueueBindSparse; +extern VOLK_API PFN_vkQueueSubmit vkQueueSubmit; +extern VOLK_API PFN_vkQueueWaitIdle vkQueueWaitIdle; +extern VOLK_API PFN_vkResetCommandBuffer vkResetCommandBuffer; +extern VOLK_API PFN_vkResetCommandPool vkResetCommandPool; +extern VOLK_API PFN_vkResetDescriptorPool vkResetDescriptorPool; +extern VOLK_API PFN_vkResetEvent vkResetEvent; +extern VOLK_API PFN_vkResetFences vkResetFences; +extern VOLK_API PFN_vkSetEvent vkSetEvent; +extern VOLK_API PFN_vkUnmapMemory vkUnmapMemory; +extern VOLK_API PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets; +extern VOLK_API PFN_vkWaitForFences vkWaitForFences; #endif /* defined(VK_VERSION_1_0) */ #if defined(VK_VERSION_1_1) -extern PFN_vkBindBufferMemory2 vkBindBufferMemory2; -extern PFN_vkBindImageMemory2 vkBindImageMemory2; -extern PFN_vkCmdDispatchBase vkCmdDispatchBase; -extern PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask; -extern PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate; -extern PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion; -extern PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate; -extern PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion; -extern PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2; -extern PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport; -extern PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures; -extern PFN_vkGetDeviceQueue2 vkGetDeviceQueue2; -extern PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2; -extern PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2; -extern PFN_vkTrimCommandPool vkTrimCommandPool; -extern PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate; +extern VOLK_API PFN_vkBindBufferMemory2 vkBindBufferMemory2; +extern VOLK_API PFN_vkBindImageMemory2 vkBindImageMemory2; +extern VOLK_API PFN_vkCmdDispatchBase vkCmdDispatchBase; +extern VOLK_API PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask; +extern VOLK_API PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate; +extern VOLK_API PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion; +extern VOLK_API PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate; +extern VOLK_API PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion; +extern VOLK_API PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2; +extern VOLK_API PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport; +extern VOLK_API PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures; +extern VOLK_API PFN_vkGetDeviceQueue2 vkGetDeviceQueue2; +extern VOLK_API PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2; +extern VOLK_API PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2; +extern VOLK_API PFN_vkTrimCommandPool vkTrimCommandPool; +extern VOLK_API PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate; #endif /* defined(VK_VERSION_1_1) */ #if defined(VK_VERSION_1_2) -extern PFN_vkCmdBeginRenderPass2 vkCmdBeginRenderPass2; -extern PFN_vkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCount; -extern PFN_vkCmdDrawIndirectCount vkCmdDrawIndirectCount; -extern PFN_vkCmdEndRenderPass2 vkCmdEndRenderPass2; -extern PFN_vkCmdNextSubpass2 vkCmdNextSubpass2; -extern PFN_vkCreateRenderPass2 vkCreateRenderPass2; -extern PFN_vkGetBufferDeviceAddress vkGetBufferDeviceAddress; -extern PFN_vkGetBufferOpaqueCaptureAddress vkGetBufferOpaqueCaptureAddress; -extern PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress; -extern PFN_vkGetSemaphoreCounterValue vkGetSemaphoreCounterValue; -extern PFN_vkResetQueryPool vkResetQueryPool; -extern PFN_vkSignalSemaphore vkSignalSemaphore; -extern PFN_vkWaitSemaphores vkWaitSemaphores; +extern VOLK_API PFN_vkCmdBeginRenderPass2 vkCmdBeginRenderPass2; +extern VOLK_API PFN_vkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCount; +extern VOLK_API PFN_vkCmdDrawIndirectCount vkCmdDrawIndirectCount; +extern VOLK_API PFN_vkCmdEndRenderPass2 vkCmdEndRenderPass2; +extern VOLK_API PFN_vkCmdNextSubpass2 vkCmdNextSubpass2; +extern VOLK_API PFN_vkCreateRenderPass2 vkCreateRenderPass2; +extern VOLK_API PFN_vkGetBufferDeviceAddress vkGetBufferDeviceAddress; +extern VOLK_API PFN_vkGetBufferOpaqueCaptureAddress vkGetBufferOpaqueCaptureAddress; +extern VOLK_API PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress; +extern VOLK_API PFN_vkGetSemaphoreCounterValue vkGetSemaphoreCounterValue; +extern VOLK_API PFN_vkResetQueryPool vkResetQueryPool; +extern VOLK_API PFN_vkSignalSemaphore vkSignalSemaphore; +extern VOLK_API PFN_vkWaitSemaphores vkWaitSemaphores; #endif /* defined(VK_VERSION_1_2) */ #if defined(VK_VERSION_1_3) -extern PFN_vkCmdBeginRendering vkCmdBeginRendering; -extern PFN_vkCmdBindVertexBuffers2 vkCmdBindVertexBuffers2; -extern PFN_vkCmdBlitImage2 vkCmdBlitImage2; -extern PFN_vkCmdCopyBuffer2 vkCmdCopyBuffer2; -extern PFN_vkCmdCopyBufferToImage2 vkCmdCopyBufferToImage2; -extern PFN_vkCmdCopyImage2 vkCmdCopyImage2; -extern PFN_vkCmdCopyImageToBuffer2 vkCmdCopyImageToBuffer2; -extern PFN_vkCmdEndRendering vkCmdEndRendering; -extern PFN_vkCmdPipelineBarrier2 vkCmdPipelineBarrier2; -extern PFN_vkCmdResetEvent2 vkCmdResetEvent2; -extern PFN_vkCmdResolveImage2 vkCmdResolveImage2; -extern PFN_vkCmdSetCullMode vkCmdSetCullMode; -extern PFN_vkCmdSetDepthBiasEnable vkCmdSetDepthBiasEnable; -extern PFN_vkCmdSetDepthBoundsTestEnable vkCmdSetDepthBoundsTestEnable; -extern PFN_vkCmdSetDepthCompareOp vkCmdSetDepthCompareOp; -extern PFN_vkCmdSetDepthTestEnable vkCmdSetDepthTestEnable; -extern PFN_vkCmdSetDepthWriteEnable vkCmdSetDepthWriteEnable; -extern PFN_vkCmdSetEvent2 vkCmdSetEvent2; -extern PFN_vkCmdSetFrontFace vkCmdSetFrontFace; -extern PFN_vkCmdSetPrimitiveRestartEnable vkCmdSetPrimitiveRestartEnable; -extern PFN_vkCmdSetPrimitiveTopology vkCmdSetPrimitiveTopology; -extern PFN_vkCmdSetRasterizerDiscardEnable vkCmdSetRasterizerDiscardEnable; -extern PFN_vkCmdSetScissorWithCount vkCmdSetScissorWithCount; -extern PFN_vkCmdSetStencilOp vkCmdSetStencilOp; -extern PFN_vkCmdSetStencilTestEnable vkCmdSetStencilTestEnable; -extern PFN_vkCmdSetViewportWithCount vkCmdSetViewportWithCount; -extern PFN_vkCmdWaitEvents2 vkCmdWaitEvents2; -extern PFN_vkCmdWriteTimestamp2 vkCmdWriteTimestamp2; -extern PFN_vkCreatePrivateDataSlot vkCreatePrivateDataSlot; -extern PFN_vkDestroyPrivateDataSlot vkDestroyPrivateDataSlot; -extern PFN_vkGetDeviceBufferMemoryRequirements vkGetDeviceBufferMemoryRequirements; -extern PFN_vkGetDeviceImageMemoryRequirements vkGetDeviceImageMemoryRequirements; -extern PFN_vkGetDeviceImageSparseMemoryRequirements vkGetDeviceImageSparseMemoryRequirements; -extern PFN_vkGetPrivateData vkGetPrivateData; -extern PFN_vkQueueSubmit2 vkQueueSubmit2; -extern PFN_vkSetPrivateData vkSetPrivateData; +extern VOLK_API PFN_vkCmdBeginRendering vkCmdBeginRendering; +extern VOLK_API PFN_vkCmdBindVertexBuffers2 vkCmdBindVertexBuffers2; +extern VOLK_API PFN_vkCmdBlitImage2 vkCmdBlitImage2; +extern VOLK_API PFN_vkCmdCopyBuffer2 vkCmdCopyBuffer2; +extern VOLK_API PFN_vkCmdCopyBufferToImage2 vkCmdCopyBufferToImage2; +extern VOLK_API PFN_vkCmdCopyImage2 vkCmdCopyImage2; +extern VOLK_API PFN_vkCmdCopyImageToBuffer2 vkCmdCopyImageToBuffer2; +extern VOLK_API PFN_vkCmdEndRendering vkCmdEndRendering; +extern VOLK_API PFN_vkCmdPipelineBarrier2 vkCmdPipelineBarrier2; +extern VOLK_API PFN_vkCmdResetEvent2 vkCmdResetEvent2; +extern VOLK_API PFN_vkCmdResolveImage2 vkCmdResolveImage2; +extern VOLK_API PFN_vkCmdSetCullMode vkCmdSetCullMode; +extern VOLK_API PFN_vkCmdSetDepthBiasEnable vkCmdSetDepthBiasEnable; +extern VOLK_API PFN_vkCmdSetDepthBoundsTestEnable vkCmdSetDepthBoundsTestEnable; +extern VOLK_API PFN_vkCmdSetDepthCompareOp vkCmdSetDepthCompareOp; +extern VOLK_API PFN_vkCmdSetDepthTestEnable vkCmdSetDepthTestEnable; +extern VOLK_API PFN_vkCmdSetDepthWriteEnable vkCmdSetDepthWriteEnable; +extern VOLK_API PFN_vkCmdSetEvent2 vkCmdSetEvent2; +extern VOLK_API PFN_vkCmdSetFrontFace vkCmdSetFrontFace; +extern VOLK_API PFN_vkCmdSetPrimitiveRestartEnable vkCmdSetPrimitiveRestartEnable; +extern VOLK_API PFN_vkCmdSetPrimitiveTopology vkCmdSetPrimitiveTopology; +extern VOLK_API PFN_vkCmdSetRasterizerDiscardEnable vkCmdSetRasterizerDiscardEnable; +extern VOLK_API PFN_vkCmdSetScissorWithCount vkCmdSetScissorWithCount; +extern VOLK_API PFN_vkCmdSetStencilOp vkCmdSetStencilOp; +extern VOLK_API PFN_vkCmdSetStencilTestEnable vkCmdSetStencilTestEnable; +extern VOLK_API PFN_vkCmdSetViewportWithCount vkCmdSetViewportWithCount; +extern VOLK_API PFN_vkCmdWaitEvents2 vkCmdWaitEvents2; +extern VOLK_API PFN_vkCmdWriteTimestamp2 vkCmdWriteTimestamp2; +extern VOLK_API PFN_vkCreatePrivateDataSlot vkCreatePrivateDataSlot; +extern VOLK_API PFN_vkDestroyPrivateDataSlot vkDestroyPrivateDataSlot; +extern VOLK_API PFN_vkGetDeviceBufferMemoryRequirements vkGetDeviceBufferMemoryRequirements; +extern VOLK_API PFN_vkGetDeviceImageMemoryRequirements vkGetDeviceImageMemoryRequirements; +extern VOLK_API PFN_vkGetDeviceImageSparseMemoryRequirements vkGetDeviceImageSparseMemoryRequirements; +extern VOLK_API PFN_vkGetPrivateData vkGetPrivateData; +extern VOLK_API PFN_vkQueueSubmit2 vkQueueSubmit2; +extern VOLK_API PFN_vkSetPrivateData vkSetPrivateData; #endif /* defined(VK_VERSION_1_3) */ #if defined(VK_VERSION_1_4) -extern PFN_vkCmdBindDescriptorSets2 vkCmdBindDescriptorSets2; -extern PFN_vkCmdBindIndexBuffer2 vkCmdBindIndexBuffer2; -extern PFN_vkCmdPushConstants2 vkCmdPushConstants2; -extern PFN_vkCmdPushDescriptorSet vkCmdPushDescriptorSet; -extern PFN_vkCmdPushDescriptorSet2 vkCmdPushDescriptorSet2; -extern PFN_vkCmdPushDescriptorSetWithTemplate vkCmdPushDescriptorSetWithTemplate; -extern PFN_vkCmdPushDescriptorSetWithTemplate2 vkCmdPushDescriptorSetWithTemplate2; -extern PFN_vkCmdSetLineStipple vkCmdSetLineStipple; -extern PFN_vkCmdSetRenderingAttachmentLocations vkCmdSetRenderingAttachmentLocations; -extern PFN_vkCmdSetRenderingInputAttachmentIndices vkCmdSetRenderingInputAttachmentIndices; -extern PFN_vkCopyImageToImage vkCopyImageToImage; -extern PFN_vkCopyImageToMemory vkCopyImageToMemory; -extern PFN_vkCopyMemoryToImage vkCopyMemoryToImage; -extern PFN_vkGetDeviceImageSubresourceLayout vkGetDeviceImageSubresourceLayout; -extern PFN_vkGetImageSubresourceLayout2 vkGetImageSubresourceLayout2; -extern PFN_vkGetRenderingAreaGranularity vkGetRenderingAreaGranularity; -extern PFN_vkMapMemory2 vkMapMemory2; -extern PFN_vkTransitionImageLayout vkTransitionImageLayout; -extern PFN_vkUnmapMemory2 vkUnmapMemory2; +extern VOLK_API PFN_vkCmdBindDescriptorSets2 vkCmdBindDescriptorSets2; +extern VOLK_API PFN_vkCmdBindIndexBuffer2 vkCmdBindIndexBuffer2; +extern VOLK_API PFN_vkCmdPushConstants2 vkCmdPushConstants2; +extern VOLK_API PFN_vkCmdPushDescriptorSet vkCmdPushDescriptorSet; +extern VOLK_API PFN_vkCmdPushDescriptorSet2 vkCmdPushDescriptorSet2; +extern VOLK_API PFN_vkCmdPushDescriptorSetWithTemplate vkCmdPushDescriptorSetWithTemplate; +extern VOLK_API PFN_vkCmdPushDescriptorSetWithTemplate2 vkCmdPushDescriptorSetWithTemplate2; +extern VOLK_API PFN_vkCmdSetLineStipple vkCmdSetLineStipple; +extern VOLK_API PFN_vkCmdSetRenderingAttachmentLocations vkCmdSetRenderingAttachmentLocations; +extern VOLK_API PFN_vkCmdSetRenderingInputAttachmentIndices vkCmdSetRenderingInputAttachmentIndices; +extern VOLK_API PFN_vkCopyImageToImage vkCopyImageToImage; +extern VOLK_API PFN_vkCopyImageToMemory vkCopyImageToMemory; +extern VOLK_API PFN_vkCopyMemoryToImage vkCopyMemoryToImage; +extern VOLK_API PFN_vkGetDeviceImageSubresourceLayout vkGetDeviceImageSubresourceLayout; +extern VOLK_API PFN_vkGetImageSubresourceLayout2 vkGetImageSubresourceLayout2; +extern VOLK_API PFN_vkGetRenderingAreaGranularity vkGetRenderingAreaGranularity; +extern VOLK_API PFN_vkMapMemory2 vkMapMemory2; +extern VOLK_API PFN_vkTransitionImageLayout vkTransitionImageLayout; +extern VOLK_API PFN_vkUnmapMemory2 vkUnmapMemory2; #endif /* defined(VK_VERSION_1_4) */ #if defined(VK_AMDX_shader_enqueue) -extern PFN_vkCmdDispatchGraphAMDX vkCmdDispatchGraphAMDX; -extern PFN_vkCmdDispatchGraphIndirectAMDX vkCmdDispatchGraphIndirectAMDX; -extern PFN_vkCmdDispatchGraphIndirectCountAMDX vkCmdDispatchGraphIndirectCountAMDX; -extern PFN_vkCmdInitializeGraphScratchMemoryAMDX vkCmdInitializeGraphScratchMemoryAMDX; -extern PFN_vkCreateExecutionGraphPipelinesAMDX vkCreateExecutionGraphPipelinesAMDX; -extern PFN_vkGetExecutionGraphPipelineNodeIndexAMDX vkGetExecutionGraphPipelineNodeIndexAMDX; -extern PFN_vkGetExecutionGraphPipelineScratchSizeAMDX vkGetExecutionGraphPipelineScratchSizeAMDX; +extern VOLK_API PFN_vkCmdDispatchGraphAMDX vkCmdDispatchGraphAMDX; +extern VOLK_API PFN_vkCmdDispatchGraphIndirectAMDX vkCmdDispatchGraphIndirectAMDX; +extern VOLK_API PFN_vkCmdDispatchGraphIndirectCountAMDX vkCmdDispatchGraphIndirectCountAMDX; +extern VOLK_API PFN_vkCmdInitializeGraphScratchMemoryAMDX vkCmdInitializeGraphScratchMemoryAMDX; +extern VOLK_API PFN_vkCreateExecutionGraphPipelinesAMDX vkCreateExecutionGraphPipelinesAMDX; +extern VOLK_API PFN_vkGetExecutionGraphPipelineNodeIndexAMDX vkGetExecutionGraphPipelineNodeIndexAMDX; +extern VOLK_API PFN_vkGetExecutionGraphPipelineScratchSizeAMDX vkGetExecutionGraphPipelineScratchSizeAMDX; #endif /* defined(VK_AMDX_shader_enqueue) */ #if defined(VK_AMD_anti_lag) -extern PFN_vkAntiLagUpdateAMD vkAntiLagUpdateAMD; +extern VOLK_API PFN_vkAntiLagUpdateAMD vkAntiLagUpdateAMD; #endif /* defined(VK_AMD_anti_lag) */ #if defined(VK_AMD_buffer_marker) -extern PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD; +extern VOLK_API PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD; #endif /* defined(VK_AMD_buffer_marker) */ #if defined(VK_AMD_buffer_marker) && (defined(VK_VERSION_1_3) || defined(VK_KHR_synchronization2)) -extern PFN_vkCmdWriteBufferMarker2AMD vkCmdWriteBufferMarker2AMD; +extern VOLK_API PFN_vkCmdWriteBufferMarker2AMD vkCmdWriteBufferMarker2AMD; #endif /* defined(VK_AMD_buffer_marker) && (defined(VK_VERSION_1_3) || defined(VK_KHR_synchronization2)) */ #if defined(VK_AMD_display_native_hdr) -extern PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD; +extern VOLK_API PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD; #endif /* defined(VK_AMD_display_native_hdr) */ #if defined(VK_AMD_draw_indirect_count) -extern PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD; -extern PFN_vkCmdDrawIndirectCountAMD vkCmdDrawIndirectCountAMD; +extern VOLK_API PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD; +extern VOLK_API PFN_vkCmdDrawIndirectCountAMD vkCmdDrawIndirectCountAMD; #endif /* defined(VK_AMD_draw_indirect_count) */ #if defined(VK_AMD_shader_info) -extern PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD; +extern VOLK_API PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD; #endif /* defined(VK_AMD_shader_info) */ #if defined(VK_ANDROID_external_memory_android_hardware_buffer) -extern PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID; -extern PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID; +extern VOLK_API PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID; +extern VOLK_API PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID; #endif /* defined(VK_ANDROID_external_memory_android_hardware_buffer) */ #if defined(VK_ARM_data_graph) -extern PFN_vkBindDataGraphPipelineSessionMemoryARM vkBindDataGraphPipelineSessionMemoryARM; -extern PFN_vkCmdDispatchDataGraphARM vkCmdDispatchDataGraphARM; -extern PFN_vkCreateDataGraphPipelineSessionARM vkCreateDataGraphPipelineSessionARM; -extern PFN_vkCreateDataGraphPipelinesARM vkCreateDataGraphPipelinesARM; -extern PFN_vkDestroyDataGraphPipelineSessionARM vkDestroyDataGraphPipelineSessionARM; -extern PFN_vkGetDataGraphPipelineAvailablePropertiesARM vkGetDataGraphPipelineAvailablePropertiesARM; -extern PFN_vkGetDataGraphPipelinePropertiesARM vkGetDataGraphPipelinePropertiesARM; -extern PFN_vkGetDataGraphPipelineSessionBindPointRequirementsARM vkGetDataGraphPipelineSessionBindPointRequirementsARM; -extern PFN_vkGetDataGraphPipelineSessionMemoryRequirementsARM vkGetDataGraphPipelineSessionMemoryRequirementsARM; +extern VOLK_API PFN_vkBindDataGraphPipelineSessionMemoryARM vkBindDataGraphPipelineSessionMemoryARM; +extern VOLK_API PFN_vkCmdDispatchDataGraphARM vkCmdDispatchDataGraphARM; +extern VOLK_API PFN_vkCreateDataGraphPipelineSessionARM vkCreateDataGraphPipelineSessionARM; +extern VOLK_API PFN_vkCreateDataGraphPipelinesARM vkCreateDataGraphPipelinesARM; +extern VOLK_API PFN_vkDestroyDataGraphPipelineSessionARM vkDestroyDataGraphPipelineSessionARM; +extern VOLK_API PFN_vkGetDataGraphPipelineAvailablePropertiesARM vkGetDataGraphPipelineAvailablePropertiesARM; +extern VOLK_API PFN_vkGetDataGraphPipelinePropertiesARM vkGetDataGraphPipelinePropertiesARM; +extern VOLK_API PFN_vkGetDataGraphPipelineSessionBindPointRequirementsARM vkGetDataGraphPipelineSessionBindPointRequirementsARM; +extern VOLK_API PFN_vkGetDataGraphPipelineSessionMemoryRequirementsARM vkGetDataGraphPipelineSessionMemoryRequirementsARM; #endif /* defined(VK_ARM_data_graph) */ #if defined(VK_ARM_tensors) -extern PFN_vkBindTensorMemoryARM vkBindTensorMemoryARM; -extern PFN_vkCmdCopyTensorARM vkCmdCopyTensorARM; -extern PFN_vkCreateTensorARM vkCreateTensorARM; -extern PFN_vkCreateTensorViewARM vkCreateTensorViewARM; -extern PFN_vkDestroyTensorARM vkDestroyTensorARM; -extern PFN_vkDestroyTensorViewARM vkDestroyTensorViewARM; -extern PFN_vkGetDeviceTensorMemoryRequirementsARM vkGetDeviceTensorMemoryRequirementsARM; -extern PFN_vkGetTensorMemoryRequirementsARM vkGetTensorMemoryRequirementsARM; +extern VOLK_API PFN_vkBindTensorMemoryARM vkBindTensorMemoryARM; +extern VOLK_API PFN_vkCmdCopyTensorARM vkCmdCopyTensorARM; +extern VOLK_API PFN_vkCreateTensorARM vkCreateTensorARM; +extern VOLK_API PFN_vkCreateTensorViewARM vkCreateTensorViewARM; +extern VOLK_API PFN_vkDestroyTensorARM vkDestroyTensorARM; +extern VOLK_API PFN_vkDestroyTensorViewARM vkDestroyTensorViewARM; +extern VOLK_API PFN_vkGetDeviceTensorMemoryRequirementsARM vkGetDeviceTensorMemoryRequirementsARM; +extern VOLK_API PFN_vkGetTensorMemoryRequirementsARM vkGetTensorMemoryRequirementsARM; #endif /* defined(VK_ARM_tensors) */ #if defined(VK_ARM_tensors) && defined(VK_EXT_descriptor_buffer) -extern PFN_vkGetTensorOpaqueCaptureDescriptorDataARM vkGetTensorOpaqueCaptureDescriptorDataARM; -extern PFN_vkGetTensorViewOpaqueCaptureDescriptorDataARM vkGetTensorViewOpaqueCaptureDescriptorDataARM; +extern VOLK_API PFN_vkGetTensorOpaqueCaptureDescriptorDataARM vkGetTensorOpaqueCaptureDescriptorDataARM; +extern VOLK_API PFN_vkGetTensorViewOpaqueCaptureDescriptorDataARM vkGetTensorViewOpaqueCaptureDescriptorDataARM; #endif /* defined(VK_ARM_tensors) && defined(VK_EXT_descriptor_buffer) */ #if defined(VK_EXT_attachment_feedback_loop_dynamic_state) -extern PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT vkCmdSetAttachmentFeedbackLoopEnableEXT; +extern VOLK_API PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT vkCmdSetAttachmentFeedbackLoopEnableEXT; #endif /* defined(VK_EXT_attachment_feedback_loop_dynamic_state) */ #if defined(VK_EXT_buffer_device_address) -extern PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT; +extern VOLK_API PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT; #endif /* defined(VK_EXT_buffer_device_address) */ #if defined(VK_EXT_calibrated_timestamps) -extern PFN_vkGetCalibratedTimestampsEXT vkGetCalibratedTimestampsEXT; +extern VOLK_API PFN_vkGetCalibratedTimestampsEXT vkGetCalibratedTimestampsEXT; #endif /* defined(VK_EXT_calibrated_timestamps) */ #if defined(VK_EXT_color_write_enable) -extern PFN_vkCmdSetColorWriteEnableEXT vkCmdSetColorWriteEnableEXT; +extern VOLK_API PFN_vkCmdSetColorWriteEnableEXT vkCmdSetColorWriteEnableEXT; #endif /* defined(VK_EXT_color_write_enable) */ #if defined(VK_EXT_conditional_rendering) -extern PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT; -extern PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT; +extern VOLK_API PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT; +extern VOLK_API PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT; #endif /* defined(VK_EXT_conditional_rendering) */ #if defined(VK_EXT_debug_marker) -extern PFN_vkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXT; -extern PFN_vkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXT; -extern PFN_vkCmdDebugMarkerInsertEXT vkCmdDebugMarkerInsertEXT; -extern PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT; -extern PFN_vkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXT; +extern VOLK_API PFN_vkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXT; +extern VOLK_API PFN_vkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXT; +extern VOLK_API PFN_vkCmdDebugMarkerInsertEXT vkCmdDebugMarkerInsertEXT; +extern VOLK_API PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT; +extern VOLK_API PFN_vkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXT; #endif /* defined(VK_EXT_debug_marker) */ #if defined(VK_EXT_depth_bias_control) -extern PFN_vkCmdSetDepthBias2EXT vkCmdSetDepthBias2EXT; +extern VOLK_API PFN_vkCmdSetDepthBias2EXT vkCmdSetDepthBias2EXT; #endif /* defined(VK_EXT_depth_bias_control) */ #if defined(VK_EXT_descriptor_buffer) -extern PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT vkCmdBindDescriptorBufferEmbeddedSamplersEXT; -extern PFN_vkCmdBindDescriptorBuffersEXT vkCmdBindDescriptorBuffersEXT; -extern PFN_vkCmdSetDescriptorBufferOffsetsEXT vkCmdSetDescriptorBufferOffsetsEXT; -extern PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT vkGetBufferOpaqueCaptureDescriptorDataEXT; -extern PFN_vkGetDescriptorEXT vkGetDescriptorEXT; -extern PFN_vkGetDescriptorSetLayoutBindingOffsetEXT vkGetDescriptorSetLayoutBindingOffsetEXT; -extern PFN_vkGetDescriptorSetLayoutSizeEXT vkGetDescriptorSetLayoutSizeEXT; -extern PFN_vkGetImageOpaqueCaptureDescriptorDataEXT vkGetImageOpaqueCaptureDescriptorDataEXT; -extern PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT vkGetImageViewOpaqueCaptureDescriptorDataEXT; -extern PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT vkGetSamplerOpaqueCaptureDescriptorDataEXT; +extern VOLK_API PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT vkCmdBindDescriptorBufferEmbeddedSamplersEXT; +extern VOLK_API PFN_vkCmdBindDescriptorBuffersEXT vkCmdBindDescriptorBuffersEXT; +extern VOLK_API PFN_vkCmdSetDescriptorBufferOffsetsEXT vkCmdSetDescriptorBufferOffsetsEXT; +extern VOLK_API PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT vkGetBufferOpaqueCaptureDescriptorDataEXT; +extern VOLK_API PFN_vkGetDescriptorEXT vkGetDescriptorEXT; +extern VOLK_API PFN_vkGetDescriptorSetLayoutBindingOffsetEXT vkGetDescriptorSetLayoutBindingOffsetEXT; +extern VOLK_API PFN_vkGetDescriptorSetLayoutSizeEXT vkGetDescriptorSetLayoutSizeEXT; +extern VOLK_API PFN_vkGetImageOpaqueCaptureDescriptorDataEXT vkGetImageOpaqueCaptureDescriptorDataEXT; +extern VOLK_API PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT vkGetImageViewOpaqueCaptureDescriptorDataEXT; +extern VOLK_API PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT vkGetSamplerOpaqueCaptureDescriptorDataEXT; #endif /* defined(VK_EXT_descriptor_buffer) */ #if defined(VK_EXT_descriptor_buffer) && (defined(VK_KHR_acceleration_structure) || defined(VK_NV_ray_tracing)) -extern PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT; +extern VOLK_API PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT; #endif /* defined(VK_EXT_descriptor_buffer) && (defined(VK_KHR_acceleration_structure) || defined(VK_NV_ray_tracing)) */ #if defined(VK_EXT_device_fault) -extern PFN_vkGetDeviceFaultInfoEXT vkGetDeviceFaultInfoEXT; +extern VOLK_API PFN_vkGetDeviceFaultInfoEXT vkGetDeviceFaultInfoEXT; #endif /* defined(VK_EXT_device_fault) */ #if defined(VK_EXT_device_generated_commands) -extern PFN_vkCmdExecuteGeneratedCommandsEXT vkCmdExecuteGeneratedCommandsEXT; -extern PFN_vkCmdPreprocessGeneratedCommandsEXT vkCmdPreprocessGeneratedCommandsEXT; -extern PFN_vkCreateIndirectCommandsLayoutEXT vkCreateIndirectCommandsLayoutEXT; -extern PFN_vkCreateIndirectExecutionSetEXT vkCreateIndirectExecutionSetEXT; -extern PFN_vkDestroyIndirectCommandsLayoutEXT vkDestroyIndirectCommandsLayoutEXT; -extern PFN_vkDestroyIndirectExecutionSetEXT vkDestroyIndirectExecutionSetEXT; -extern PFN_vkGetGeneratedCommandsMemoryRequirementsEXT vkGetGeneratedCommandsMemoryRequirementsEXT; -extern PFN_vkUpdateIndirectExecutionSetPipelineEXT vkUpdateIndirectExecutionSetPipelineEXT; -extern PFN_vkUpdateIndirectExecutionSetShaderEXT vkUpdateIndirectExecutionSetShaderEXT; +extern VOLK_API PFN_vkCmdExecuteGeneratedCommandsEXT vkCmdExecuteGeneratedCommandsEXT; +extern VOLK_API PFN_vkCmdPreprocessGeneratedCommandsEXT vkCmdPreprocessGeneratedCommandsEXT; +extern VOLK_API PFN_vkCreateIndirectCommandsLayoutEXT vkCreateIndirectCommandsLayoutEXT; +extern VOLK_API PFN_vkCreateIndirectExecutionSetEXT vkCreateIndirectExecutionSetEXT; +extern VOLK_API PFN_vkDestroyIndirectCommandsLayoutEXT vkDestroyIndirectCommandsLayoutEXT; +extern VOLK_API PFN_vkDestroyIndirectExecutionSetEXT vkDestroyIndirectExecutionSetEXT; +extern VOLK_API PFN_vkGetGeneratedCommandsMemoryRequirementsEXT vkGetGeneratedCommandsMemoryRequirementsEXT; +extern VOLK_API PFN_vkUpdateIndirectExecutionSetPipelineEXT vkUpdateIndirectExecutionSetPipelineEXT; +extern VOLK_API PFN_vkUpdateIndirectExecutionSetShaderEXT vkUpdateIndirectExecutionSetShaderEXT; #endif /* defined(VK_EXT_device_generated_commands) */ #if defined(VK_EXT_discard_rectangles) -extern PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT; +extern VOLK_API PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT; #endif /* defined(VK_EXT_discard_rectangles) */ #if defined(VK_EXT_discard_rectangles) && VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION >= 2 -extern PFN_vkCmdSetDiscardRectangleEnableEXT vkCmdSetDiscardRectangleEnableEXT; -extern PFN_vkCmdSetDiscardRectangleModeEXT vkCmdSetDiscardRectangleModeEXT; +extern VOLK_API PFN_vkCmdSetDiscardRectangleEnableEXT vkCmdSetDiscardRectangleEnableEXT; +extern VOLK_API PFN_vkCmdSetDiscardRectangleModeEXT vkCmdSetDiscardRectangleModeEXT; #endif /* defined(VK_EXT_discard_rectangles) && VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION >= 2 */ #if defined(VK_EXT_display_control) -extern PFN_vkDisplayPowerControlEXT vkDisplayPowerControlEXT; -extern PFN_vkGetSwapchainCounterEXT vkGetSwapchainCounterEXT; -extern PFN_vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT; -extern PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT; +extern VOLK_API PFN_vkDisplayPowerControlEXT vkDisplayPowerControlEXT; +extern VOLK_API PFN_vkGetSwapchainCounterEXT vkGetSwapchainCounterEXT; +extern VOLK_API PFN_vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT; +extern VOLK_API PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT; #endif /* defined(VK_EXT_display_control) */ #if defined(VK_EXT_external_memory_host) -extern PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT; +extern VOLK_API PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT; #endif /* defined(VK_EXT_external_memory_host) */ #if defined(VK_EXT_external_memory_metal) -extern PFN_vkGetMemoryMetalHandleEXT vkGetMemoryMetalHandleEXT; -extern PFN_vkGetMemoryMetalHandlePropertiesEXT vkGetMemoryMetalHandlePropertiesEXT; +extern VOLK_API PFN_vkGetMemoryMetalHandleEXT vkGetMemoryMetalHandleEXT; +extern VOLK_API PFN_vkGetMemoryMetalHandlePropertiesEXT vkGetMemoryMetalHandlePropertiesEXT; #endif /* defined(VK_EXT_external_memory_metal) */ #if defined(VK_EXT_fragment_density_map_offset) -extern PFN_vkCmdEndRendering2EXT vkCmdEndRendering2EXT; +extern VOLK_API PFN_vkCmdEndRendering2EXT vkCmdEndRendering2EXT; #endif /* defined(VK_EXT_fragment_density_map_offset) */ #if defined(VK_EXT_full_screen_exclusive) -extern PFN_vkAcquireFullScreenExclusiveModeEXT vkAcquireFullScreenExclusiveModeEXT; -extern PFN_vkReleaseFullScreenExclusiveModeEXT vkReleaseFullScreenExclusiveModeEXT; +extern VOLK_API PFN_vkAcquireFullScreenExclusiveModeEXT vkAcquireFullScreenExclusiveModeEXT; +extern VOLK_API PFN_vkReleaseFullScreenExclusiveModeEXT vkReleaseFullScreenExclusiveModeEXT; #endif /* defined(VK_EXT_full_screen_exclusive) */ #if defined(VK_EXT_full_screen_exclusive) && (defined(VK_KHR_device_group) || defined(VK_VERSION_1_1)) -extern PFN_vkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXT; +extern VOLK_API PFN_vkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXT; #endif /* defined(VK_EXT_full_screen_exclusive) && (defined(VK_KHR_device_group) || defined(VK_VERSION_1_1)) */ #if defined(VK_EXT_hdr_metadata) -extern PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT; +extern VOLK_API PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT; #endif /* defined(VK_EXT_hdr_metadata) */ #if defined(VK_EXT_host_image_copy) -extern PFN_vkCopyImageToImageEXT vkCopyImageToImageEXT; -extern PFN_vkCopyImageToMemoryEXT vkCopyImageToMemoryEXT; -extern PFN_vkCopyMemoryToImageEXT vkCopyMemoryToImageEXT; -extern PFN_vkTransitionImageLayoutEXT vkTransitionImageLayoutEXT; +extern VOLK_API PFN_vkCopyImageToImageEXT vkCopyImageToImageEXT; +extern VOLK_API PFN_vkCopyImageToMemoryEXT vkCopyImageToMemoryEXT; +extern VOLK_API PFN_vkCopyMemoryToImageEXT vkCopyMemoryToImageEXT; +extern VOLK_API PFN_vkTransitionImageLayoutEXT vkTransitionImageLayoutEXT; #endif /* defined(VK_EXT_host_image_copy) */ #if defined(VK_EXT_host_query_reset) -extern PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT; +extern VOLK_API PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT; #endif /* defined(VK_EXT_host_query_reset) */ #if defined(VK_EXT_image_drm_format_modifier) -extern PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT; +extern VOLK_API PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT; #endif /* defined(VK_EXT_image_drm_format_modifier) */ #if defined(VK_EXT_line_rasterization) -extern PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT; +extern VOLK_API PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT; #endif /* defined(VK_EXT_line_rasterization) */ #if defined(VK_EXT_memory_decompression) -extern PFN_vkCmdDecompressMemoryEXT vkCmdDecompressMemoryEXT; -extern PFN_vkCmdDecompressMemoryIndirectCountEXT vkCmdDecompressMemoryIndirectCountEXT; +extern VOLK_API PFN_vkCmdDecompressMemoryEXT vkCmdDecompressMemoryEXT; +extern VOLK_API PFN_vkCmdDecompressMemoryIndirectCountEXT vkCmdDecompressMemoryIndirectCountEXT; #endif /* defined(VK_EXT_memory_decompression) */ #if defined(VK_EXT_mesh_shader) -extern PFN_vkCmdDrawMeshTasksEXT vkCmdDrawMeshTasksEXT; -extern PFN_vkCmdDrawMeshTasksIndirectEXT vkCmdDrawMeshTasksIndirectEXT; +extern VOLK_API PFN_vkCmdDrawMeshTasksEXT vkCmdDrawMeshTasksEXT; +extern VOLK_API PFN_vkCmdDrawMeshTasksIndirectEXT vkCmdDrawMeshTasksIndirectEXT; #endif /* defined(VK_EXT_mesh_shader) */ #if defined(VK_EXT_mesh_shader) && (defined(VK_VERSION_1_2) || defined(VK_KHR_draw_indirect_count) || defined(VK_AMD_draw_indirect_count)) -extern PFN_vkCmdDrawMeshTasksIndirectCountEXT vkCmdDrawMeshTasksIndirectCountEXT; +extern VOLK_API PFN_vkCmdDrawMeshTasksIndirectCountEXT vkCmdDrawMeshTasksIndirectCountEXT; #endif /* defined(VK_EXT_mesh_shader) && (defined(VK_VERSION_1_2) || defined(VK_KHR_draw_indirect_count) || defined(VK_AMD_draw_indirect_count)) */ #if defined(VK_EXT_metal_objects) -extern PFN_vkExportMetalObjectsEXT vkExportMetalObjectsEXT; +extern VOLK_API PFN_vkExportMetalObjectsEXT vkExportMetalObjectsEXT; #endif /* defined(VK_EXT_metal_objects) */ #if defined(VK_EXT_multi_draw) -extern PFN_vkCmdDrawMultiEXT vkCmdDrawMultiEXT; -extern PFN_vkCmdDrawMultiIndexedEXT vkCmdDrawMultiIndexedEXT; +extern VOLK_API PFN_vkCmdDrawMultiEXT vkCmdDrawMultiEXT; +extern VOLK_API PFN_vkCmdDrawMultiIndexedEXT vkCmdDrawMultiIndexedEXT; #endif /* defined(VK_EXT_multi_draw) */ #if defined(VK_EXT_opacity_micromap) -extern PFN_vkBuildMicromapsEXT vkBuildMicromapsEXT; -extern PFN_vkCmdBuildMicromapsEXT vkCmdBuildMicromapsEXT; -extern PFN_vkCmdCopyMemoryToMicromapEXT vkCmdCopyMemoryToMicromapEXT; -extern PFN_vkCmdCopyMicromapEXT vkCmdCopyMicromapEXT; -extern PFN_vkCmdCopyMicromapToMemoryEXT vkCmdCopyMicromapToMemoryEXT; -extern PFN_vkCmdWriteMicromapsPropertiesEXT vkCmdWriteMicromapsPropertiesEXT; -extern PFN_vkCopyMemoryToMicromapEXT vkCopyMemoryToMicromapEXT; -extern PFN_vkCopyMicromapEXT vkCopyMicromapEXT; -extern PFN_vkCopyMicromapToMemoryEXT vkCopyMicromapToMemoryEXT; -extern PFN_vkCreateMicromapEXT vkCreateMicromapEXT; -extern PFN_vkDestroyMicromapEXT vkDestroyMicromapEXT; -extern PFN_vkGetDeviceMicromapCompatibilityEXT vkGetDeviceMicromapCompatibilityEXT; -extern PFN_vkGetMicromapBuildSizesEXT vkGetMicromapBuildSizesEXT; -extern PFN_vkWriteMicromapsPropertiesEXT vkWriteMicromapsPropertiesEXT; +extern VOLK_API PFN_vkBuildMicromapsEXT vkBuildMicromapsEXT; +extern VOLK_API PFN_vkCmdBuildMicromapsEXT vkCmdBuildMicromapsEXT; +extern VOLK_API PFN_vkCmdCopyMemoryToMicromapEXT vkCmdCopyMemoryToMicromapEXT; +extern VOLK_API PFN_vkCmdCopyMicromapEXT vkCmdCopyMicromapEXT; +extern VOLK_API PFN_vkCmdCopyMicromapToMemoryEXT vkCmdCopyMicromapToMemoryEXT; +extern VOLK_API PFN_vkCmdWriteMicromapsPropertiesEXT vkCmdWriteMicromapsPropertiesEXT; +extern VOLK_API PFN_vkCopyMemoryToMicromapEXT vkCopyMemoryToMicromapEXT; +extern VOLK_API PFN_vkCopyMicromapEXT vkCopyMicromapEXT; +extern VOLK_API PFN_vkCopyMicromapToMemoryEXT vkCopyMicromapToMemoryEXT; +extern VOLK_API PFN_vkCreateMicromapEXT vkCreateMicromapEXT; +extern VOLK_API PFN_vkDestroyMicromapEXT vkDestroyMicromapEXT; +extern VOLK_API PFN_vkGetDeviceMicromapCompatibilityEXT vkGetDeviceMicromapCompatibilityEXT; +extern VOLK_API PFN_vkGetMicromapBuildSizesEXT vkGetMicromapBuildSizesEXT; +extern VOLK_API PFN_vkWriteMicromapsPropertiesEXT vkWriteMicromapsPropertiesEXT; #endif /* defined(VK_EXT_opacity_micromap) */ #if defined(VK_EXT_pageable_device_local_memory) -extern PFN_vkSetDeviceMemoryPriorityEXT vkSetDeviceMemoryPriorityEXT; +extern VOLK_API PFN_vkSetDeviceMemoryPriorityEXT vkSetDeviceMemoryPriorityEXT; #endif /* defined(VK_EXT_pageable_device_local_memory) */ #if defined(VK_EXT_pipeline_properties) -extern PFN_vkGetPipelinePropertiesEXT vkGetPipelinePropertiesEXT; +extern VOLK_API PFN_vkGetPipelinePropertiesEXT vkGetPipelinePropertiesEXT; #endif /* defined(VK_EXT_pipeline_properties) */ #if defined(VK_EXT_private_data) -extern PFN_vkCreatePrivateDataSlotEXT vkCreatePrivateDataSlotEXT; -extern PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT; -extern PFN_vkGetPrivateDataEXT vkGetPrivateDataEXT; -extern PFN_vkSetPrivateDataEXT vkSetPrivateDataEXT; +extern VOLK_API PFN_vkCreatePrivateDataSlotEXT vkCreatePrivateDataSlotEXT; +extern VOLK_API PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT; +extern VOLK_API PFN_vkGetPrivateDataEXT vkGetPrivateDataEXT; +extern VOLK_API PFN_vkSetPrivateDataEXT vkSetPrivateDataEXT; #endif /* defined(VK_EXT_private_data) */ #if defined(VK_EXT_sample_locations) -extern PFN_vkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXT; +extern VOLK_API PFN_vkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXT; #endif /* defined(VK_EXT_sample_locations) */ #if defined(VK_EXT_shader_module_identifier) -extern PFN_vkGetShaderModuleCreateInfoIdentifierEXT vkGetShaderModuleCreateInfoIdentifierEXT; -extern PFN_vkGetShaderModuleIdentifierEXT vkGetShaderModuleIdentifierEXT; +extern VOLK_API PFN_vkGetShaderModuleCreateInfoIdentifierEXT vkGetShaderModuleCreateInfoIdentifierEXT; +extern VOLK_API PFN_vkGetShaderModuleIdentifierEXT vkGetShaderModuleIdentifierEXT; #endif /* defined(VK_EXT_shader_module_identifier) */ #if defined(VK_EXT_shader_object) -extern PFN_vkCmdBindShadersEXT vkCmdBindShadersEXT; -extern PFN_vkCreateShadersEXT vkCreateShadersEXT; -extern PFN_vkDestroyShaderEXT vkDestroyShaderEXT; -extern PFN_vkGetShaderBinaryDataEXT vkGetShaderBinaryDataEXT; +extern VOLK_API PFN_vkCmdBindShadersEXT vkCmdBindShadersEXT; +extern VOLK_API PFN_vkCreateShadersEXT vkCreateShadersEXT; +extern VOLK_API PFN_vkDestroyShaderEXT vkDestroyShaderEXT; +extern VOLK_API PFN_vkGetShaderBinaryDataEXT vkGetShaderBinaryDataEXT; #endif /* defined(VK_EXT_shader_object) */ #if defined(VK_EXT_swapchain_maintenance1) -extern PFN_vkReleaseSwapchainImagesEXT vkReleaseSwapchainImagesEXT; +extern VOLK_API PFN_vkReleaseSwapchainImagesEXT vkReleaseSwapchainImagesEXT; #endif /* defined(VK_EXT_swapchain_maintenance1) */ #if defined(VK_EXT_transform_feedback) -extern PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT; -extern PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT; -extern PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT; -extern PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT; -extern PFN_vkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXT; -extern PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT; +extern VOLK_API PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT; +extern VOLK_API PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT; +extern VOLK_API PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT; +extern VOLK_API PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT; +extern VOLK_API PFN_vkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXT; +extern VOLK_API PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT; #endif /* defined(VK_EXT_transform_feedback) */ #if defined(VK_EXT_validation_cache) -extern PFN_vkCreateValidationCacheEXT vkCreateValidationCacheEXT; -extern PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT; -extern PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT; -extern PFN_vkMergeValidationCachesEXT vkMergeValidationCachesEXT; +extern VOLK_API PFN_vkCreateValidationCacheEXT vkCreateValidationCacheEXT; +extern VOLK_API PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT; +extern VOLK_API PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT; +extern VOLK_API PFN_vkMergeValidationCachesEXT vkMergeValidationCachesEXT; #endif /* defined(VK_EXT_validation_cache) */ #if defined(VK_FUCHSIA_buffer_collection) -extern PFN_vkCreateBufferCollectionFUCHSIA vkCreateBufferCollectionFUCHSIA; -extern PFN_vkDestroyBufferCollectionFUCHSIA vkDestroyBufferCollectionFUCHSIA; -extern PFN_vkGetBufferCollectionPropertiesFUCHSIA vkGetBufferCollectionPropertiesFUCHSIA; -extern PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA vkSetBufferCollectionBufferConstraintsFUCHSIA; -extern PFN_vkSetBufferCollectionImageConstraintsFUCHSIA vkSetBufferCollectionImageConstraintsFUCHSIA; +extern VOLK_API PFN_vkCreateBufferCollectionFUCHSIA vkCreateBufferCollectionFUCHSIA; +extern VOLK_API PFN_vkDestroyBufferCollectionFUCHSIA vkDestroyBufferCollectionFUCHSIA; +extern VOLK_API PFN_vkGetBufferCollectionPropertiesFUCHSIA vkGetBufferCollectionPropertiesFUCHSIA; +extern VOLK_API PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA vkSetBufferCollectionBufferConstraintsFUCHSIA; +extern VOLK_API PFN_vkSetBufferCollectionImageConstraintsFUCHSIA vkSetBufferCollectionImageConstraintsFUCHSIA; #endif /* defined(VK_FUCHSIA_buffer_collection) */ #if defined(VK_FUCHSIA_external_memory) -extern PFN_vkGetMemoryZirconHandleFUCHSIA vkGetMemoryZirconHandleFUCHSIA; -extern PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA vkGetMemoryZirconHandlePropertiesFUCHSIA; +extern VOLK_API PFN_vkGetMemoryZirconHandleFUCHSIA vkGetMemoryZirconHandleFUCHSIA; +extern VOLK_API PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA vkGetMemoryZirconHandlePropertiesFUCHSIA; #endif /* defined(VK_FUCHSIA_external_memory) */ #if defined(VK_FUCHSIA_external_semaphore) -extern PFN_vkGetSemaphoreZirconHandleFUCHSIA vkGetSemaphoreZirconHandleFUCHSIA; -extern PFN_vkImportSemaphoreZirconHandleFUCHSIA vkImportSemaphoreZirconHandleFUCHSIA; +extern VOLK_API PFN_vkGetSemaphoreZirconHandleFUCHSIA vkGetSemaphoreZirconHandleFUCHSIA; +extern VOLK_API PFN_vkImportSemaphoreZirconHandleFUCHSIA vkImportSemaphoreZirconHandleFUCHSIA; #endif /* defined(VK_FUCHSIA_external_semaphore) */ #if defined(VK_GOOGLE_display_timing) -extern PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE; -extern PFN_vkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLE; +extern VOLK_API PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE; +extern VOLK_API PFN_vkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLE; #endif /* defined(VK_GOOGLE_display_timing) */ #if defined(VK_HUAWEI_cluster_culling_shader) -extern PFN_vkCmdDrawClusterHUAWEI vkCmdDrawClusterHUAWEI; -extern PFN_vkCmdDrawClusterIndirectHUAWEI vkCmdDrawClusterIndirectHUAWEI; +extern VOLK_API PFN_vkCmdDrawClusterHUAWEI vkCmdDrawClusterHUAWEI; +extern VOLK_API PFN_vkCmdDrawClusterIndirectHUAWEI vkCmdDrawClusterIndirectHUAWEI; #endif /* defined(VK_HUAWEI_cluster_culling_shader) */ #if defined(VK_HUAWEI_invocation_mask) -extern PFN_vkCmdBindInvocationMaskHUAWEI vkCmdBindInvocationMaskHUAWEI; +extern VOLK_API PFN_vkCmdBindInvocationMaskHUAWEI vkCmdBindInvocationMaskHUAWEI; #endif /* defined(VK_HUAWEI_invocation_mask) */ #if defined(VK_HUAWEI_subpass_shading) && VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION >= 2 -extern PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI; +extern VOLK_API PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI; #endif /* defined(VK_HUAWEI_subpass_shading) && VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION >= 2 */ #if defined(VK_HUAWEI_subpass_shading) -extern PFN_vkCmdSubpassShadingHUAWEI vkCmdSubpassShadingHUAWEI; +extern VOLK_API PFN_vkCmdSubpassShadingHUAWEI vkCmdSubpassShadingHUAWEI; #endif /* defined(VK_HUAWEI_subpass_shading) */ #if defined(VK_INTEL_performance_query) -extern PFN_vkAcquirePerformanceConfigurationINTEL vkAcquirePerformanceConfigurationINTEL; -extern PFN_vkCmdSetPerformanceMarkerINTEL vkCmdSetPerformanceMarkerINTEL; -extern PFN_vkCmdSetPerformanceOverrideINTEL vkCmdSetPerformanceOverrideINTEL; -extern PFN_vkCmdSetPerformanceStreamMarkerINTEL vkCmdSetPerformanceStreamMarkerINTEL; -extern PFN_vkGetPerformanceParameterINTEL vkGetPerformanceParameterINTEL; -extern PFN_vkInitializePerformanceApiINTEL vkInitializePerformanceApiINTEL; -extern PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL; -extern PFN_vkReleasePerformanceConfigurationINTEL vkReleasePerformanceConfigurationINTEL; -extern PFN_vkUninitializePerformanceApiINTEL vkUninitializePerformanceApiINTEL; +extern VOLK_API PFN_vkAcquirePerformanceConfigurationINTEL vkAcquirePerformanceConfigurationINTEL; +extern VOLK_API PFN_vkCmdSetPerformanceMarkerINTEL vkCmdSetPerformanceMarkerINTEL; +extern VOLK_API PFN_vkCmdSetPerformanceOverrideINTEL vkCmdSetPerformanceOverrideINTEL; +extern VOLK_API PFN_vkCmdSetPerformanceStreamMarkerINTEL vkCmdSetPerformanceStreamMarkerINTEL; +extern VOLK_API PFN_vkGetPerformanceParameterINTEL vkGetPerformanceParameterINTEL; +extern VOLK_API PFN_vkInitializePerformanceApiINTEL vkInitializePerformanceApiINTEL; +extern VOLK_API PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL; +extern VOLK_API PFN_vkReleasePerformanceConfigurationINTEL vkReleasePerformanceConfigurationINTEL; +extern VOLK_API PFN_vkUninitializePerformanceApiINTEL vkUninitializePerformanceApiINTEL; #endif /* defined(VK_INTEL_performance_query) */ #if defined(VK_KHR_acceleration_structure) -extern PFN_vkBuildAccelerationStructuresKHR vkBuildAccelerationStructuresKHR; -extern PFN_vkCmdBuildAccelerationStructuresIndirectKHR vkCmdBuildAccelerationStructuresIndirectKHR; -extern PFN_vkCmdBuildAccelerationStructuresKHR vkCmdBuildAccelerationStructuresKHR; -extern PFN_vkCmdCopyAccelerationStructureKHR vkCmdCopyAccelerationStructureKHR; -extern PFN_vkCmdCopyAccelerationStructureToMemoryKHR vkCmdCopyAccelerationStructureToMemoryKHR; -extern PFN_vkCmdCopyMemoryToAccelerationStructureKHR vkCmdCopyMemoryToAccelerationStructureKHR; -extern PFN_vkCmdWriteAccelerationStructuresPropertiesKHR vkCmdWriteAccelerationStructuresPropertiesKHR; -extern PFN_vkCopyAccelerationStructureKHR vkCopyAccelerationStructureKHR; -extern PFN_vkCopyAccelerationStructureToMemoryKHR vkCopyAccelerationStructureToMemoryKHR; -extern PFN_vkCopyMemoryToAccelerationStructureKHR vkCopyMemoryToAccelerationStructureKHR; -extern PFN_vkCreateAccelerationStructureKHR vkCreateAccelerationStructureKHR; -extern PFN_vkDestroyAccelerationStructureKHR vkDestroyAccelerationStructureKHR; -extern PFN_vkGetAccelerationStructureBuildSizesKHR vkGetAccelerationStructureBuildSizesKHR; -extern PFN_vkGetAccelerationStructureDeviceAddressKHR vkGetAccelerationStructureDeviceAddressKHR; -extern PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR; -extern PFN_vkWriteAccelerationStructuresPropertiesKHR vkWriteAccelerationStructuresPropertiesKHR; +extern VOLK_API PFN_vkBuildAccelerationStructuresKHR vkBuildAccelerationStructuresKHR; +extern VOLK_API PFN_vkCmdBuildAccelerationStructuresIndirectKHR vkCmdBuildAccelerationStructuresIndirectKHR; +extern VOLK_API PFN_vkCmdBuildAccelerationStructuresKHR vkCmdBuildAccelerationStructuresKHR; +extern VOLK_API PFN_vkCmdCopyAccelerationStructureKHR vkCmdCopyAccelerationStructureKHR; +extern VOLK_API PFN_vkCmdCopyAccelerationStructureToMemoryKHR vkCmdCopyAccelerationStructureToMemoryKHR; +extern VOLK_API PFN_vkCmdCopyMemoryToAccelerationStructureKHR vkCmdCopyMemoryToAccelerationStructureKHR; +extern VOLK_API PFN_vkCmdWriteAccelerationStructuresPropertiesKHR vkCmdWriteAccelerationStructuresPropertiesKHR; +extern VOLK_API PFN_vkCopyAccelerationStructureKHR vkCopyAccelerationStructureKHR; +extern VOLK_API PFN_vkCopyAccelerationStructureToMemoryKHR vkCopyAccelerationStructureToMemoryKHR; +extern VOLK_API PFN_vkCopyMemoryToAccelerationStructureKHR vkCopyMemoryToAccelerationStructureKHR; +extern VOLK_API PFN_vkCreateAccelerationStructureKHR vkCreateAccelerationStructureKHR; +extern VOLK_API PFN_vkDestroyAccelerationStructureKHR vkDestroyAccelerationStructureKHR; +extern VOLK_API PFN_vkGetAccelerationStructureBuildSizesKHR vkGetAccelerationStructureBuildSizesKHR; +extern VOLK_API PFN_vkGetAccelerationStructureDeviceAddressKHR vkGetAccelerationStructureDeviceAddressKHR; +extern VOLK_API PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR; +extern VOLK_API PFN_vkWriteAccelerationStructuresPropertiesKHR vkWriteAccelerationStructuresPropertiesKHR; #endif /* defined(VK_KHR_acceleration_structure) */ #if defined(VK_KHR_bind_memory2) -extern PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR; -extern PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR; +extern VOLK_API PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR; +extern VOLK_API PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR; #endif /* defined(VK_KHR_bind_memory2) */ #if defined(VK_KHR_buffer_device_address) -extern PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR; -extern PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR; -extern PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR; +extern VOLK_API PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR; +extern VOLK_API PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR; +extern VOLK_API PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR; #endif /* defined(VK_KHR_buffer_device_address) */ #if defined(VK_KHR_calibrated_timestamps) -extern PFN_vkGetCalibratedTimestampsKHR vkGetCalibratedTimestampsKHR; +extern VOLK_API PFN_vkGetCalibratedTimestampsKHR vkGetCalibratedTimestampsKHR; #endif /* defined(VK_KHR_calibrated_timestamps) */ #if defined(VK_KHR_copy_commands2) -extern PFN_vkCmdBlitImage2KHR vkCmdBlitImage2KHR; -extern PFN_vkCmdCopyBuffer2KHR vkCmdCopyBuffer2KHR; -extern PFN_vkCmdCopyBufferToImage2KHR vkCmdCopyBufferToImage2KHR; -extern PFN_vkCmdCopyImage2KHR vkCmdCopyImage2KHR; -extern PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR; -extern PFN_vkCmdResolveImage2KHR vkCmdResolveImage2KHR; +extern VOLK_API PFN_vkCmdBlitImage2KHR vkCmdBlitImage2KHR; +extern VOLK_API PFN_vkCmdCopyBuffer2KHR vkCmdCopyBuffer2KHR; +extern VOLK_API PFN_vkCmdCopyBufferToImage2KHR vkCmdCopyBufferToImage2KHR; +extern VOLK_API PFN_vkCmdCopyImage2KHR vkCmdCopyImage2KHR; +extern VOLK_API PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR; +extern VOLK_API PFN_vkCmdResolveImage2KHR vkCmdResolveImage2KHR; #endif /* defined(VK_KHR_copy_commands2) */ #if defined(VK_KHR_copy_memory_indirect) -extern PFN_vkCmdCopyMemoryIndirectKHR vkCmdCopyMemoryIndirectKHR; -extern PFN_vkCmdCopyMemoryToImageIndirectKHR vkCmdCopyMemoryToImageIndirectKHR; +extern VOLK_API PFN_vkCmdCopyMemoryIndirectKHR vkCmdCopyMemoryIndirectKHR; +extern VOLK_API PFN_vkCmdCopyMemoryToImageIndirectKHR vkCmdCopyMemoryToImageIndirectKHR; #endif /* defined(VK_KHR_copy_memory_indirect) */ #if defined(VK_KHR_create_renderpass2) -extern PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR; -extern PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR; -extern PFN_vkCmdNextSubpass2KHR vkCmdNextSubpass2KHR; -extern PFN_vkCreateRenderPass2KHR vkCreateRenderPass2KHR; +extern VOLK_API PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR; +extern VOLK_API PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR; +extern VOLK_API PFN_vkCmdNextSubpass2KHR vkCmdNextSubpass2KHR; +extern VOLK_API PFN_vkCreateRenderPass2KHR vkCreateRenderPass2KHR; #endif /* defined(VK_KHR_create_renderpass2) */ #if defined(VK_KHR_deferred_host_operations) -extern PFN_vkCreateDeferredOperationKHR vkCreateDeferredOperationKHR; -extern PFN_vkDeferredOperationJoinKHR vkDeferredOperationJoinKHR; -extern PFN_vkDestroyDeferredOperationKHR vkDestroyDeferredOperationKHR; -extern PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR; -extern PFN_vkGetDeferredOperationResultKHR vkGetDeferredOperationResultKHR; +extern VOLK_API PFN_vkCreateDeferredOperationKHR vkCreateDeferredOperationKHR; +extern VOLK_API PFN_vkDeferredOperationJoinKHR vkDeferredOperationJoinKHR; +extern VOLK_API PFN_vkDestroyDeferredOperationKHR vkDestroyDeferredOperationKHR; +extern VOLK_API PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR; +extern VOLK_API PFN_vkGetDeferredOperationResultKHR vkGetDeferredOperationResultKHR; #endif /* defined(VK_KHR_deferred_host_operations) */ #if defined(VK_KHR_descriptor_update_template) -extern PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR; -extern PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR; -extern PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR; +extern VOLK_API PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR; +extern VOLK_API PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR; +extern VOLK_API PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR; #endif /* defined(VK_KHR_descriptor_update_template) */ #if defined(VK_KHR_device_group) -extern PFN_vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR; -extern PFN_vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR; -extern PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR; +extern VOLK_API PFN_vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR; +extern VOLK_API PFN_vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR; +extern VOLK_API PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR; #endif /* defined(VK_KHR_device_group) */ #if defined(VK_KHR_display_swapchain) -extern PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR; +extern VOLK_API PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR; #endif /* defined(VK_KHR_display_swapchain) */ #if defined(VK_KHR_draw_indirect_count) -extern PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR; -extern PFN_vkCmdDrawIndirectCountKHR vkCmdDrawIndirectCountKHR; +extern VOLK_API PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR; +extern VOLK_API PFN_vkCmdDrawIndirectCountKHR vkCmdDrawIndirectCountKHR; #endif /* defined(VK_KHR_draw_indirect_count) */ #if defined(VK_KHR_dynamic_rendering) -extern PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR; -extern PFN_vkCmdEndRenderingKHR vkCmdEndRenderingKHR; +extern VOLK_API PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR; +extern VOLK_API PFN_vkCmdEndRenderingKHR vkCmdEndRenderingKHR; #endif /* defined(VK_KHR_dynamic_rendering) */ #if defined(VK_KHR_dynamic_rendering_local_read) -extern PFN_vkCmdSetRenderingAttachmentLocationsKHR vkCmdSetRenderingAttachmentLocationsKHR; -extern PFN_vkCmdSetRenderingInputAttachmentIndicesKHR vkCmdSetRenderingInputAttachmentIndicesKHR; +extern VOLK_API PFN_vkCmdSetRenderingAttachmentLocationsKHR vkCmdSetRenderingAttachmentLocationsKHR; +extern VOLK_API PFN_vkCmdSetRenderingInputAttachmentIndicesKHR vkCmdSetRenderingInputAttachmentIndicesKHR; #endif /* defined(VK_KHR_dynamic_rendering_local_read) */ #if defined(VK_KHR_external_fence_fd) -extern PFN_vkGetFenceFdKHR vkGetFenceFdKHR; -extern PFN_vkImportFenceFdKHR vkImportFenceFdKHR; +extern VOLK_API PFN_vkGetFenceFdKHR vkGetFenceFdKHR; +extern VOLK_API PFN_vkImportFenceFdKHR vkImportFenceFdKHR; #endif /* defined(VK_KHR_external_fence_fd) */ #if defined(VK_KHR_external_fence_win32) -extern PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR; -extern PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR; +extern VOLK_API PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR; +extern VOLK_API PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR; #endif /* defined(VK_KHR_external_fence_win32) */ #if defined(VK_KHR_external_memory_fd) -extern PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR; -extern PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR; +extern VOLK_API PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR; +extern VOLK_API PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR; #endif /* defined(VK_KHR_external_memory_fd) */ #if defined(VK_KHR_external_memory_win32) -extern PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR; -extern PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR; +extern VOLK_API PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR; +extern VOLK_API PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR; #endif /* defined(VK_KHR_external_memory_win32) */ #if defined(VK_KHR_external_semaphore_fd) -extern PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR; -extern PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR; +extern VOLK_API PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR; +extern VOLK_API PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR; #endif /* defined(VK_KHR_external_semaphore_fd) */ #if defined(VK_KHR_external_semaphore_win32) -extern PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR; -extern PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR; +extern VOLK_API PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR; +extern VOLK_API PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR; #endif /* defined(VK_KHR_external_semaphore_win32) */ #if defined(VK_KHR_fragment_shading_rate) -extern PFN_vkCmdSetFragmentShadingRateKHR vkCmdSetFragmentShadingRateKHR; +extern VOLK_API PFN_vkCmdSetFragmentShadingRateKHR vkCmdSetFragmentShadingRateKHR; #endif /* defined(VK_KHR_fragment_shading_rate) */ #if defined(VK_KHR_get_memory_requirements2) -extern PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR; -extern PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR; -extern PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR; +extern VOLK_API PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR; +extern VOLK_API PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR; +extern VOLK_API PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR; #endif /* defined(VK_KHR_get_memory_requirements2) */ #if defined(VK_KHR_line_rasterization) -extern PFN_vkCmdSetLineStippleKHR vkCmdSetLineStippleKHR; +extern VOLK_API PFN_vkCmdSetLineStippleKHR vkCmdSetLineStippleKHR; #endif /* defined(VK_KHR_line_rasterization) */ #if defined(VK_KHR_maintenance1) -extern PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR; +extern VOLK_API PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR; #endif /* defined(VK_KHR_maintenance1) */ #if defined(VK_KHR_maintenance10) -extern PFN_vkCmdEndRendering2KHR vkCmdEndRendering2KHR; +extern VOLK_API PFN_vkCmdEndRendering2KHR vkCmdEndRendering2KHR; #endif /* defined(VK_KHR_maintenance10) */ #if defined(VK_KHR_maintenance3) -extern PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR; +extern VOLK_API PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR; #endif /* defined(VK_KHR_maintenance3) */ #if defined(VK_KHR_maintenance4) -extern PFN_vkGetDeviceBufferMemoryRequirementsKHR vkGetDeviceBufferMemoryRequirementsKHR; -extern PFN_vkGetDeviceImageMemoryRequirementsKHR vkGetDeviceImageMemoryRequirementsKHR; -extern PFN_vkGetDeviceImageSparseMemoryRequirementsKHR vkGetDeviceImageSparseMemoryRequirementsKHR; +extern VOLK_API PFN_vkGetDeviceBufferMemoryRequirementsKHR vkGetDeviceBufferMemoryRequirementsKHR; +extern VOLK_API PFN_vkGetDeviceImageMemoryRequirementsKHR vkGetDeviceImageMemoryRequirementsKHR; +extern VOLK_API PFN_vkGetDeviceImageSparseMemoryRequirementsKHR vkGetDeviceImageSparseMemoryRequirementsKHR; #endif /* defined(VK_KHR_maintenance4) */ #if defined(VK_KHR_maintenance5) -extern PFN_vkCmdBindIndexBuffer2KHR vkCmdBindIndexBuffer2KHR; -extern PFN_vkGetDeviceImageSubresourceLayoutKHR vkGetDeviceImageSubresourceLayoutKHR; -extern PFN_vkGetImageSubresourceLayout2KHR vkGetImageSubresourceLayout2KHR; -extern PFN_vkGetRenderingAreaGranularityKHR vkGetRenderingAreaGranularityKHR; +extern VOLK_API PFN_vkCmdBindIndexBuffer2KHR vkCmdBindIndexBuffer2KHR; +extern VOLK_API PFN_vkGetDeviceImageSubresourceLayoutKHR vkGetDeviceImageSubresourceLayoutKHR; +extern VOLK_API PFN_vkGetImageSubresourceLayout2KHR vkGetImageSubresourceLayout2KHR; +extern VOLK_API PFN_vkGetRenderingAreaGranularityKHR vkGetRenderingAreaGranularityKHR; #endif /* defined(VK_KHR_maintenance5) */ #if defined(VK_KHR_maintenance6) -extern PFN_vkCmdBindDescriptorSets2KHR vkCmdBindDescriptorSets2KHR; -extern PFN_vkCmdPushConstants2KHR vkCmdPushConstants2KHR; +extern VOLK_API PFN_vkCmdBindDescriptorSets2KHR vkCmdBindDescriptorSets2KHR; +extern VOLK_API PFN_vkCmdPushConstants2KHR vkCmdPushConstants2KHR; #endif /* defined(VK_KHR_maintenance6) */ #if defined(VK_KHR_maintenance6) && defined(VK_KHR_push_descriptor) -extern PFN_vkCmdPushDescriptorSet2KHR vkCmdPushDescriptorSet2KHR; -extern PFN_vkCmdPushDescriptorSetWithTemplate2KHR vkCmdPushDescriptorSetWithTemplate2KHR; +extern VOLK_API PFN_vkCmdPushDescriptorSet2KHR vkCmdPushDescriptorSet2KHR; +extern VOLK_API PFN_vkCmdPushDescriptorSetWithTemplate2KHR vkCmdPushDescriptorSetWithTemplate2KHR; #endif /* defined(VK_KHR_maintenance6) && defined(VK_KHR_push_descriptor) */ #if defined(VK_KHR_maintenance6) && defined(VK_EXT_descriptor_buffer) -extern PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT vkCmdBindDescriptorBufferEmbeddedSamplers2EXT; -extern PFN_vkCmdSetDescriptorBufferOffsets2EXT vkCmdSetDescriptorBufferOffsets2EXT; +extern VOLK_API PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT vkCmdBindDescriptorBufferEmbeddedSamplers2EXT; +extern VOLK_API PFN_vkCmdSetDescriptorBufferOffsets2EXT vkCmdSetDescriptorBufferOffsets2EXT; #endif /* defined(VK_KHR_maintenance6) && defined(VK_EXT_descriptor_buffer) */ #if defined(VK_KHR_map_memory2) -extern PFN_vkMapMemory2KHR vkMapMemory2KHR; -extern PFN_vkUnmapMemory2KHR vkUnmapMemory2KHR; +extern VOLK_API PFN_vkMapMemory2KHR vkMapMemory2KHR; +extern VOLK_API PFN_vkUnmapMemory2KHR vkUnmapMemory2KHR; #endif /* defined(VK_KHR_map_memory2) */ #if defined(VK_KHR_performance_query) -extern PFN_vkAcquireProfilingLockKHR vkAcquireProfilingLockKHR; -extern PFN_vkReleaseProfilingLockKHR vkReleaseProfilingLockKHR; +extern VOLK_API PFN_vkAcquireProfilingLockKHR vkAcquireProfilingLockKHR; +extern VOLK_API PFN_vkReleaseProfilingLockKHR vkReleaseProfilingLockKHR; #endif /* defined(VK_KHR_performance_query) */ #if defined(VK_KHR_pipeline_binary) -extern PFN_vkCreatePipelineBinariesKHR vkCreatePipelineBinariesKHR; -extern PFN_vkDestroyPipelineBinaryKHR vkDestroyPipelineBinaryKHR; -extern PFN_vkGetPipelineBinaryDataKHR vkGetPipelineBinaryDataKHR; -extern PFN_vkGetPipelineKeyKHR vkGetPipelineKeyKHR; -extern PFN_vkReleaseCapturedPipelineDataKHR vkReleaseCapturedPipelineDataKHR; +extern VOLK_API PFN_vkCreatePipelineBinariesKHR vkCreatePipelineBinariesKHR; +extern VOLK_API PFN_vkDestroyPipelineBinaryKHR vkDestroyPipelineBinaryKHR; +extern VOLK_API PFN_vkGetPipelineBinaryDataKHR vkGetPipelineBinaryDataKHR; +extern VOLK_API PFN_vkGetPipelineKeyKHR vkGetPipelineKeyKHR; +extern VOLK_API PFN_vkReleaseCapturedPipelineDataKHR vkReleaseCapturedPipelineDataKHR; #endif /* defined(VK_KHR_pipeline_binary) */ #if defined(VK_KHR_pipeline_executable_properties) -extern PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR; -extern PFN_vkGetPipelineExecutablePropertiesKHR vkGetPipelineExecutablePropertiesKHR; -extern PFN_vkGetPipelineExecutableStatisticsKHR vkGetPipelineExecutableStatisticsKHR; +extern VOLK_API PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR; +extern VOLK_API PFN_vkGetPipelineExecutablePropertiesKHR vkGetPipelineExecutablePropertiesKHR; +extern VOLK_API PFN_vkGetPipelineExecutableStatisticsKHR vkGetPipelineExecutableStatisticsKHR; #endif /* defined(VK_KHR_pipeline_executable_properties) */ #if defined(VK_KHR_present_wait) -extern PFN_vkWaitForPresentKHR vkWaitForPresentKHR; +extern VOLK_API PFN_vkWaitForPresentKHR vkWaitForPresentKHR; #endif /* defined(VK_KHR_present_wait) */ #if defined(VK_KHR_present_wait2) -extern PFN_vkWaitForPresent2KHR vkWaitForPresent2KHR; +extern VOLK_API PFN_vkWaitForPresent2KHR vkWaitForPresent2KHR; #endif /* defined(VK_KHR_present_wait2) */ #if defined(VK_KHR_push_descriptor) -extern PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR; +extern VOLK_API PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR; #endif /* defined(VK_KHR_push_descriptor) */ #if defined(VK_KHR_ray_tracing_maintenance1) && defined(VK_KHR_ray_tracing_pipeline) -extern PFN_vkCmdTraceRaysIndirect2KHR vkCmdTraceRaysIndirect2KHR; +extern VOLK_API PFN_vkCmdTraceRaysIndirect2KHR vkCmdTraceRaysIndirect2KHR; #endif /* defined(VK_KHR_ray_tracing_maintenance1) && defined(VK_KHR_ray_tracing_pipeline) */ #if defined(VK_KHR_ray_tracing_pipeline) -extern PFN_vkCmdSetRayTracingPipelineStackSizeKHR vkCmdSetRayTracingPipelineStackSizeKHR; -extern PFN_vkCmdTraceRaysIndirectKHR vkCmdTraceRaysIndirectKHR; -extern PFN_vkCmdTraceRaysKHR vkCmdTraceRaysKHR; -extern PFN_vkCreateRayTracingPipelinesKHR vkCreateRayTracingPipelinesKHR; -extern PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR; -extern PFN_vkGetRayTracingShaderGroupHandlesKHR vkGetRayTracingShaderGroupHandlesKHR; -extern PFN_vkGetRayTracingShaderGroupStackSizeKHR vkGetRayTracingShaderGroupStackSizeKHR; +extern VOLK_API PFN_vkCmdSetRayTracingPipelineStackSizeKHR vkCmdSetRayTracingPipelineStackSizeKHR; +extern VOLK_API PFN_vkCmdTraceRaysIndirectKHR vkCmdTraceRaysIndirectKHR; +extern VOLK_API PFN_vkCmdTraceRaysKHR vkCmdTraceRaysKHR; +extern VOLK_API PFN_vkCreateRayTracingPipelinesKHR vkCreateRayTracingPipelinesKHR; +extern VOLK_API PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR; +extern VOLK_API PFN_vkGetRayTracingShaderGroupHandlesKHR vkGetRayTracingShaderGroupHandlesKHR; +extern VOLK_API PFN_vkGetRayTracingShaderGroupStackSizeKHR vkGetRayTracingShaderGroupStackSizeKHR; #endif /* defined(VK_KHR_ray_tracing_pipeline) */ #if defined(VK_KHR_sampler_ycbcr_conversion) -extern PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR; -extern PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR; +extern VOLK_API PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR; +extern VOLK_API PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR; #endif /* defined(VK_KHR_sampler_ycbcr_conversion) */ #if defined(VK_KHR_shared_presentable_image) -extern PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR; +extern VOLK_API PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR; #endif /* defined(VK_KHR_shared_presentable_image) */ #if defined(VK_KHR_swapchain) -extern PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR; -extern PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR; -extern PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR; -extern PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR; -extern PFN_vkQueuePresentKHR vkQueuePresentKHR; +extern VOLK_API PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR; +extern VOLK_API PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR; +extern VOLK_API PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR; +extern VOLK_API PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR; +extern VOLK_API PFN_vkQueuePresentKHR vkQueuePresentKHR; #endif /* defined(VK_KHR_swapchain) */ #if defined(VK_KHR_swapchain_maintenance1) -extern PFN_vkReleaseSwapchainImagesKHR vkReleaseSwapchainImagesKHR; +extern VOLK_API PFN_vkReleaseSwapchainImagesKHR vkReleaseSwapchainImagesKHR; #endif /* defined(VK_KHR_swapchain_maintenance1) */ #if defined(VK_KHR_synchronization2) -extern PFN_vkCmdPipelineBarrier2KHR vkCmdPipelineBarrier2KHR; -extern PFN_vkCmdResetEvent2KHR vkCmdResetEvent2KHR; -extern PFN_vkCmdSetEvent2KHR vkCmdSetEvent2KHR; -extern PFN_vkCmdWaitEvents2KHR vkCmdWaitEvents2KHR; -extern PFN_vkCmdWriteTimestamp2KHR vkCmdWriteTimestamp2KHR; -extern PFN_vkQueueSubmit2KHR vkQueueSubmit2KHR; +extern VOLK_API PFN_vkCmdPipelineBarrier2KHR vkCmdPipelineBarrier2KHR; +extern VOLK_API PFN_vkCmdResetEvent2KHR vkCmdResetEvent2KHR; +extern VOLK_API PFN_vkCmdSetEvent2KHR vkCmdSetEvent2KHR; +extern VOLK_API PFN_vkCmdWaitEvents2KHR vkCmdWaitEvents2KHR; +extern VOLK_API PFN_vkCmdWriteTimestamp2KHR vkCmdWriteTimestamp2KHR; +extern VOLK_API PFN_vkQueueSubmit2KHR vkQueueSubmit2KHR; #endif /* defined(VK_KHR_synchronization2) */ #if defined(VK_KHR_timeline_semaphore) -extern PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR; -extern PFN_vkSignalSemaphoreKHR vkSignalSemaphoreKHR; -extern PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR; +extern VOLK_API PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR; +extern VOLK_API PFN_vkSignalSemaphoreKHR vkSignalSemaphoreKHR; +extern VOLK_API PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR; #endif /* defined(VK_KHR_timeline_semaphore) */ #if defined(VK_KHR_video_decode_queue) -extern PFN_vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR; +extern VOLK_API PFN_vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR; #endif /* defined(VK_KHR_video_decode_queue) */ #if defined(VK_KHR_video_encode_queue) -extern PFN_vkCmdEncodeVideoKHR vkCmdEncodeVideoKHR; -extern PFN_vkGetEncodedVideoSessionParametersKHR vkGetEncodedVideoSessionParametersKHR; +extern VOLK_API PFN_vkCmdEncodeVideoKHR vkCmdEncodeVideoKHR; +extern VOLK_API PFN_vkGetEncodedVideoSessionParametersKHR vkGetEncodedVideoSessionParametersKHR; #endif /* defined(VK_KHR_video_encode_queue) */ #if defined(VK_KHR_video_queue) -extern PFN_vkBindVideoSessionMemoryKHR vkBindVideoSessionMemoryKHR; -extern PFN_vkCmdBeginVideoCodingKHR vkCmdBeginVideoCodingKHR; -extern PFN_vkCmdControlVideoCodingKHR vkCmdControlVideoCodingKHR; -extern PFN_vkCmdEndVideoCodingKHR vkCmdEndVideoCodingKHR; -extern PFN_vkCreateVideoSessionKHR vkCreateVideoSessionKHR; -extern PFN_vkCreateVideoSessionParametersKHR vkCreateVideoSessionParametersKHR; -extern PFN_vkDestroyVideoSessionKHR vkDestroyVideoSessionKHR; -extern PFN_vkDestroyVideoSessionParametersKHR vkDestroyVideoSessionParametersKHR; -extern PFN_vkGetVideoSessionMemoryRequirementsKHR vkGetVideoSessionMemoryRequirementsKHR; -extern PFN_vkUpdateVideoSessionParametersKHR vkUpdateVideoSessionParametersKHR; +extern VOLK_API PFN_vkBindVideoSessionMemoryKHR vkBindVideoSessionMemoryKHR; +extern VOLK_API PFN_vkCmdBeginVideoCodingKHR vkCmdBeginVideoCodingKHR; +extern VOLK_API PFN_vkCmdControlVideoCodingKHR vkCmdControlVideoCodingKHR; +extern VOLK_API PFN_vkCmdEndVideoCodingKHR vkCmdEndVideoCodingKHR; +extern VOLK_API PFN_vkCreateVideoSessionKHR vkCreateVideoSessionKHR; +extern VOLK_API PFN_vkCreateVideoSessionParametersKHR vkCreateVideoSessionParametersKHR; +extern VOLK_API PFN_vkDestroyVideoSessionKHR vkDestroyVideoSessionKHR; +extern VOLK_API PFN_vkDestroyVideoSessionParametersKHR vkDestroyVideoSessionParametersKHR; +extern VOLK_API PFN_vkGetVideoSessionMemoryRequirementsKHR vkGetVideoSessionMemoryRequirementsKHR; +extern VOLK_API PFN_vkUpdateVideoSessionParametersKHR vkUpdateVideoSessionParametersKHR; #endif /* defined(VK_KHR_video_queue) */ #if defined(VK_NVX_binary_import) -extern PFN_vkCmdCuLaunchKernelNVX vkCmdCuLaunchKernelNVX; -extern PFN_vkCreateCuFunctionNVX vkCreateCuFunctionNVX; -extern PFN_vkCreateCuModuleNVX vkCreateCuModuleNVX; -extern PFN_vkDestroyCuFunctionNVX vkDestroyCuFunctionNVX; -extern PFN_vkDestroyCuModuleNVX vkDestroyCuModuleNVX; +extern VOLK_API PFN_vkCmdCuLaunchKernelNVX vkCmdCuLaunchKernelNVX; +extern VOLK_API PFN_vkCreateCuFunctionNVX vkCreateCuFunctionNVX; +extern VOLK_API PFN_vkCreateCuModuleNVX vkCreateCuModuleNVX; +extern VOLK_API PFN_vkDestroyCuFunctionNVX vkDestroyCuFunctionNVX; +extern VOLK_API PFN_vkDestroyCuModuleNVX vkDestroyCuModuleNVX; #endif /* defined(VK_NVX_binary_import) */ #if defined(VK_NVX_image_view_handle) -extern PFN_vkGetImageViewHandleNVX vkGetImageViewHandleNVX; +extern VOLK_API PFN_vkGetImageViewHandleNVX vkGetImageViewHandleNVX; #endif /* defined(VK_NVX_image_view_handle) */ #if defined(VK_NVX_image_view_handle) && VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION >= 3 -extern PFN_vkGetImageViewHandle64NVX vkGetImageViewHandle64NVX; +extern VOLK_API PFN_vkGetImageViewHandle64NVX vkGetImageViewHandle64NVX; #endif /* defined(VK_NVX_image_view_handle) && VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION >= 3 */ #if defined(VK_NVX_image_view_handle) && VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION >= 2 -extern PFN_vkGetImageViewAddressNVX vkGetImageViewAddressNVX; +extern VOLK_API PFN_vkGetImageViewAddressNVX vkGetImageViewAddressNVX; #endif /* defined(VK_NVX_image_view_handle) && VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION >= 2 */ #if defined(VK_NV_clip_space_w_scaling) -extern PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV; +extern VOLK_API PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV; #endif /* defined(VK_NV_clip_space_w_scaling) */ #if defined(VK_NV_cluster_acceleration_structure) -extern PFN_vkCmdBuildClusterAccelerationStructureIndirectNV vkCmdBuildClusterAccelerationStructureIndirectNV; -extern PFN_vkGetClusterAccelerationStructureBuildSizesNV vkGetClusterAccelerationStructureBuildSizesNV; +extern VOLK_API PFN_vkCmdBuildClusterAccelerationStructureIndirectNV vkCmdBuildClusterAccelerationStructureIndirectNV; +extern VOLK_API PFN_vkGetClusterAccelerationStructureBuildSizesNV vkGetClusterAccelerationStructureBuildSizesNV; #endif /* defined(VK_NV_cluster_acceleration_structure) */ #if defined(VK_NV_cooperative_vector) -extern PFN_vkCmdConvertCooperativeVectorMatrixNV vkCmdConvertCooperativeVectorMatrixNV; -extern PFN_vkConvertCooperativeVectorMatrixNV vkConvertCooperativeVectorMatrixNV; +extern VOLK_API PFN_vkCmdConvertCooperativeVectorMatrixNV vkCmdConvertCooperativeVectorMatrixNV; +extern VOLK_API PFN_vkConvertCooperativeVectorMatrixNV vkConvertCooperativeVectorMatrixNV; #endif /* defined(VK_NV_cooperative_vector) */ #if defined(VK_NV_copy_memory_indirect) -extern PFN_vkCmdCopyMemoryIndirectNV vkCmdCopyMemoryIndirectNV; -extern PFN_vkCmdCopyMemoryToImageIndirectNV vkCmdCopyMemoryToImageIndirectNV; +extern VOLK_API PFN_vkCmdCopyMemoryIndirectNV vkCmdCopyMemoryIndirectNV; +extern VOLK_API PFN_vkCmdCopyMemoryToImageIndirectNV vkCmdCopyMemoryToImageIndirectNV; #endif /* defined(VK_NV_copy_memory_indirect) */ #if defined(VK_NV_cuda_kernel_launch) -extern PFN_vkCmdCudaLaunchKernelNV vkCmdCudaLaunchKernelNV; -extern PFN_vkCreateCudaFunctionNV vkCreateCudaFunctionNV; -extern PFN_vkCreateCudaModuleNV vkCreateCudaModuleNV; -extern PFN_vkDestroyCudaFunctionNV vkDestroyCudaFunctionNV; -extern PFN_vkDestroyCudaModuleNV vkDestroyCudaModuleNV; -extern PFN_vkGetCudaModuleCacheNV vkGetCudaModuleCacheNV; +extern VOLK_API PFN_vkCmdCudaLaunchKernelNV vkCmdCudaLaunchKernelNV; +extern VOLK_API PFN_vkCreateCudaFunctionNV vkCreateCudaFunctionNV; +extern VOLK_API PFN_vkCreateCudaModuleNV vkCreateCudaModuleNV; +extern VOLK_API PFN_vkDestroyCudaFunctionNV vkDestroyCudaFunctionNV; +extern VOLK_API PFN_vkDestroyCudaModuleNV vkDestroyCudaModuleNV; +extern VOLK_API PFN_vkGetCudaModuleCacheNV vkGetCudaModuleCacheNV; #endif /* defined(VK_NV_cuda_kernel_launch) */ #if defined(VK_NV_device_diagnostic_checkpoints) -extern PFN_vkCmdSetCheckpointNV vkCmdSetCheckpointNV; -extern PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV; +extern VOLK_API PFN_vkCmdSetCheckpointNV vkCmdSetCheckpointNV; +extern VOLK_API PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV; #endif /* defined(VK_NV_device_diagnostic_checkpoints) */ #if defined(VK_NV_device_diagnostic_checkpoints) && (defined(VK_VERSION_1_3) || defined(VK_KHR_synchronization2)) -extern PFN_vkGetQueueCheckpointData2NV vkGetQueueCheckpointData2NV; +extern VOLK_API PFN_vkGetQueueCheckpointData2NV vkGetQueueCheckpointData2NV; #endif /* defined(VK_NV_device_diagnostic_checkpoints) && (defined(VK_VERSION_1_3) || defined(VK_KHR_synchronization2)) */ #if defined(VK_NV_device_generated_commands) -extern PFN_vkCmdBindPipelineShaderGroupNV vkCmdBindPipelineShaderGroupNV; -extern PFN_vkCmdExecuteGeneratedCommandsNV vkCmdExecuteGeneratedCommandsNV; -extern PFN_vkCmdPreprocessGeneratedCommandsNV vkCmdPreprocessGeneratedCommandsNV; -extern PFN_vkCreateIndirectCommandsLayoutNV vkCreateIndirectCommandsLayoutNV; -extern PFN_vkDestroyIndirectCommandsLayoutNV vkDestroyIndirectCommandsLayoutNV; -extern PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV; +extern VOLK_API PFN_vkCmdBindPipelineShaderGroupNV vkCmdBindPipelineShaderGroupNV; +extern VOLK_API PFN_vkCmdExecuteGeneratedCommandsNV vkCmdExecuteGeneratedCommandsNV; +extern VOLK_API PFN_vkCmdPreprocessGeneratedCommandsNV vkCmdPreprocessGeneratedCommandsNV; +extern VOLK_API PFN_vkCreateIndirectCommandsLayoutNV vkCreateIndirectCommandsLayoutNV; +extern VOLK_API PFN_vkDestroyIndirectCommandsLayoutNV vkDestroyIndirectCommandsLayoutNV; +extern VOLK_API PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV; #endif /* defined(VK_NV_device_generated_commands) */ #if defined(VK_NV_device_generated_commands_compute) -extern PFN_vkCmdUpdatePipelineIndirectBufferNV vkCmdUpdatePipelineIndirectBufferNV; -extern PFN_vkGetPipelineIndirectDeviceAddressNV vkGetPipelineIndirectDeviceAddressNV; -extern PFN_vkGetPipelineIndirectMemoryRequirementsNV vkGetPipelineIndirectMemoryRequirementsNV; +extern VOLK_API PFN_vkCmdUpdatePipelineIndirectBufferNV vkCmdUpdatePipelineIndirectBufferNV; +extern VOLK_API PFN_vkGetPipelineIndirectDeviceAddressNV vkGetPipelineIndirectDeviceAddressNV; +extern VOLK_API PFN_vkGetPipelineIndirectMemoryRequirementsNV vkGetPipelineIndirectMemoryRequirementsNV; #endif /* defined(VK_NV_device_generated_commands_compute) */ #if defined(VK_NV_external_compute_queue) -extern PFN_vkCreateExternalComputeQueueNV vkCreateExternalComputeQueueNV; -extern PFN_vkDestroyExternalComputeQueueNV vkDestroyExternalComputeQueueNV; -extern PFN_vkGetExternalComputeQueueDataNV vkGetExternalComputeQueueDataNV; +extern VOLK_API PFN_vkCreateExternalComputeQueueNV vkCreateExternalComputeQueueNV; +extern VOLK_API PFN_vkDestroyExternalComputeQueueNV vkDestroyExternalComputeQueueNV; +extern VOLK_API PFN_vkGetExternalComputeQueueDataNV vkGetExternalComputeQueueDataNV; #endif /* defined(VK_NV_external_compute_queue) */ #if defined(VK_NV_external_memory_rdma) -extern PFN_vkGetMemoryRemoteAddressNV vkGetMemoryRemoteAddressNV; +extern VOLK_API PFN_vkGetMemoryRemoteAddressNV vkGetMemoryRemoteAddressNV; #endif /* defined(VK_NV_external_memory_rdma) */ #if defined(VK_NV_external_memory_win32) -extern PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV; +extern VOLK_API PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV; #endif /* defined(VK_NV_external_memory_win32) */ #if defined(VK_NV_fragment_shading_rate_enums) -extern PFN_vkCmdSetFragmentShadingRateEnumNV vkCmdSetFragmentShadingRateEnumNV; +extern VOLK_API PFN_vkCmdSetFragmentShadingRateEnumNV vkCmdSetFragmentShadingRateEnumNV; #endif /* defined(VK_NV_fragment_shading_rate_enums) */ #if defined(VK_NV_low_latency2) -extern PFN_vkGetLatencyTimingsNV vkGetLatencyTimingsNV; -extern PFN_vkLatencySleepNV vkLatencySleepNV; -extern PFN_vkQueueNotifyOutOfBandNV vkQueueNotifyOutOfBandNV; -extern PFN_vkSetLatencyMarkerNV vkSetLatencyMarkerNV; -extern PFN_vkSetLatencySleepModeNV vkSetLatencySleepModeNV; +extern VOLK_API PFN_vkGetLatencyTimingsNV vkGetLatencyTimingsNV; +extern VOLK_API PFN_vkLatencySleepNV vkLatencySleepNV; +extern VOLK_API PFN_vkQueueNotifyOutOfBandNV vkQueueNotifyOutOfBandNV; +extern VOLK_API PFN_vkSetLatencyMarkerNV vkSetLatencyMarkerNV; +extern VOLK_API PFN_vkSetLatencySleepModeNV vkSetLatencySleepModeNV; #endif /* defined(VK_NV_low_latency2) */ #if defined(VK_NV_memory_decompression) -extern PFN_vkCmdDecompressMemoryIndirectCountNV vkCmdDecompressMemoryIndirectCountNV; -extern PFN_vkCmdDecompressMemoryNV vkCmdDecompressMemoryNV; +extern VOLK_API PFN_vkCmdDecompressMemoryIndirectCountNV vkCmdDecompressMemoryIndirectCountNV; +extern VOLK_API PFN_vkCmdDecompressMemoryNV vkCmdDecompressMemoryNV; #endif /* defined(VK_NV_memory_decompression) */ #if defined(VK_NV_mesh_shader) -extern PFN_vkCmdDrawMeshTasksIndirectNV vkCmdDrawMeshTasksIndirectNV; -extern PFN_vkCmdDrawMeshTasksNV vkCmdDrawMeshTasksNV; +extern VOLK_API PFN_vkCmdDrawMeshTasksIndirectNV vkCmdDrawMeshTasksIndirectNV; +extern VOLK_API PFN_vkCmdDrawMeshTasksNV vkCmdDrawMeshTasksNV; #endif /* defined(VK_NV_mesh_shader) */ #if defined(VK_NV_mesh_shader) && (defined(VK_VERSION_1_2) || defined(VK_KHR_draw_indirect_count) || defined(VK_AMD_draw_indirect_count)) -extern PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV; +extern VOLK_API PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV; #endif /* defined(VK_NV_mesh_shader) && (defined(VK_VERSION_1_2) || defined(VK_KHR_draw_indirect_count) || defined(VK_AMD_draw_indirect_count)) */ #if defined(VK_NV_optical_flow) -extern PFN_vkBindOpticalFlowSessionImageNV vkBindOpticalFlowSessionImageNV; -extern PFN_vkCmdOpticalFlowExecuteNV vkCmdOpticalFlowExecuteNV; -extern PFN_vkCreateOpticalFlowSessionNV vkCreateOpticalFlowSessionNV; -extern PFN_vkDestroyOpticalFlowSessionNV vkDestroyOpticalFlowSessionNV; +extern VOLK_API PFN_vkBindOpticalFlowSessionImageNV vkBindOpticalFlowSessionImageNV; +extern VOLK_API PFN_vkCmdOpticalFlowExecuteNV vkCmdOpticalFlowExecuteNV; +extern VOLK_API PFN_vkCreateOpticalFlowSessionNV vkCreateOpticalFlowSessionNV; +extern VOLK_API PFN_vkDestroyOpticalFlowSessionNV vkDestroyOpticalFlowSessionNV; #endif /* defined(VK_NV_optical_flow) */ #if defined(VK_NV_partitioned_acceleration_structure) -extern PFN_vkCmdBuildPartitionedAccelerationStructuresNV vkCmdBuildPartitionedAccelerationStructuresNV; -extern PFN_vkGetPartitionedAccelerationStructuresBuildSizesNV vkGetPartitionedAccelerationStructuresBuildSizesNV; +extern VOLK_API PFN_vkCmdBuildPartitionedAccelerationStructuresNV vkCmdBuildPartitionedAccelerationStructuresNV; +extern VOLK_API PFN_vkGetPartitionedAccelerationStructuresBuildSizesNV vkGetPartitionedAccelerationStructuresBuildSizesNV; #endif /* defined(VK_NV_partitioned_acceleration_structure) */ #if defined(VK_NV_ray_tracing) -extern PFN_vkBindAccelerationStructureMemoryNV vkBindAccelerationStructureMemoryNV; -extern PFN_vkCmdBuildAccelerationStructureNV vkCmdBuildAccelerationStructureNV; -extern PFN_vkCmdCopyAccelerationStructureNV vkCmdCopyAccelerationStructureNV; -extern PFN_vkCmdTraceRaysNV vkCmdTraceRaysNV; -extern PFN_vkCmdWriteAccelerationStructuresPropertiesNV vkCmdWriteAccelerationStructuresPropertiesNV; -extern PFN_vkCompileDeferredNV vkCompileDeferredNV; -extern PFN_vkCreateAccelerationStructureNV vkCreateAccelerationStructureNV; -extern PFN_vkCreateRayTracingPipelinesNV vkCreateRayTracingPipelinesNV; -extern PFN_vkDestroyAccelerationStructureNV vkDestroyAccelerationStructureNV; -extern PFN_vkGetAccelerationStructureHandleNV vkGetAccelerationStructureHandleNV; -extern PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV; -extern PFN_vkGetRayTracingShaderGroupHandlesNV vkGetRayTracingShaderGroupHandlesNV; +extern VOLK_API PFN_vkBindAccelerationStructureMemoryNV vkBindAccelerationStructureMemoryNV; +extern VOLK_API PFN_vkCmdBuildAccelerationStructureNV vkCmdBuildAccelerationStructureNV; +extern VOLK_API PFN_vkCmdCopyAccelerationStructureNV vkCmdCopyAccelerationStructureNV; +extern VOLK_API PFN_vkCmdTraceRaysNV vkCmdTraceRaysNV; +extern VOLK_API PFN_vkCmdWriteAccelerationStructuresPropertiesNV vkCmdWriteAccelerationStructuresPropertiesNV; +extern VOLK_API PFN_vkCompileDeferredNV vkCompileDeferredNV; +extern VOLK_API PFN_vkCreateAccelerationStructureNV vkCreateAccelerationStructureNV; +extern VOLK_API PFN_vkCreateRayTracingPipelinesNV vkCreateRayTracingPipelinesNV; +extern VOLK_API PFN_vkDestroyAccelerationStructureNV vkDestroyAccelerationStructureNV; +extern VOLK_API PFN_vkGetAccelerationStructureHandleNV vkGetAccelerationStructureHandleNV; +extern VOLK_API PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV; +extern VOLK_API PFN_vkGetRayTracingShaderGroupHandlesNV vkGetRayTracingShaderGroupHandlesNV; #endif /* defined(VK_NV_ray_tracing) */ #if defined(VK_NV_scissor_exclusive) && VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION >= 2 -extern PFN_vkCmdSetExclusiveScissorEnableNV vkCmdSetExclusiveScissorEnableNV; +extern VOLK_API PFN_vkCmdSetExclusiveScissorEnableNV vkCmdSetExclusiveScissorEnableNV; #endif /* defined(VK_NV_scissor_exclusive) && VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION >= 2 */ #if defined(VK_NV_scissor_exclusive) -extern PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV; +extern VOLK_API PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV; #endif /* defined(VK_NV_scissor_exclusive) */ #if defined(VK_NV_shading_rate_image) -extern PFN_vkCmdBindShadingRateImageNV vkCmdBindShadingRateImageNV; -extern PFN_vkCmdSetCoarseSampleOrderNV vkCmdSetCoarseSampleOrderNV; -extern PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV; +extern VOLK_API PFN_vkCmdBindShadingRateImageNV vkCmdBindShadingRateImageNV; +extern VOLK_API PFN_vkCmdSetCoarseSampleOrderNV vkCmdSetCoarseSampleOrderNV; +extern VOLK_API PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV; #endif /* defined(VK_NV_shading_rate_image) */ #if defined(VK_OHOS_external_memory) -extern PFN_vkGetMemoryNativeBufferOHOS vkGetMemoryNativeBufferOHOS; -extern PFN_vkGetNativeBufferPropertiesOHOS vkGetNativeBufferPropertiesOHOS; +extern VOLK_API PFN_vkGetMemoryNativeBufferOHOS vkGetMemoryNativeBufferOHOS; +extern VOLK_API PFN_vkGetNativeBufferPropertiesOHOS vkGetNativeBufferPropertiesOHOS; #endif /* defined(VK_OHOS_external_memory) */ #if defined(VK_OHOS_native_buffer) -extern PFN_vkAcquireImageOHOS vkAcquireImageOHOS; -extern PFN_vkGetSwapchainGrallocUsageOHOS vkGetSwapchainGrallocUsageOHOS; -extern PFN_vkQueueSignalReleaseImageOHOS vkQueueSignalReleaseImageOHOS; +extern VOLK_API PFN_vkAcquireImageOHOS vkAcquireImageOHOS; +extern VOLK_API PFN_vkGetSwapchainGrallocUsageOHOS vkGetSwapchainGrallocUsageOHOS; +extern VOLK_API PFN_vkQueueSignalReleaseImageOHOS vkQueueSignalReleaseImageOHOS; #endif /* defined(VK_OHOS_native_buffer) */ #if defined(VK_QCOM_tile_memory_heap) -extern PFN_vkCmdBindTileMemoryQCOM vkCmdBindTileMemoryQCOM; +extern VOLK_API PFN_vkCmdBindTileMemoryQCOM vkCmdBindTileMemoryQCOM; #endif /* defined(VK_QCOM_tile_memory_heap) */ #if defined(VK_QCOM_tile_properties) -extern PFN_vkGetDynamicRenderingTilePropertiesQCOM vkGetDynamicRenderingTilePropertiesQCOM; -extern PFN_vkGetFramebufferTilePropertiesQCOM vkGetFramebufferTilePropertiesQCOM; +extern VOLK_API PFN_vkGetDynamicRenderingTilePropertiesQCOM vkGetDynamicRenderingTilePropertiesQCOM; +extern VOLK_API PFN_vkGetFramebufferTilePropertiesQCOM vkGetFramebufferTilePropertiesQCOM; #endif /* defined(VK_QCOM_tile_properties) */ #if defined(VK_QCOM_tile_shading) -extern PFN_vkCmdBeginPerTileExecutionQCOM vkCmdBeginPerTileExecutionQCOM; -extern PFN_vkCmdDispatchTileQCOM vkCmdDispatchTileQCOM; -extern PFN_vkCmdEndPerTileExecutionQCOM vkCmdEndPerTileExecutionQCOM; +extern VOLK_API PFN_vkCmdBeginPerTileExecutionQCOM vkCmdBeginPerTileExecutionQCOM; +extern VOLK_API PFN_vkCmdDispatchTileQCOM vkCmdDispatchTileQCOM; +extern VOLK_API PFN_vkCmdEndPerTileExecutionQCOM vkCmdEndPerTileExecutionQCOM; #endif /* defined(VK_QCOM_tile_shading) */ #if defined(VK_QNX_external_memory_screen_buffer) -extern PFN_vkGetScreenBufferPropertiesQNX vkGetScreenBufferPropertiesQNX; +extern VOLK_API PFN_vkGetScreenBufferPropertiesQNX vkGetScreenBufferPropertiesQNX; #endif /* defined(VK_QNX_external_memory_screen_buffer) */ #if defined(VK_VALVE_descriptor_set_host_mapping) -extern PFN_vkGetDescriptorSetHostMappingVALVE vkGetDescriptorSetHostMappingVALVE; -extern PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE vkGetDescriptorSetLayoutHostMappingInfoVALVE; +extern VOLK_API PFN_vkGetDescriptorSetHostMappingVALVE vkGetDescriptorSetHostMappingVALVE; +extern VOLK_API PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE vkGetDescriptorSetLayoutHostMappingInfoVALVE; #endif /* defined(VK_VALVE_descriptor_set_host_mapping) */ #if (defined(VK_EXT_depth_clamp_control)) || (defined(VK_EXT_shader_object) && defined(VK_EXT_depth_clamp_control)) -extern PFN_vkCmdSetDepthClampRangeEXT vkCmdSetDepthClampRangeEXT; +extern VOLK_API PFN_vkCmdSetDepthClampRangeEXT vkCmdSetDepthClampRangeEXT; #endif /* (defined(VK_EXT_depth_clamp_control)) || (defined(VK_EXT_shader_object) && defined(VK_EXT_depth_clamp_control)) */ #if (defined(VK_EXT_extended_dynamic_state)) || (defined(VK_EXT_shader_object)) -extern PFN_vkCmdBindVertexBuffers2EXT vkCmdBindVertexBuffers2EXT; -extern PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT; -extern PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT; -extern PFN_vkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXT; -extern PFN_vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT; -extern PFN_vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT; -extern PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT; -extern PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT; -extern PFN_vkCmdSetScissorWithCountEXT vkCmdSetScissorWithCountEXT; -extern PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT; -extern PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT; -extern PFN_vkCmdSetViewportWithCountEXT vkCmdSetViewportWithCountEXT; +extern VOLK_API PFN_vkCmdBindVertexBuffers2EXT vkCmdBindVertexBuffers2EXT; +extern VOLK_API PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT; +extern VOLK_API PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT; +extern VOLK_API PFN_vkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXT; +extern VOLK_API PFN_vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT; +extern VOLK_API PFN_vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT; +extern VOLK_API PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT; +extern VOLK_API PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT; +extern VOLK_API PFN_vkCmdSetScissorWithCountEXT vkCmdSetScissorWithCountEXT; +extern VOLK_API PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT; +extern VOLK_API PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT; +extern VOLK_API PFN_vkCmdSetViewportWithCountEXT vkCmdSetViewportWithCountEXT; #endif /* (defined(VK_EXT_extended_dynamic_state)) || (defined(VK_EXT_shader_object)) */ #if (defined(VK_EXT_extended_dynamic_state2)) || (defined(VK_EXT_shader_object)) -extern PFN_vkCmdSetDepthBiasEnableEXT vkCmdSetDepthBiasEnableEXT; -extern PFN_vkCmdSetLogicOpEXT vkCmdSetLogicOpEXT; -extern PFN_vkCmdSetPatchControlPointsEXT vkCmdSetPatchControlPointsEXT; -extern PFN_vkCmdSetPrimitiveRestartEnableEXT vkCmdSetPrimitiveRestartEnableEXT; -extern PFN_vkCmdSetRasterizerDiscardEnableEXT vkCmdSetRasterizerDiscardEnableEXT; +extern VOLK_API PFN_vkCmdSetDepthBiasEnableEXT vkCmdSetDepthBiasEnableEXT; +extern VOLK_API PFN_vkCmdSetLogicOpEXT vkCmdSetLogicOpEXT; +extern VOLK_API PFN_vkCmdSetPatchControlPointsEXT vkCmdSetPatchControlPointsEXT; +extern VOLK_API PFN_vkCmdSetPrimitiveRestartEnableEXT vkCmdSetPrimitiveRestartEnableEXT; +extern VOLK_API PFN_vkCmdSetRasterizerDiscardEnableEXT vkCmdSetRasterizerDiscardEnableEXT; #endif /* (defined(VK_EXT_extended_dynamic_state2)) || (defined(VK_EXT_shader_object)) */ #if (defined(VK_EXT_extended_dynamic_state3)) || (defined(VK_EXT_shader_object)) -extern PFN_vkCmdSetAlphaToCoverageEnableEXT vkCmdSetAlphaToCoverageEnableEXT; -extern PFN_vkCmdSetAlphaToOneEnableEXT vkCmdSetAlphaToOneEnableEXT; -extern PFN_vkCmdSetColorBlendEnableEXT vkCmdSetColorBlendEnableEXT; -extern PFN_vkCmdSetColorBlendEquationEXT vkCmdSetColorBlendEquationEXT; -extern PFN_vkCmdSetColorWriteMaskEXT vkCmdSetColorWriteMaskEXT; -extern PFN_vkCmdSetDepthClampEnableEXT vkCmdSetDepthClampEnableEXT; -extern PFN_vkCmdSetLogicOpEnableEXT vkCmdSetLogicOpEnableEXT; -extern PFN_vkCmdSetPolygonModeEXT vkCmdSetPolygonModeEXT; -extern PFN_vkCmdSetRasterizationSamplesEXT vkCmdSetRasterizationSamplesEXT; -extern PFN_vkCmdSetSampleMaskEXT vkCmdSetSampleMaskEXT; +extern VOLK_API PFN_vkCmdSetAlphaToCoverageEnableEXT vkCmdSetAlphaToCoverageEnableEXT; +extern VOLK_API PFN_vkCmdSetAlphaToOneEnableEXT vkCmdSetAlphaToOneEnableEXT; +extern VOLK_API PFN_vkCmdSetColorBlendEnableEXT vkCmdSetColorBlendEnableEXT; +extern VOLK_API PFN_vkCmdSetColorBlendEquationEXT vkCmdSetColorBlendEquationEXT; +extern VOLK_API PFN_vkCmdSetColorWriteMaskEXT vkCmdSetColorWriteMaskEXT; +extern VOLK_API PFN_vkCmdSetDepthClampEnableEXT vkCmdSetDepthClampEnableEXT; +extern VOLK_API PFN_vkCmdSetLogicOpEnableEXT vkCmdSetLogicOpEnableEXT; +extern VOLK_API PFN_vkCmdSetPolygonModeEXT vkCmdSetPolygonModeEXT; +extern VOLK_API PFN_vkCmdSetRasterizationSamplesEXT vkCmdSetRasterizationSamplesEXT; +extern VOLK_API PFN_vkCmdSetSampleMaskEXT vkCmdSetSampleMaskEXT; #endif /* (defined(VK_EXT_extended_dynamic_state3)) || (defined(VK_EXT_shader_object)) */ #if (defined(VK_EXT_extended_dynamic_state3) && (defined(VK_KHR_maintenance2) || defined(VK_VERSION_1_1))) || (defined(VK_EXT_shader_object)) -extern PFN_vkCmdSetTessellationDomainOriginEXT vkCmdSetTessellationDomainOriginEXT; +extern VOLK_API PFN_vkCmdSetTessellationDomainOriginEXT vkCmdSetTessellationDomainOriginEXT; #endif /* (defined(VK_EXT_extended_dynamic_state3) && (defined(VK_KHR_maintenance2) || defined(VK_VERSION_1_1))) || (defined(VK_EXT_shader_object)) */ #if (defined(VK_EXT_extended_dynamic_state3) && defined(VK_EXT_transform_feedback)) || (defined(VK_EXT_shader_object) && defined(VK_EXT_transform_feedback)) -extern PFN_vkCmdSetRasterizationStreamEXT vkCmdSetRasterizationStreamEXT; +extern VOLK_API PFN_vkCmdSetRasterizationStreamEXT vkCmdSetRasterizationStreamEXT; #endif /* (defined(VK_EXT_extended_dynamic_state3) && defined(VK_EXT_transform_feedback)) || (defined(VK_EXT_shader_object) && defined(VK_EXT_transform_feedback)) */ #if (defined(VK_EXT_extended_dynamic_state3) && defined(VK_EXT_conservative_rasterization)) || (defined(VK_EXT_shader_object) && defined(VK_EXT_conservative_rasterization)) -extern PFN_vkCmdSetConservativeRasterizationModeEXT vkCmdSetConservativeRasterizationModeEXT; -extern PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT vkCmdSetExtraPrimitiveOverestimationSizeEXT; +extern VOLK_API PFN_vkCmdSetConservativeRasterizationModeEXT vkCmdSetConservativeRasterizationModeEXT; +extern VOLK_API PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT vkCmdSetExtraPrimitiveOverestimationSizeEXT; #endif /* (defined(VK_EXT_extended_dynamic_state3) && defined(VK_EXT_conservative_rasterization)) || (defined(VK_EXT_shader_object) && defined(VK_EXT_conservative_rasterization)) */ #if (defined(VK_EXT_extended_dynamic_state3) && defined(VK_EXT_depth_clip_enable)) || (defined(VK_EXT_shader_object) && defined(VK_EXT_depth_clip_enable)) -extern PFN_vkCmdSetDepthClipEnableEXT vkCmdSetDepthClipEnableEXT; +extern VOLK_API PFN_vkCmdSetDepthClipEnableEXT vkCmdSetDepthClipEnableEXT; #endif /* (defined(VK_EXT_extended_dynamic_state3) && defined(VK_EXT_depth_clip_enable)) || (defined(VK_EXT_shader_object) && defined(VK_EXT_depth_clip_enable)) */ #if (defined(VK_EXT_extended_dynamic_state3) && defined(VK_EXT_sample_locations)) || (defined(VK_EXT_shader_object) && defined(VK_EXT_sample_locations)) -extern PFN_vkCmdSetSampleLocationsEnableEXT vkCmdSetSampleLocationsEnableEXT; +extern VOLK_API PFN_vkCmdSetSampleLocationsEnableEXT vkCmdSetSampleLocationsEnableEXT; #endif /* (defined(VK_EXT_extended_dynamic_state3) && defined(VK_EXT_sample_locations)) || (defined(VK_EXT_shader_object) && defined(VK_EXT_sample_locations)) */ #if (defined(VK_EXT_extended_dynamic_state3) && defined(VK_EXT_blend_operation_advanced)) || (defined(VK_EXT_shader_object) && defined(VK_EXT_blend_operation_advanced)) -extern PFN_vkCmdSetColorBlendAdvancedEXT vkCmdSetColorBlendAdvancedEXT; +extern VOLK_API PFN_vkCmdSetColorBlendAdvancedEXT vkCmdSetColorBlendAdvancedEXT; #endif /* (defined(VK_EXT_extended_dynamic_state3) && defined(VK_EXT_blend_operation_advanced)) || (defined(VK_EXT_shader_object) && defined(VK_EXT_blend_operation_advanced)) */ #if (defined(VK_EXT_extended_dynamic_state3) && defined(VK_EXT_provoking_vertex)) || (defined(VK_EXT_shader_object) && defined(VK_EXT_provoking_vertex)) -extern PFN_vkCmdSetProvokingVertexModeEXT vkCmdSetProvokingVertexModeEXT; +extern VOLK_API PFN_vkCmdSetProvokingVertexModeEXT vkCmdSetProvokingVertexModeEXT; #endif /* (defined(VK_EXT_extended_dynamic_state3) && defined(VK_EXT_provoking_vertex)) || (defined(VK_EXT_shader_object) && defined(VK_EXT_provoking_vertex)) */ #if (defined(VK_EXT_extended_dynamic_state3) && defined(VK_EXT_line_rasterization)) || (defined(VK_EXT_shader_object) && defined(VK_EXT_line_rasterization)) -extern PFN_vkCmdSetLineRasterizationModeEXT vkCmdSetLineRasterizationModeEXT; -extern PFN_vkCmdSetLineStippleEnableEXT vkCmdSetLineStippleEnableEXT; +extern VOLK_API PFN_vkCmdSetLineRasterizationModeEXT vkCmdSetLineRasterizationModeEXT; +extern VOLK_API PFN_vkCmdSetLineStippleEnableEXT vkCmdSetLineStippleEnableEXT; #endif /* (defined(VK_EXT_extended_dynamic_state3) && defined(VK_EXT_line_rasterization)) || (defined(VK_EXT_shader_object) && defined(VK_EXT_line_rasterization)) */ #if (defined(VK_EXT_extended_dynamic_state3) && defined(VK_EXT_depth_clip_control)) || (defined(VK_EXT_shader_object) && defined(VK_EXT_depth_clip_control)) -extern PFN_vkCmdSetDepthClipNegativeOneToOneEXT vkCmdSetDepthClipNegativeOneToOneEXT; +extern VOLK_API PFN_vkCmdSetDepthClipNegativeOneToOneEXT vkCmdSetDepthClipNegativeOneToOneEXT; #endif /* (defined(VK_EXT_extended_dynamic_state3) && defined(VK_EXT_depth_clip_control)) || (defined(VK_EXT_shader_object) && defined(VK_EXT_depth_clip_control)) */ #if (defined(VK_EXT_extended_dynamic_state3) && defined(VK_NV_clip_space_w_scaling)) || (defined(VK_EXT_shader_object) && defined(VK_NV_clip_space_w_scaling)) -extern PFN_vkCmdSetViewportWScalingEnableNV vkCmdSetViewportWScalingEnableNV; +extern VOLK_API PFN_vkCmdSetViewportWScalingEnableNV vkCmdSetViewportWScalingEnableNV; #endif /* (defined(VK_EXT_extended_dynamic_state3) && defined(VK_NV_clip_space_w_scaling)) || (defined(VK_EXT_shader_object) && defined(VK_NV_clip_space_w_scaling)) */ #if (defined(VK_EXT_extended_dynamic_state3) && defined(VK_NV_viewport_swizzle)) || (defined(VK_EXT_shader_object) && defined(VK_NV_viewport_swizzle)) -extern PFN_vkCmdSetViewportSwizzleNV vkCmdSetViewportSwizzleNV; +extern VOLK_API PFN_vkCmdSetViewportSwizzleNV vkCmdSetViewportSwizzleNV; #endif /* (defined(VK_EXT_extended_dynamic_state3) && defined(VK_NV_viewport_swizzle)) || (defined(VK_EXT_shader_object) && defined(VK_NV_viewport_swizzle)) */ #if (defined(VK_EXT_extended_dynamic_state3) && defined(VK_NV_fragment_coverage_to_color)) || (defined(VK_EXT_shader_object) && defined(VK_NV_fragment_coverage_to_color)) -extern PFN_vkCmdSetCoverageToColorEnableNV vkCmdSetCoverageToColorEnableNV; -extern PFN_vkCmdSetCoverageToColorLocationNV vkCmdSetCoverageToColorLocationNV; +extern VOLK_API PFN_vkCmdSetCoverageToColorEnableNV vkCmdSetCoverageToColorEnableNV; +extern VOLK_API PFN_vkCmdSetCoverageToColorLocationNV vkCmdSetCoverageToColorLocationNV; #endif /* (defined(VK_EXT_extended_dynamic_state3) && defined(VK_NV_fragment_coverage_to_color)) || (defined(VK_EXT_shader_object) && defined(VK_NV_fragment_coverage_to_color)) */ #if (defined(VK_EXT_extended_dynamic_state3) && defined(VK_NV_framebuffer_mixed_samples)) || (defined(VK_EXT_shader_object) && defined(VK_NV_framebuffer_mixed_samples)) -extern PFN_vkCmdSetCoverageModulationModeNV vkCmdSetCoverageModulationModeNV; -extern PFN_vkCmdSetCoverageModulationTableEnableNV vkCmdSetCoverageModulationTableEnableNV; -extern PFN_vkCmdSetCoverageModulationTableNV vkCmdSetCoverageModulationTableNV; +extern VOLK_API PFN_vkCmdSetCoverageModulationModeNV vkCmdSetCoverageModulationModeNV; +extern VOLK_API PFN_vkCmdSetCoverageModulationTableEnableNV vkCmdSetCoverageModulationTableEnableNV; +extern VOLK_API PFN_vkCmdSetCoverageModulationTableNV vkCmdSetCoverageModulationTableNV; #endif /* (defined(VK_EXT_extended_dynamic_state3) && defined(VK_NV_framebuffer_mixed_samples)) || (defined(VK_EXT_shader_object) && defined(VK_NV_framebuffer_mixed_samples)) */ #if (defined(VK_EXT_extended_dynamic_state3) && defined(VK_NV_shading_rate_image)) || (defined(VK_EXT_shader_object) && defined(VK_NV_shading_rate_image)) -extern PFN_vkCmdSetShadingRateImageEnableNV vkCmdSetShadingRateImageEnableNV; +extern VOLK_API PFN_vkCmdSetShadingRateImageEnableNV vkCmdSetShadingRateImageEnableNV; #endif /* (defined(VK_EXT_extended_dynamic_state3) && defined(VK_NV_shading_rate_image)) || (defined(VK_EXT_shader_object) && defined(VK_NV_shading_rate_image)) */ #if (defined(VK_EXT_extended_dynamic_state3) && defined(VK_NV_representative_fragment_test)) || (defined(VK_EXT_shader_object) && defined(VK_NV_representative_fragment_test)) -extern PFN_vkCmdSetRepresentativeFragmentTestEnableNV vkCmdSetRepresentativeFragmentTestEnableNV; +extern VOLK_API PFN_vkCmdSetRepresentativeFragmentTestEnableNV vkCmdSetRepresentativeFragmentTestEnableNV; #endif /* (defined(VK_EXT_extended_dynamic_state3) && defined(VK_NV_representative_fragment_test)) || (defined(VK_EXT_shader_object) && defined(VK_NV_representative_fragment_test)) */ #if (defined(VK_EXT_extended_dynamic_state3) && defined(VK_NV_coverage_reduction_mode)) || (defined(VK_EXT_shader_object) && defined(VK_NV_coverage_reduction_mode)) -extern PFN_vkCmdSetCoverageReductionModeNV vkCmdSetCoverageReductionModeNV; +extern VOLK_API PFN_vkCmdSetCoverageReductionModeNV vkCmdSetCoverageReductionModeNV; #endif /* (defined(VK_EXT_extended_dynamic_state3) && defined(VK_NV_coverage_reduction_mode)) || (defined(VK_EXT_shader_object) && defined(VK_NV_coverage_reduction_mode)) */ #if (defined(VK_EXT_host_image_copy)) || (defined(VK_EXT_image_compression_control)) -extern PFN_vkGetImageSubresourceLayout2EXT vkGetImageSubresourceLayout2EXT; +extern VOLK_API PFN_vkGetImageSubresourceLayout2EXT vkGetImageSubresourceLayout2EXT; #endif /* (defined(VK_EXT_host_image_copy)) || (defined(VK_EXT_image_compression_control)) */ #if (defined(VK_EXT_shader_object)) || (defined(VK_EXT_vertex_input_dynamic_state)) -extern PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT; +extern VOLK_API PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT; #endif /* (defined(VK_EXT_shader_object)) || (defined(VK_EXT_vertex_input_dynamic_state)) */ #if (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && (defined(VK_VERSION_1_1) || defined(VK_KHR_descriptor_update_template))) -extern PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR; +extern VOLK_API PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR; #endif /* (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && (defined(VK_VERSION_1_1) || defined(VK_KHR_descriptor_update_template))) */ #if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) -extern PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR; -extern PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR; +extern VOLK_API PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR; +extern VOLK_API PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR; #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */ #if (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) -extern PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR; +extern VOLK_API PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR; #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */ /* VOLK_GENERATE_PROTOTYPES_H_DEVICE */ #endif