Vulkan API Now Supports Ray Tracing, Built Upon NVIDIA’s RTX – Industry’s First Open, Cross-Vendor & Cross-Platform Ray Tracing Standard
Khronos Group has announced the release of its latest ray tracing extensions for the Vulkan API which is built upon the NVIDIA RTX standard. Opening up ray tracing support for Vulkan API allows it to become the industry's first open, cross-vendor, cross-platform standard for ray tracing acceleration.
Khronos Groups Opens Up Ray Tracing For Vulkan API With The Latest Extensions - Open-Source, Cross-Vendor & Cross-Platform Ray Tracing Acceleration
According to Khronos Group, Vulkan Ray Tracing is built upon NVIDIA's own ray tracing extensions but adds upon it in a relatively smaller way. In its presentation, Khronos Group stated that a set of provisional extension specifications are publicly available today for industry feedback and the first Beta developer drivers are shipping today. In fact, NVIDIA is fully supporting the new Vulkan API & will be shipping its Beta Linux drivers today, too.
“There has been strong developer demand for a truly cross-platform ray tracing acceleration API and now Vulkan Ray Tracing is here to meet that industry need,”.
“The overall architecture of Vulkan Ray Tracing will be familiar to users of existing proprietary ray tracing APIs, which enables straightforward porting of existing ray-traced content, but this framework also introduces new functionality and implementation flexibility.”
- Daniel Koch, senior graphics system software engineer at NVIDIA and Vulkan Ray Tracing task sub group chair at Khronos
Vulkan API is titled as the industry's first open, cross-vendor and cross-platform standard for ray tracing acceleration. It is also to note that this move brings the Vulkan API on par with Microsoft's DXR (DirectX Ray-Tracing) API. Some features of Vulkan API would include:
- Coherent Ray Tracing Framework - Seamlessly integrated into existing Vulkan functionality - a flexible merging of rasterization and ray-tracing.
- Familiar to users of existing proprietary ray-tracing APIs but also introduces new implementation flexibility
- Primary focus on meeting desktop market demand for both real-time and offline rendering
Vulkan RT consists of a number of Vulkan, SPIR-V, and GLSL extensions, some of which are optional. The primary VK_KHR_ray_tracing extension provides support for acceleration structure building and management, RT shader stages and pipelines, and ray query intrinsics for all shader stages. VK_KHR_pipeline_library provides the ability to provide a set of shaders that can be efficiently linked into ray tracing pipelines.
VK_KHR_deferred_host_operations enables intensive driver operations, including RT pipeline compilation or CPU-based acceleration structure construction to be offloaded to application-managed CPU thread pools.
Vulkan RT shaders are SPIR-V binaries that use two new extensions. The SPV_KHR_ray_tracing SPIR-V extension adds support for RT shader stages and instructions. Engineers at Khronos member companies, including NVIDIA, have also added support for the SPIR-V extensions to DXC, Microsoft's open-source HLSL compiler, enabling Vulkan RT SPIR-V shaders to be authored in HLSL using the syntax defined by Microsoft, with minimal modifications.
Following is what the industry has to say about Khronos Group's newly added support for Ray-Tracing in its Vulkan API:
NVIDIA - “NVIDIA ships beta drivers today with support for the provisional standardized ray tracing functionality in Vulkan,” said Morgan McGuire, research director at NVIDIA. “Bringing accelerated ray tracing to the Vulkan cross-platform, open standard API is another significant step towards enabling the highest quality of visual realism for real-time games and applications everywhere.”
AMD - "Standardizing ray tracing in Vulkan is an important step towards making ray tracing available across a wide range of devices, as well as enabling developers to use this technology to its full advantage. AMD intends to provide support for all of the major features in this extension, including ray shading, ray queries, and CPU acceleration structure management. We will be working with developers to ensure great performance from our Vulkan Ray Tracing implementation; these efforts will help us to provide end-users with even more visually stunning graphics on AMD Radeon™ GPUs,” said Andrej Zdravkovic, senior vice president, software development, AMD.
Intel - "The Intel Xe architecture roadmap includes support for hardware-accelerated ray tracing, and we're excited to work with Khronos to implement full support into Vulkan," said Joshua Barczak, graphics software architect at Intel.
Khronos Group also showcased an example of Vulkan Ray Tracing in Wolfenstein: Youngblood. The title used a typical hybrid combination of a rasterized scene with some ray-traced aspects included in it.
While the changes aren't as significant and more trivial of sorts, there's still a lot of good reason to be excited about this move by Khronos Group. The Vulkan (VK_KHR_ray_tracing) is hardware agnostic and supports ray-tracing in both explicit and implicit modes. While it is primarily designed to utilize hardware that is purpose-built for ray-tracing (e.g. NVIDIA RTX & AMD RDNA2 GPUs), it is also able to use the compute capabilities of a GPU for ray-tracing. But with decent ray-tracing cores available on next-generation GPUs, that option may not be widely supported.
It's probably that MS would support its own DXR standard for the next-generation Xbox Series X console but Sony may go the Vulkan route as it offers more flexibility to developers. With that said, we can also see some good performance impact with Vulkan API on PC titles and with all three giants, AMD, Intel, NVIDIA landing in this year with its next-generation GPUs, interesting times definitely await us!