Mesa RADV driver adds support for Radeon Raytracing Analyzer
Mesa’s Radeon Vulkan “RADV” driver added compatibility support for GPUOpen’s Radeon Raytracing Analyzer.
Radeon Raytracing Analyzer (RRA) was announced this summer to help analyze Radeon ray tracing workloads on Windows and Linux with Direct3D 12 and Vulkan. Radeon Raytracing Analyzer can be used to diagnose performance issues and make other improvements to ray-tracing workloads. The goal is that game and application/engine developers can better optimize their Vulkan/DirectX ray tracing workloads for use on AMD Radeon GPUs.
AMD/GPU Open Radeon Raytracing Analyzer
Until now, Radeon Raytracing Analyzer was 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. which landed in Mesa 22.3 enables support for Radeon Raytracing Analyzer traces with this open source Vulkan driver. Adding this unofficial RRA support has been complicated by the fact that unlike this software being under the “GPUOpen” umbrella and announcing an MIT license, no source code has yet been released. So this RADV RRA support worked by indie developer Friedrich Vock involved reverse engineering:
This adds a small overhead when RRA tracing is enabled (about 5% with Quake 2 RTX on my 6700XT on the lowest settings with a small window, 190FPS -> 180FPS).
Saving captured acceleration structures to a file did not significantly impact frame times.
All information about the RRA file format and its data structures was reverse-engineered from the RRA binary, so there is a lot of “unused” or “reserved” floating around. RRA’s README notes it as “under MIT license”, so hopefully the source code will eventually be released so it can be cleaned up.
Look for this RRA support in the next quarter Mesa 22.3 release.