Khronos Announces the Vulkan Portability Initiative
Vulkan is a highly-portable, new-generation graphics and compute API that provides high-efficiency, cross-platform access to modern GPUs used in a wide variety of devices from PCs and consoles to mobile phones and embedded platforms.
To expand the number of platforms that Vulkan can support, Khronos has formed a Vulkan Portability Technical Subgroup within its Vulkan Working Group. This subgroup is tasked with developing specifications, open-source library code and tools, together with conformance tests to define and support the set of Vulkan capabilities that can be made universally available across all major platforms, including those not currently served by Vulkan.
The new generation of GPU graphics/compute APIs, including Vulkan, DirectX 12, and Metal, provide enhanced performance, control, and flexibility to games, game engines, web browsers, and other graphics-intensive applications. But there is currently no single new-generation API that runs across all major platforms, forcing application developers to create multiple rendering backends, significantly increasing development and porting costs.
To address this problem, and avoid compounding it by introducing yet another distinct API into the industry, the Vulkan Portability Initiative is defining and providing a standardized subset of the familiar Vulkan API that will run universally on all new-generation 3D-enabled platforms, including those that currently support only DirectX and Metal.The design approach of the Vulkan Portability Initiative includes:
- Identifying and specifying a subset of the Vulkan API that can be efficiently mapped to the native APIs on all key platforms.
- Making available open-source libraries to run the defined subset of the Vulkan API on platforms that are currently only served by DirectX or Metal, removing the need for developers to target three different rendering backends.
- Enabling standard Vulkan SPIR-V shader code, generated by the source language and compiler tools of the developer's choice, to be converted to the shader language of the target platforms through the open source SPIRV-Cross translator.
- Providing a suite of conformance tests that will confirm the reliable operation of the portable Vulkan subset across multiple platforms.
The development of these tools will be undertaken on GitHub, enabling the community to provide input and feedback as work proceeds. Any company is also welcome to join Khronos for a voice and a vote in the Vulkan Working Group and the Vulkan Portability Initiative.