RadeonSI Disables SDMA For Polaris To Fix Corruption Bugs

There have been bug reports going back to at least last June and others more recent about in-game artifacts or other corruption issues within OpenGL programs on some games with Polaris discrete GPUs.
Users have observed that the AMD_DEBUG=nodma environment variable tends to workaround the issues, so now the default behavior of Mesa 20.0-devel (and queued for back-porting to Mesa 19.2 and 19.3) is disabling of SDMA support for Polaris / GFX8 AMD graphics hardware.
There are possible performance implications from disabling SDMA but we'll see if it materializes into any significant difference. Then again, GFX10/Navi with RadeonSI still has SDMA disabled too over random timeouts. Navi SDMA support was disabled by default fairly quickly in order to address hangs. For GFX9/Vega between these generations, SDMA copy support was added just last month but for discrete GPUs currently requires an environment variable to enable.
25 Comments