Vulkan Ray-Tracing Arrives With New Khronos Extension
While Vulkan has had NVIDIA's ray-tracing extension (VK_NV_ray_tracing) extension, coming out today is Vulkan's first formal ray-tracing extension for cross-vendor/driver adoption.
The Khronos Group today is unveiling their official Vulkan Ray-Tracing extension (VK_KHR_ray_tracing) in provisional form. This official extension is based on the NVIDIA Vulkan extension and in fact NVIDIA is supporting this new extension and will be releasing beta drivers today for supporting this new extension. On the developer side, it should be fairly trivial transitioning from the former NVIDIA extension to this new Khronos provisional spec with just some minor code changes.
This new extension is designed to be hardware agnostic so that when AMD introduces Navi 2 with hardware ray-tracing as is rumored to be happening later this year, they should be able to wire into VK_KHR_ray_tracing as well. Besides being designed for dedicated ray-tracing cores, this Vulkan extension was engineered with fallback possibilities in mind for GPU compute based ray-tracing although it doesn't look like any major vendors will be supporting that with their drivers at this time.
Vulkan Ray-Tracing supports both ray-tracing pipelines as a new graphics pipeline or ray queries where any shader can launch a ray at any time.
Besides the Vulkan working group engineering this extension based off NVIDIA's work, it was also designed with DirectX Ray-Tracing (DXR) in mind and trying to make it quite portable in moving DXR HLSL shaders over to Vulkan. In fact, NVIDIA contributed to the open-source DXC compiler the support for SPIR-V code generation around ray-tracing. Ray-tracing shaders can also be made from GLSL if so desired.
The Vulkan working group is looking for developer feedback on this new ray-tracing extension before promoting it out of provisional form, presumably later this year.
Overall this is an exciting milestone and NVIDIA today should be the first vendor with Linux drivers for this new ray-tracing extension. With portability in mind in going from DirectX Ray-Tracing to Vulkan Ray-Tracing, hopefully this will allow for some Linux games in the not too distant future to have this capability either via native ports by Feral Interactive or if Steam Play / VKD3D end up being able to offer a translation path paired with the DXC additions.
If you enjoyed this article consider joining Phoronix Premium to view this site ad-free, multi-page articles on a single page, and other benefits. PayPal or Stripe tips are also graciously accepted. Thanks for your support.