RADV Lands Rewritten Acceleration Structures For Ray-Tracing In Mesa 22.3
Konstantin Seurer who has been involved in RADV ray-tracing improvements like the RT maintenance extension, indirect ray-tracing, and various other RT features has spent the past several weeks refactoring and rewriting the acceleration structures.
Konstantin has been working to move the acceleration structure build kernels from the existing driver C code over to GLSL/C++ code. In doing so, the intent is to make it easier to implement more complex kernels moving forward.
Additionally, while working on this code its approach was originally aimed to allow more sharing of code between the CPU and GPU paths. However, that CPU execution path looks like it will be shortly discontinued/removed as more complex features are implemented that will not work out for CPU extension. But at least initially while working on this MR, Konstantin commented of the CPU execution emphasis, "testing those shaders on the GPU is really annoying. Hundreds of GPU hangs and little to no debugging options."
The 14 patches rework the acceleration structures around 1.5k lines of code. The merge request landed for next quarter's Mesa 22.3 stable release and long story short is another low-level step toward improving RADV driver's Vulkan ray-tracing support.