The closer to metal open API standard for graphic which was initially revealed back in 2016 has now added GPU agnostic RayTracing Support as announced by Khronos Group. Right now only Nvidia has the hardware and in conjunction with DirectX DXR support, ray tracing can be done on a realtime basis in games.
Although Vulkan already had a special extension for raytracing regarding Nvidia RTX card, this extension is GPU agnostic and will work with any GPU provider who has ray tracing support. However, this extension is still in provisional form and Khronos Group is looking for developer’s feedback before making this extension official. This support comes when the next generation of gaming consoles are on the verge of being unveiled which will support raytracing. coincidently they will use AMD’s Next Gen GPU and thus the PC market will also have another vendor for raytraced games. Intel is also making its own discrete GPU which will have raytracing support.
How this will work?
This extension will not only support hardware RT cores based Raytracing system but as a fallback, it will also support GPGPU based ray tracing. This means if you have GPU that has ray tracing cores like Nvidia RTX GPU, AMD’s upcoming RDNA 2.0 based GPU, or Intel’s upcoming Xe based GPU, you will be able to use the said cores for accelerated raytracing. However, as a contingency, the raytracing can still be enabled by using GPU compute units (as demonstrated by CryEngine in Neon Noir demo) which is definitely super slow and we doubt it will be used by any vendor.
This extension is based on Nvidia’s raytracing implementation which in turn is based on Microsoft’s DXR specification. The reason being Nvidia and Microsoft was a pioneer in developing the raytracing specifications in games. Keeping that in mind, Khronos group have kept this extension as much compatible with DXR so that games can be easily ported from Microsoft’s DXR to Vulkan Raytracing. Thus raytracing can be done from HLSL (DirectX), GLSL (OpenGL) and SPIR-V (Vulkan) shaders.
However, being similar to DXR does help in porting games, there are additional features that Vulkan Raytracing extension supports.
Not to mention since Vulkan is cross-platform and is technically supported on wide variety of platforms including Android, we can get Raytracing support on compatible devices. So essentially we are getting support in Android, Windows, Linux and MacOS through MoltenVK.
Here is what Andrej Zdravkovic, senior vice president, software development, 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.”
Imagination technologies were pioneer in advocating raytracing support in GPU and Rys Sommefeldt, senior director of product, Ray Tracing and High Performance Graphics, Imagination Technologies said “Imagination Technologies are very happy to see ray tracing become a standard part of Vulkan, helping the overall ray tracing ecosystem to grow substantially due to Vulkan’s wide reach across many platforms and devices,”
“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.
“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.”