From 14bbf3453d375f6fd8f5cf6fac273af82a2b7716 Mon Sep 17 00:00:00 2001 From: kleinerm Date: Tue, 27 Apr 2021 17:15:30 +0200 Subject: [PATCH] Expose vkGetIOSurfaceMVK() / vkUseIOSurfaceMVK() also under non-ObjC. Those functions are also usable from standard C, no need for the caller to be compiled as Objective-C. Move their definition outside the __OBJC__ guards. --- MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h b/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h index a5532c7b..c3fcd0ca 100644 --- a/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h +++ b/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h @@ -27,10 +27,10 @@ extern "C" { #endif // __cplusplus #include "mvk_vulkan.h" +#include #ifdef __OBJC__ #import -#import #else typedef unsigned long MTLLanguageVersion; #endif @@ -947,14 +947,14 @@ typedef VkResult (VKAPI_PTR *PFN_vkSetMoltenVKConfigurationMVK)(VkInstance ignor typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceMetalFeaturesMVK)(VkPhysicalDevice physicalDevice, MVKPhysicalDeviceMetalFeatures* pMetalFeatures, size_t* pMetalFeaturesSize); typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceStatisticsMVK)(VkDevice device, MVKPerformanceStatistics* pPerf, size_t* pPerfSize); typedef void (VKAPI_PTR *PFN_vkGetVersionStringsMVK)(char* pMoltenVersionStringBuffer, uint32_t moltenVersionStringBufferLength, char* pVulkanVersionStringBuffer, uint32_t vulkanVersionStringBufferLength); +typedef VkResult (VKAPI_PTR *PFN_vkUseIOSurfaceMVK)(VkImage image, IOSurfaceRef ioSurface); +typedef void (VKAPI_PTR *PFN_vkGetIOSurfaceMVK)(VkImage image, IOSurfaceRef* pIOSurface); #ifdef __OBJC__ typedef void (VKAPI_PTR *PFN_vkGetMTLDeviceMVK)(VkPhysicalDevice physicalDevice, id* pMTLDevice); typedef VkResult (VKAPI_PTR *PFN_vkSetMTLTextureMVK)(VkImage image, id mtlTexture); typedef void (VKAPI_PTR *PFN_vkGetMTLTextureMVK)(VkImage image, id* pMTLTexture); typedef void (VKAPI_PTR *PFN_vkGetMTLBufferMVK)(VkBuffer buffer, id* pMTLBuffer); -typedef VkResult (VKAPI_PTR *PFN_vkUseIOSurfaceMVK)(VkImage image, IOSurfaceRef ioSurface); -typedef void (VKAPI_PTR *PFN_vkGetIOSurfaceMVK)(VkImage image, IOSurfaceRef* pIOSurface); #endif // __OBJC__ @@ -1199,6 +1199,8 @@ VKAPI_ATTR void VKAPI_CALL vkGetMTLBufferMVK( VkBuffer buffer, id* pMTLBuffer); +#endif // __OBJC__ + /** * Indicates that a VkImage should use an IOSurface to underlay the Metal texture. * @@ -1248,8 +1250,6 @@ VKAPI_ATTR void VKAPI_CALL vkGetIOSurfaceMVK( VkImage image, IOSurfaceRef* pIOSurface); -#endif // __OBJC__ - #pragma mark - #pragma mark Shaders