Close

NAP Framework - Naivi.nl

EXTENDING APPLICATION REACH

Vulkan Portability and Porting Layers

The Vulkan Portability Initiative enables consistent use of open-source porting layers to enable your application to deploy on platforms without Vulkan native drivers, such as macOS and iOS. Vulkan has also been designed to support a variety of porting layers that can bring applications using other APIs, such as Direct3D, to Vulkan-enabled systems.

NAP Framework - Naivi.nl

Vulkan on PC, Linux and MacOS.

Porting NAP Framework to Vulkan

Discover how Naivi.nl ported their NAP Framework to feature parity rapidly, optimized where possible and make sure all the NAP demos run equally well on Windows, Linux and macOS.

Learn More

PORTABILITY ON SYSTEMS WITHOUT NATIVE VULKAN DRIVERS AND FOR NON-VULKAN APPS

Vulkan Porting Layers

Vulkan is the only modern GPU API that is available on multiple operating systems—helping applications reach a cross-platform user base. Layered API implementations leveraging Vulkan go even further in fighting platform fragmentation. Vulkan efficiently supports translation layers from other APIs, such as Metal, to enable non-Vulkan applications on Vulkan-enabled platforms. Vulkan has also been layered over platform-specific APIs, enabling Vulkan applications to run where native Vulkan drivers are not available, such as iOS and macOS.

Vulkan Porting Layers

Vulkan Porting Layers

PORTABILITY ON SYSTEMS WITHOUT NATIVE VULKAN DRIVERS AND FOR NON-VULKAN APPS

Vulkan Porting Layers

Vulkan is the only modern GPU API that is available on multiple operating systems—helping applications reach a cross-platform user base. Layered API implementations leveraging Vulkan go even further in fighting platform fragmentation. Vulkan efficiently supports translation layers from other APIs, such as Metal, to enable non-Vulkan applications on Vulkan-enabled platforms. Vulkan has also been layered over platform-specific APIs, enabling Vulkan applications to run where native Vulkan drivers are not available, such as iOS and macOS.

DEPLOY VULKAN APPLICATIONS ON SYSTEMS WITHOUT NATIVE VULKAN DRIVERS

Vulkan Portability Initiative

Vulkan® Portability™ fights platform fragmentation by enabling the consistent use of layered implementations of Vulkan functionality over Metal and other APIs. The Vulkan Portability extension standardizes queries for available layered API functionality and enables all provided functionality to be conformance tested. MoltenVK is a leading example of a layered Vulkan Portability implementation that runs over Apple’s Metal API.

Vulkan Portability Initiative

Path of Exile - Grinding Gear Games

DEPLOY VULKAN APPLICATIONS ON SYSTEMS WITHOUT NATIVE VULKAN DRIVERS

Vulkan Portability Initiative

Vulkan® Portability™ fights platform fragmentation by enabling the consistent use of layered implementations of Vulkan functionality over Metal and other APIs. The Vulkan Portability extension standardizes queries for available layered API functionality and enables all provided functionality to be conformance tested. MoltenVK is a leading example of a layered Vulkan Portability implementation that runs over Apple’s Metal API.

  • A provisional version of Vulkan Portability Extension 1.0 was released in September 2020 and is shipping today in MoltenVK

    Find Out More

  • This repository provides a focus and tools to help application developers understand and provide input to the Vulkan Portability initiative, including the VK_KHR_portability_subset Vulkan extension.

    Find Out More

  • The Vulkan SDK includes a MoltenVK runtime library for macOS. If you are developing a Vulkan application for macOS, it is highly recommended that you use the Vulkan SDK and the MoltenVK library included in it.

    Find Out More

Industry Support for MoltenVK

"All in all, we’re pleased with what we’ve managed to accomplish. A barrier that many, including ourselves, originally thought unbreakable has been cracked wide open, and the best part is: this is just the beginning. With not only our own efforts to improve the core emulation, but upcoming updates to Metal 3 and the constantly improving MoltenVK, the experience is only going to get better."

"We will be relying on MoltenVK to be the benchmark that we compare our native Metal backend against going forward. And it should perform that role excellently, as it is bringing our well tested Vulkan backend to macOS through a very well supported translation layer from a team that has earned our trust. So, while our new native Metal backend is faster, MoltenVK is here to stay. Together, they will help us deliver the most consistently reliable and performant experience that we can give to our macOS users"

"I was initially skeptical about the use of a Vulkan translation layer to Metal, but it turns out MoltenVK enables applications using the real-time NAP Framework to run as well on macOS as they do on Linux and Windows. This is something I would like to highlight and stress the importance of - without the portability of Vulkan we would have been forced to implement a special Metal rendering backend just for macOS users, something not doable for a relatively small company such as ours. Plus switching to Vulkan dramatically improved render-times for Mac users."

"Valve extended Dota 2 to use Vulkan and ported that version to macOS using MoltenVK. This port achieved significantly higher performance than the native Apple OpenGL® drivers. Valve has now shipped multiple games titles on macoS and iOS using MoltenVK and we believe that Vulkan Portability can significantly reduce development and porting costs for any developer supporting multiple platforms."

Pierre-Loup Griffais Valve

“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.”

"MoltenVK has been hugely valuable to us by providing the ability to execute our Vulkan code on Apple platforms without any discernable performance penalty versus writing a native Metal implementation but more importantly without requiring any modification of the code itself."