Bug 110635

Summary: briefly flashing corruption when playing various OGL games
Product: Mesa Reporter: tempel.julian
Component: Drivers/Gallium/radeonsiAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED MOVED QA Contact: Default DRI bug account <dri-devel>
Severity: normal    
Priority: medium CC: danylo.piliaiev, fdsfgs
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
i915 platform: i915 features:

Description tempel.julian 2019-05-07 13:29:32 UTC
I'm seeing briefly flashing corruption in various OGL games, mostly Dying Light and Counter-Strike Global Offensive Danger Zone. But I once also saw it in X-Plane 11.
Happens with Mesa 18 and git and llvm 8 and git, but likely also even older versions in both cases.

I was able to capture it by recording a video and then extracting an affected frame:

Across the aforementioned games, the artifacts look akin or the same. Can also be brighter squares though.

Hardware issue is unlikely, as radv / amdvlk never show this issue (and Windows driver neither).

I fail to see a pattern when this corruption occurs, it seems like total chance to me while gaming.

This is with an RX 580 on Arch.
Comment 1 Timothy Arceri 2019-05-09 02:29:20 UTC
Looks like it might be the same as bug #110575.

Do either of these go away when you run steam with the following:

R600_DEBUG=zerovram steam

Or setting the launch options for the game in steam to:

R600_DEBUG=zerovram %command%
Comment 2 tempel.julian 2019-05-09 09:32:53 UTC
The mesa-git build of mine was from after that commit, and a profile already applies it to Dying Light as well. :)
Comment 3 tempel.julian 2019-05-13 19:22:11 UTC
Skyrim in both wined3d and Gallium Nine is affected as well.
How could we start bisecting it? It seems something's broken in Gallium and I'd really like to have it fixed. :)
Comment 4 tempel.julian 2019-05-27 15:26:02 UTC
It looks a lot like it that AMD_DEBUG=nodma prevents the artifacts from occurring.
Comment 5 Danylo 2019-05-27 18:25:11 UTC
Yep, AMD_DEBUG=nodma works
Comment 6 Andrew Sheldon 2019-05-28 02:51:22 UTC
I get similar symptoms with Assassins Creed: Unity run under DXVK (with RADV). The issue doesn't occur with LLVM8, and seems to be a regression in LLVM9 since it worked fine with the last compile of LLVM9 I used (early May).

The workarounds don't work in my case (nodma, zerovram) so it might be a separate issue.

Here's a screenshot of the glitch: https://imgur.com/aUgSjW1
See top left for most obvious example of it, although you can see blockiness across the image.
Comment 7 tempel.julian 2019-05-28 10:21:12 UTC
The OGL issue occurs with both LLVM 8 and 9-git, so there might not be a connection to your radv issue here. I suppose LLVM 9 would also be fine with AMD_DEBUG=nodma & radeonsi, which indicates that the bug really is in the async DMA code of radeonsi (or at least triggers it).

I also would suppose that RADV_PERFTEST= doesn't have to know the same values like AMD_DEBUG=, which afaik applies only to radeonsi.
Comment 8 tempel.julian 2019-06-04 12:25:15 UTC
Could we get an update on this?
Apparently AMD_DEBUG=nodma makes the corruption completely disappear, so it seems the issue really is caused by asynchronous DMA.

If the cause of the issue is not easy to find, perhaps disable async DMA by default? It doesn't seem to affect performance at all (at least not in wined3d and Gallium Nine) and it doesn't look like a good idea to me to have corruption in a vast number of games by default.
Comment 9 tempel.julian 2019-06-20 10:49:12 UTC
Situation unchanged with recent llvm-git and mesa-git.
Comment 10 tempel.julian 2019-07-03 13:05:28 UTC
Bug still present with
mesa-git  19.2.0_devel.112439.11a3679e3ab
llvm-git  9.0.0_r320439.9e8e8c60fa

Is GFX8 not receiving any fixes anymore?
Comment 11 Marek Olšák 2019-07-30 20:54:34 UTC
I plan to disable SDMA image copies by default in dGPUs.
Comment 12 GitLab Migration User 2019-09-25 18:49:48 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/1399.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.