RADV Open-Source Radeon Vulkan Driver Begins Landing Ray-Tracing Changes
Landing in Mesa 21.2-devel this Friday evening is implementing most of the acceleration structures with BVH building both for CPU and GPU-side builds.
Queries and copies functionality isn't in place but already the code from this now merged MR is enough to run some Vulkan ray-tracing demos.
However, as this support isn't yet complete, even if using Mesa Git the Vulkan ray-tracing extension isn't exposed by default. Those wishing to experiment with this early ray-tracing support for RADV will need to set the RADV_PERFTEST=rt environment variable. As well, the optimal support/performance is focused on AMD's latest-generation Radeon RX 6000 "RDNA2" series graphics cards.
It will be exciting to see this Vulkan ray-tracing support get squared away for RADV and will benchmark it once ready. With this open-source driver there is even experimental work underway for allowing Vulkan ray-tracing for older GPUs (pre-RDNA2).
Meanwhile AMD's official Radeon Software for Linux driver package with the "PRO" proprietary packaged components has supported Vulkan ray-tracing since April. That though is the binary-only Vulkan driver still making use of AMD's proprietary shader compiler. AMD hasn't yet provided Vulkan ray-tracing support for their open-source AMDVLK Vulkan driver that makes use of the AMDGPU LLVM shader compiler back-end. So as it stands now, RADV stands good chances of beating AMDVLK for providing good open-source Vulkan RT support.
At the moment there is admittedly not too much making use of Vulkan ray-tracing on Linux besides Quake II RTX and some demos/benchmarks... But perhaps most exciting is the ongoing work with VKD3D-Proton to allow DirectX Ray-Tracing (DXR) games to run on Linux and ultimately making use of the Vulkan ray-tracing interface. Hopefully all of these Linux driver and projects like VKD3D-Proton will all see their Vulkan RT support wrapped up nicely this year