diff --git a/deps/moltenvk/include/MoltenVK/vk_mvk_moltenvk.h b/deps/moltenvk/include/MoltenVK/vk_mvk_moltenvk.h index d3c8a743..b2335a45 100644 --- a/deps/moltenvk/include/MoltenVK/vk_mvk_moltenvk.h +++ b/deps/moltenvk/include/MoltenVK/vk_mvk_moltenvk.h @@ -50,7 +50,7 @@ typedef unsigned long MTLLanguageVersion; */ #define MVK_VERSION_MAJOR 1 #define MVK_VERSION_MINOR 1 -#define MVK_VERSION_PATCH 5 +#define MVK_VERSION_PATCH 6 #define MVK_MAKE_VERSION(major, minor, patch) (((major) * 10000) + ((minor) * 100) + (patch)) #define MVK_VERSION MVK_MAKE_VERSION(MVK_VERSION_MAJOR, MVK_VERSION_MINOR, MVK_VERSION_PATCH) @@ -994,6 +994,7 @@ 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 void (VKAPI_PTR *PFN_vkSetWorkgroupSizeMVK)(VkShaderModule shaderModule, uint32_t x, uint32_t y, uint32_t z); typedef VkResult (VKAPI_PTR *PFN_vkUseIOSurfaceMVK)(VkImage image, IOSurfaceRef ioSurface); typedef void (VKAPI_PTR *PFN_vkGetIOSurfaceMVK)(VkImage image, IOSurfaceRef* pIOSurface); @@ -1002,6 +1003,7 @@ typedef void (VKAPI_PTR *PFN_vkGetMTLDeviceMVK)(VkPhysicalDevice physicalDevice, 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 void (VKAPI_PTR *PFN_vkGetMTLCommandQueueMVK)(VkQueue queue, id* pMTLCommandQueue); #endif // __OBJC__ @@ -1246,6 +1248,19 @@ VKAPI_ATTR void VKAPI_CALL vkGetMTLBufferMVK( VkBuffer buffer, id* pMTLBuffer); +/** +* Returns, in the pMTLCommandQueue pointer, the MTLCommandQueue currently underlaying the VkQueue. +* +* This function is not supported by the Vulkan SDK Loader and Layers framework. +* The VkQueue object you provide here must have been retrieved directly from +* MoltenVK, and not through the Vulkan SDK Loader and Layers framework. Opaque Vulkan +* objects are often changed by layers, and passing them from one layer to another, +* or from a layer directly to MoltenVK, will result in undefined behaviour. +*/ +VKAPI_ATTR void VKAPI_CALL vkGetMTLCommandQueueMVK( + VkQueue queue, + id* pMTLCommandQueue); + #endif // __OBJC__ /** diff --git a/deps/moltenvk/lib/libMoltenVK.dylib b/deps/moltenvk/lib/libMoltenVK.dylib index eed64153..f2a08507 100755 Binary files a/deps/moltenvk/lib/libMoltenVK.dylib and b/deps/moltenvk/lib/libMoltenVK.dylib differ