Mesa RADV Driver Adds Radeon Raytracing Analyzer Support
Radeon Raytracing Analyzer (RRA) was announced this summer for helping analyze Radeon ray-tracing workloads on both Windows and Linux with Direct3D 12 and Vulkan. The Radeon Raytracing Analyzer can be used for diagnosing performance issues and making other enhancements for ray-traced workloads. The intent is that game and application/engine developers can better optimize their Vulkan/DirectX ray-tracing workloads for use on AMD Radeon GPUs.
Radeon Raytracing Analyzer so far has been compatible with AMD's official Radeon Software drivers on Windows and Linux. This week support was added to the Mesa RADV driver for RRA compatibility.
This MR that landed into Mesa 22.3 enables support for Radeon Raytracing Analyzer traces with this open-source Vulkan driver. Adding this unofficial RRA support was complicated by the fact that contrary to this software being under the "GPUOpen" umbrella and advertising an MIT license, no source code has yet to be released yet. So this RADV RRA support worked on by independent developer Friedrich Vock involved some reverse engineering:
This adds a small overhead when RRA tracing is enabled (around 5% with Quake 2 RTX on my 6700XT on lowest settings with a small window, 190FPS -> 180FPS).
Saving the captured acceleration structures to file didn't produce any significant dent in the frame times.
All info about the RRA file format and its data structures was reverse-engineered from the RRA binary, so there's a lot of "unused" or "reserved" floating around. RRA's README notes it as being "licensed under MIT", so I hope the source code will eventually be released so that these can be cleaned up.
Look for this RRA support in next quarter's Mesa 22.3 release.