The Khronos Group, a consortium of hardware and software companies, has announced that the Vulkan graphics technology has been ported to Apple’s platforms, allowing games and apps to run at faster performance levels on Macs and iOS devices.
That’s a small victory for open platforms, and it should make a lot of Apple consumers happy. 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 portability group has provided a collection of open source tools, software development kits (SDKs), and runtime libraries to enable Vulkan development on MacOS and deployment on MacOS and iOS platforms. Valve has ported Dota 2 using the Vulkan tools on MacOS to achieve significantly higher performance than native OpenGL drivers.
“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,” said Pierre-Loup Griffais at Valve, in a statement. “These efforts are aimed toward reducing development and porting costs for any developer supporting multiple platforms.”
The Khronos Vulkan Portability Initiative continues to refine and define 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.
“With MoltenVK, we’ve worked hard to bring a consistent Vulkan-based API to macOS and iOS while maintaining the performance improvements required by modern game developers,” said Bill Hollings, president of The Brenwill Workshop, in a statement.
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 Apple 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.
“Running Vulkan applications on Apple platforms has been the number one request from developers and today’s release of the MoltenVK runtime and LunarG macOS SDK brings that capability to life,” said Neil Trevett, vice president at Nvidia and Khronos Group president, in a statement. “Developers are invited to download the open source Vulkan Portability tools today and provide feedback via Vulkan Ecosystem GitHub Issue. The Vulkan Portability Initiative will continue to strengthen the infrastructure and tooling around bringing Vulkan capabilities to multiple Metal and DX12 platforms – our long-term goal is to enable portable Vulkan code to be executed on any platform that developers care about.”
In an email, Trevett said, “Efficient access to graphics processing unit (GPU) acceleration is increasingly essential, not just for 3D rendering in games, augmented reality and virtual reality but also for computing and neural network acceleration. Many applications deploy across multiple platforms, and if they are forced to use multiple GPU applications programming interfaces (APIs) it significantly increases porting costs and adds friction to innovation. Vulkan is already portable across mobile, desktop and cloud, but these tools bring Vulkan applications to MacOS and iOS to fulfill the number one portability request from developers. Enabling Vulkan applications on Apple platforms brings Vulkan closer to being a universally portable API available on all GPU-enabled platforms.”