Bug 107334

Summary: Artifacts in Unigine Valley with RX 580
Product: Mesa Reporter: Christian Widmer <cwidmer>
Component: Drivers/Gallium/radeonsiAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact: Default DRI bug account <dri-devel>
Severity: normal    
Priority: medium Keywords: bisected, regression
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
i915 platform: i915 features:
Attachments: Screenshot showing the issue

Description Christian Widmer 2018-07-23 12:59:47 UTC
Created attachment 140780 [details]
Screenshot showing the issue

In a certain scene during the Unigine Valley benchmark, render artifacts briefly flash on the screen multiple times. This does not occur with the same card in another machine running Windows 10 -- neither with the DirectX 11 nor with the OpenGL renderer -- and it does also not occur on this machine when using a NVIDIA GeForce GTX 660 instead of the RX 580.
When I tried to get an apitrace, the benchmark slows down a lot during the scene, skipping parts of it and not showing the artifacts. Additionally, the replay is stuck on the loading screen and major shader compiler errors are thrown.

I am using Gentoo with kernel 4.17.9 (with the gentoo patchset) and mesa git (commit d0ee0a0a5d5fb658c87fed82cbcf9b48437abb2c).
Comment 1 Christian Widmer 2018-07-29 19:27:31 UTC
This is actually a regression. Bisecting identified commit 60299e9abe8513b36fe7979fbf36a99e4070e8d1 (radeonsi: don't emit partial flushes for internal CS flushes only) as the one introducing the issue. And reverting that commit in current master (0ddae4acae08cc6b216c49f85c6ffb969dea0969) does indeed make the artifacts go away.
Comment 2 Christian Widmer 2018-08-01 13:47:23 UTC
Created attachment 140920 [details]

I am adding glxinfo and lspci output, which might contain useful information.
Comment 3 Christian Widmer 2018-08-01 13:48:33 UTC
Created attachment 140921 [details]
Comment 4 Timothy Arceri 2018-09-20 04:50:12 UTC
Is this still a problem for you with Mesa git? I could not reproduce on my RX480 with:

Kernel: 4.18.7
Mesa: 18be7403a11f53d58bbfe3905c0cacd6bc714492 
LLVM: 8.0.0 (svn)
Comment 5 Timothy Arceri 2018-09-20 04:51:43 UTC
Also I used: unigine-valley-1.1.7
Comment 6 Christian Widmer 2018-09-20 08:58:58 UTC
Unfortunately, I can still reproduce the issue with mesa git (commit 	18be7403a11f53d58bbfe3905c0cacd6bc714492) and kernel 4.18.9. I am, however, on LLVM 7.0.0 and have not yet tried a recent git master. I will try that in the near future and see if it makes a difference.

I assume Unigine Valley 1.1.7 refers to the phoronix test profile version as upstream only has version 1.0, which is the one I am using (with the Extreme HD preset) and that is also the one downloaded by the test profile[1].

[1] https://github.com/phoronix-test-suite/test-profiles/blob/master/pts/unigine-valley-1.1.7/downloads.xml
Comment 7 Christian Widmer 2018-09-20 20:36:24 UTC
Just tried it with mesa git (at 64731e7c5e4bdd23e6b3fd23d3611b3c766301c7) and LLVM git (at 7840e607b9952273c71edd8997d22e6431cc927b) and the issue still is there.

I have also tried another apitrace after my previous post which unfortunately still does not work. I can create a trace but the exact scene with the issue always behaves strange. Once it stayed black for a while after which it rendered faster than it should. When I tried tracing again it rendered but the issue did not appear. Additionally, none of the generated traces replayed correctly, they all only showed the loading screen although there size was about what would be expected by a correct trace.

If there is any information I could provide to help with solving this issue, just let me know.
Comment 8 Christian Widmer 2018-10-22 21:26:12 UTC
I took the recently released kernel 4.19 as an incentive to test this again and it looks like the issue is gone. I do, however, not know if it is indeed the new kernel driver part or a mesa/LLVM update that happened in the meantime (I did not test it after every update).
Comment 9 Christian Widmer 2018-10-23 08:30:03 UTC
Out of curiosity I just tested it with kernel 4.18.14 and could not reproduce the issue there, either. This most likely means it was some other update in the meantime. I recently updated libdrm from version 2.4.93 to 2.4.96 which might also possibly be one of the changes that could have made the artifacts disappear. Nonetheless, I am glad that they are, albeit somewhat magically, gone.
Comment 10 Christian Widmer 2018-10-29 20:46:07 UTC
The issue still has not reappeared and nobody else seems to have this problem so I am going to close this as resolved.

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.