Mesa 22.2 RadeonSI Adds Option To Disable AMD Infinity Cache Usage, Other Changes
On top of all the big patch series recently for ushering in VCN4, GFX11, and other new IP of next-generation RDNA graphics processors, other smaller series have been working their way to Mesa and the Linux kernel as well.
One of the smaller series with some items worth mentioning is this merge by well known RadeonSI developer Marek Olsak. That merge is about reworking the Gallium3D driver's handling of heaps and adding some new capabilities.
It is tied in part at least to the next-gen hardware bring-up as one of the patches does now set BIG_PAGE for the attribute ring with GFX11, the graphics block of RDNA3. This merge also wires up RadeonSI to use the new "AMDGPU_GEM_CREATE_DISCARDABLE" flag found the latest AMDGPU Linux kernel driver code. The AMDGPU_GEM_CREATE_DISCARDABLE flag for GEM memory management allows for creating the buffer object in dedicated video memory but evictions under memory pressure or similar scenarios will cause it to be discarded rather than preserving/copying it to slower system memory / placement in other memory.
For end-users interested in testing/evaluation of features, one item worth mentioning is this merge also adding the ability to disable AMD Infinity Cache. Infinity Cache was introduced with RDNA2 GPUs and designed to provide greater efficiency/performance for high resolution gaming -- as much as 3.25x the bandwidth for GDDR6 video memory in at least some scenarios.
AMD heavily talked up this all-new cache level with Radeon RX 6000 series GPUs. It's interesting now that they are adding a RadeonSI driver option to disable it. Granted, this should just be for debugging/profiling purposes or those curious to see how much of an impact it makes in different games. The Infinity Cache with RDNA2 GPUs can be deactivated using the AMD_DEBUG=mall_noalloc debug option when running with Mesa 22.2-devel and an AMDGPU Linux kernel driver build supporting AMDGPU_VM_PAGE_NOALLOC.
Mesa 22.2 stable should be out in August with these changes and a whole lot more -- it will presumably be the minimum Mesa version needed for RDNA3 GPU support too.