Over the last few years, several new graphics APIs have been released; among these have been Vulkan, DirectX 12, and Apple's Metal. A common theme among them is the aim to improve how certain applications run on multi-core systems. To some extent, they have been quite revolutionary, with one benchmark revealing how performance in DOOM running on systems with AMD graphics cards improved by up to 30% over OpenGL.
However, in order to port applications using the Vulkan API to macOS, and iOS, one had to use the proprietary and commercially licensed MoltenVK library - until now. In a deal announced by The Kronos Group - mostly attributed to Valve and Brenwill Workshops, both of which are members of the group - MoltenVK will now be available for free under the open source Apache 2.0 license. The library essentially translates calls made by Vulkan to the underlying Metal API, negating the need to support multiple APIs in multiplatform titles. Apple, which is also a member of the group, had relied heavily on OpenGL until it developed its in-house solution called Metal.
The Kronos Group is an open consortium of leading hardware and software companies; with a membership that includes Nvidia, AMD, and Google among others.
With this, it was also announced that Dota 2 - one of the most popular games in the world - will run on macOS using the Vulkan API. Valve posted an interesting video showing some significant improvements in performance on the platform compared to its previous implementation using OpenGL.
Pierre-Loup Griffais at Valve commented on the port:
“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. These efforts are aimed at reducing development and porting costs for any developer supporting multiple platforms.”
President of The Kronos Group, Niel Trevett noted in a statement that all developers are welcome to download the Vulkan Portability tools, and provide feedback:
"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 addition to these announcements, the LunarG Vulkan SDK for macOS has been made available today as well. This application makes it easier for developers to build, run, and debug Vulkan specific code on Apple platforms. The development tool will be available for download through LunarXchange.