RADV Driver Improvement Yields More Reasonably Sized Captures For Radeon GPU Profiling
When debugging graphics driver/API issues or performance profiling and relying on shader dumps, the size of such dumps can quickly add up due to all of the state collected, etc, but also inefficiencies when not within contiguous memory. Fortunately for Mesa's Radeon Vulkan driver "RADV" for pairing with the Radeon GPU Profiler there is a significant improvement that just landed for yielding smaller file sizes.
The change that landed in Mesa 22.0-devel is for uploading shader binaries of a pipeline contiguously in memory. AMD's Radeon GPU Profiler expects shaders to be in contiguous memory otherwise the captures are quite huge with many holes. With the change by Valve developer Samuel Pitoiset, the RADV driver will now provide them in contiguous memory.
As noted in the merge request, this reduces a test capture within Cyberpunk 2077 from about 3.5GB down to 180MB just by ensuring the shader binaries are in contiguous memory... Quite the improvement and much easier when having to upload RGP captures for bug reports or exchanging the captures otherwise, not to mention wasted disk space and bandwidth.
This will be very practical in avoiding a lot of extra wasted space when capturing profiles either when working out API/driver problems or trying to optimize for performance. With Radeon Mesa developers using Radeon GPU Profiler as well as Valve supporting RGP usage by game developers for the AMD-powered Steam Deck, this low-level but important change will be very helpful.
The change that landed in Mesa 22.0-devel is for uploading shader binaries of a pipeline contiguously in memory. AMD's Radeon GPU Profiler expects shaders to be in contiguous memory otherwise the captures are quite huge with many holes. With the change by Valve developer Samuel Pitoiset, the RADV driver will now provide them in contiguous memory.
As noted in the merge request, this reduces a test capture within Cyberpunk 2077 from about 3.5GB down to 180MB just by ensuring the shader binaries are in contiguous memory... Quite the improvement and much easier when having to upload RGP captures for bug reports or exchanging the captures otherwise, not to mention wasted disk space and bandwidth.
This will be very practical in avoiding a lot of extra wasted space when capturing profiles either when working out API/driver problems or trying to optimize for performance. With Radeon Mesa developers using Radeon GPU Profiler as well as Valve supporting RGP usage by game developers for the AMD-powered Steam Deck, this low-level but important change will be very helpful.
1 Comment