Developers, take note: The Khronos Group, an open consortium of leading hardware and software companies creating advanced acceleration standards, has announcesd that the Vulkan Working Group’s Portability Initiative has been working with Khronos members Valve, LunarG, and The Brenwill Workshop to enable Vulkan applications to be ported to Apple platforms.
The Vulkan Portability resource page links to a collection of free and open source set of tools, software development kits (SDKs), and runtime libraries to enable Vulkan development on macOS and deployment on macOS and iOS platforms. Valve is extending Dota 2 using the Vulkan tools on macOS to achieve y higher performance than native OpenGL drivers. Vulkan support for Dota 2 on macOS will be released in the coming months as a free update.
“We have been running substantial production loads through the Vulkan tools on Mac, including Dota 2 which is now running faster than the native OpenGL version,” says Pierre-Loup Griffais at Valve. “These efforts are aimed toward reducing development and porting costs for any developer supporting multiple platforms.”
The Khronos Vulkan Portability Initiative is dedicated to refining and defining a universally portable subset of Vulkan 1.0 that can be run at native performance levels over Metal and DirectX 12 drivers. Released into open source today is the MoltenVK library from The Brenwill Workshop, which translates calls within the Vulkan portable subset to underlying Metal calls on macOS and iOS.
MoltenVK uses the open source SPIRV-Cross cross-compiler to translate Vulkan shaders into underlying native code formats. It’s being made freely available for all developers, with no fees or royalties needed to ship commercial applications.
Also available today is the open source LunarG Vulkan SDK for macOS on LunarXchange, which enables developers to build, run, and debug their Vulkan applications on the Mac platform. The LunarG SDK for macOS provides loader and validation layers, which allows programmers to check their code for correct API usage. LunarG will continue to evolve the macOS SDK to add additional tools and features.