Bug 110573

Summary: Mesa vulkan-radeon 19.0.3 system freeze and visual artifacts (RADV)
Product: Mesa Reporter: Anton Herzfeld <antonh>
Component: Drivers/Vulkan/radeonAssignee: mesa-dev
Status: RESOLVED FIXED QA Contact: mesa-dev
Severity: blocker    
Priority: medium    
Version: 19.0   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Anton Herzfeld 2019-05-01 18:09:07 UTC
Since mesa vulkan-radeon-19.0.3 (RADV) playing AC Odyssey via lutris and DXVK (version of DXVK does not matter) the system hangs after finishing to load the savegame. The loading screen shows flickering and blotchy particle effects of the fire pit.
Reverting to 19.0.2 immediately fixes the issues, no particle issues and no system hang.


I have also tested the current master and the issue is still persistent there. Is there any trace I can deliver to help getting this fixed?

System:

Sapphire AMD Vega 56
model name	: AMD Ryzen 7 1700X Eight-Core Processor

Linux antergos 5.0.10-arch1-1-ARCH #1 SMP PREEMPT
Comment 1 Anton Herzfeld 2019-05-01 18:45:01 UTC
I narrowed the issue to a specific commit:

https://github.com/mesa3d/mesa/commit/b5ea4378c3260ff003532c8138a81a57091bdaa0#diff-078b981b454c93e62531f44768fca61d

ac/nir: only use the new raw/struct image atomic intrinsics with LLVM 9+
b5ea4378c3260ff003532c8138a81a57091bdaa0
Comment 2 Anton Herzfeld 2019-05-01 18:54:22 UTC
Just FYI currently on running LLVM 8
Comment 3 James.Dutton 2019-05-01 20:49:17 UTC
I have the same issue, bisected to the same commit as you.
I have a Vega 56 and LLVM 8 also.

FYI. If you edit it back to be
if (HAVE_LLVM >= 0x800) {

The artifacts and crashing disappear.
Comment 4 Samuel Pitoiset 2019-05-02 07:50:45 UTC
This is really weird, the fix is actually for LLVM 8 and it just breaks...
Comment 5 Samuel Pitoiset 2019-05-02 09:31:53 UTC
Can you record an apitrace of the problem?
I would like to understand it before doing a revert eventually.
Comment 6 James.Dutton 2019-05-02 10:19:08 UTC
apitrace will not help us here.
Use case:
ACO (Windows Game)  -> Wine -> DXVK -> vulkan

apitrace cannot catch vulkan stuff.

Is there a better tool to trace the vulkan api ?
Comment 7 Samuel Pitoiset 2019-05-02 10:33:30 UTC
apitrace will catch D3D11 and then we can replay the trace through Wine/DXVK/RADV.

See the DXVK wiki for more info about that.
Comment 8 oschowa 2019-05-02 10:40:03 UTC
I recorded an apitrace of AC:O back in october to help debug a dxvk issue, but at least back then it crashed with apitrace before you could load a savegame, so it might not be possible to reproduce this issue with apitrace.
Anyways, here is the old trace: https://drive.google.com/open?id=1vFyghPpwZ_M5K16-xv1Vp97jauL4Ma9l
Comment 9 Samuel Pitoiset 2019-05-02 12:02:11 UTC
Yeah, the trace crashes and doesn't expose the problem for me.
Comment 10 Anton Herzfeld 2019-05-02 17:29:46 UTC
Is there any other trace I can provide for debugging purposes?
Comment 11 Samuel Pitoiset 2019-05-02 19:54:10 UTC
What you can do is to try to record a renderdoc capture with 19.0.2 and see if you can reproduce the problem by replaying it with 19.0.3. You probably need to be a bit lucky to record the right frame. :)
Comment 12 Samuel Pitoiset 2019-05-03 09:01:47 UTC
I think I found the problem with a different game, I'm working on.
Comment 13 Samuel Pitoiset 2019-05-03 09:42:58 UTC
Can you try https://patchwork.freedesktop.org/series/60252/ ? That should fix the regression.
Comment 14 Anton Herzfeld 2019-05-03 10:07:01 UTC
Yes that seems to fix the issue!
No more visual artifacts or system hangs. Thanks a lot for the help!
Comment 15 Samuel Pitoiset 2019-05-03 16:06:26 UTC
Fixed with https://cgit.freedesktop.org/mesa/mesa/commit/?id=4f18c43d1df64135e8968a7d4fbfd2c9918b76ae

It should be in the 19.0.4 and 19.1 releases.
Comment 16 Anton Herzfeld 2019-05-03 19:02:49 UTC
Great work, thanks again!

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.