radv: Add support for Radeon Raytracing Analyzer
This MR adds the capability to capture Radeon Raytracing Analyzer (RRA) traces.
The tracing layer hooks into vkCmdBuildAccelerationStructures to convert the acceleration structure to RRAs format using a meta shader right after it is built. This ensures that a capture can validly include acceleration structures which were already destroyed by the host.
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.