Mesa 21.0 Begins Landing Optimizations For AMD Smart Access Memory
Lead RadeonSI developer Marek Olšák of AMD has merged a set of optimizations for AMD Smart Access Memory that will come in next quarter's Mesa 21.0 release. The code that landed today include a helper for determining Smart Access Memory / all vRAM visible, only force the staging uploads for vRAM when Smart Access Memory isn't enabled, and only use staging for linear textures when the feature is disabled. For cases when Smart Access Memory is enabled, vRAM is now used for command buffers, the pipe usage stream is mapped to vRAM, and the uploading code has been unified and going straight to vRAM with this feature enabled. More details within this merge request.
These Smart Access Memory optimizations are focused on the RadeonSI Gallium3D code. The code is queued in Mesa 21.0-devel while the stable release with this functionality should be out in March, hopefully before then we'll see more optimizations.
For those wondering how to check if Smart Access Memory is enabled for your Linux system, see the details in this forum thread.
I was in the process already of running some AMD Smart Access Memory Linux benchmarks while I'll be restarting them now with this latest Mesa Git.