https://bugs.freedesktop.org/show_bug.cgi?id=93648
Bug ID: 93648 Summary: Random lines being rendered when playing Dolphin on radeonsi (w/ apitrace) Product: Mesa Version: git Hardware: x86-64 (AMD64) OS: Linux (All) Status: NEW Severity: normal Priority: medium Component: Drivers/Gallium/radeonsi Assignee: dri-devel@lists.freedesktop.org Reporter: delroth@gmail.com QA Contact: dri-devel@lists.freedesktop.org
We recently setup Dolphin's automated rendering tests on Fiji XT with Mesa/amdgpu. It started detected a random rendering issue which I think we can attribute to a driver bug.
See https://fifoci.dolphin-emu.org/compare/1086020-1085934/ . Left side has the "bad" rendering, right side the "good" rendering.
The issue is properly captured in this apitrace: http://delroth.net/radeon-unpredictable.trace -- rendering it on my Fiji XT system shows the lines but rendering it on i965 doesn't.
We have also had reports of users seeing this in action on Pitcairn GPUs: https://bugs.dolphin-emu.org/issues/9239
https://bugs.freedesktop.org/show_bug.cgi?id=93648
--- Comment #1 from Pierre Bourdon delroth@gmail.com --- Someone on IRC just reported something that sounds like the same issue, but on r600.
It's likely that this issue comes from geometry shaders, which we are using to generate stripes from lines. Disabling the use of geometry shaders breaks some features in Dolphin but fixes that particular problem.
https://bugs.freedesktop.org/show_bug.cgi?id=93648
Pierre Bourdon delroth@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|Drivers/Gallium/radeonsi |Mesa core Assignee|dri-devel@lists.freedesktop |mesa-dev@lists.freedesktop. |.org |org QA Contact|dri-devel@lists.freedesktop |mesa-dev@lists.freedesktop. |.org |org
--- Comment #2 from Pierre Bourdon delroth@gmail.com --- I haven't been able to test that myself, but other Dolphin users have reported the same symptoms on Intel Sandybridge IGPs. Our automated tests on Broadwell don't seem see that issue however, and my own laptop on Haswell doesn't see that issue either.
https://bugs.freedesktop.org/show_bug.cgi?id=93648
Ilia Mirkin imirkin@alum.mit.edu changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|Mesa core |Drivers/Gallium/radeonsi Assignee|mesa-dev@lists.freedesktop. |dri-devel@lists.freedesktop |org |.org QA Contact|mesa-dev@lists.freedesktop. |dri-devel@lists.freedesktop |org |.org
--- Comment #3 from Ilia Mirkin imirkin@alum.mit.edu --- I tested on a SNB and couldn't reproduce any artifacts on the apitrace (after forcing ARB_conservative_depth on). Even if I could, it'd be very surprising if the issues were related. Unless you have concrete evidence to the contrary, I'd keep it to one bug per issue that you see. Issues can be combined later on, but are difficult to break apart. Switching this one back to radeonsi.
Any issues you see on other hardware should include an apitrace taken on that hw.
https://bugs.freedesktop.org/show_bug.cgi?id=93648
--- Comment #4 from Timothy Arceri t_arceri@yahoo.com.au --- (In reply to Ilia Mirkin from comment #3)
I tested on a SNB and couldn't reproduce any artifacts on the apitrace (after forcing ARB_conservative_depth on). Even if I could, it'd be very surprising if the issues were related. Unless you have concrete evidence to the contrary, I'd keep it to one bug per issue that you see. Issues can be combined later on, but are difficult to break apart. Switching this one back to radeonsi.
Any issues you see on other hardware should include an apitrace taken on that hw.
I think Pierre was referring to bug #93418 it already has an apitrace for SNB I tried it a while ago on my Ivy Bridge and it also worked fine there.
https://bugs.freedesktop.org/show_bug.cgi?id=93648
--- Comment #5 from Nicolai Hähnle nhaehnle@gmail.com --- Thanks again for the report. Analysing the apitrace suggests we're not handling geometry shader primitive types correctly, I'm looking into it.
https://bugs.freedesktop.org/show_bug.cgi?id=93648
--- Comment #6 from Nicolai Hähnle nhaehnle@gmail.com --- Found the bug: we didn't properly update a piece of state in a specific (but not all that unusual) sequence of operations involving geometry shaders.
I have a preliminary series containing the fix at http://cgit.freedesktop.org/~nh/mesa/log/?h=shader-state
I remember that you mentioned other rendering bugs in Dolphin that showed up using your automated tests, but I don't think you've filed bug reports for them. Of course they may well have had the same root cause, but if any of them persist after the fix for this bug, I appreciate similarly high quality bug reports in the future :)
https://bugs.freedesktop.org/show_bug.cgi?id=93648
Nicolai Hähnle nhaehnle@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #7 from Nicolai Hähnle nhaehnle@gmail.com --- The fix is now in Mesa master:
commit 004fcd423011d45f746d571be47062feeea75455 Author: Nicolai Hähnle nicolai.haehnle@amd.com Date: Fri Jan 22 17:04:48 2016 -0500
radeonsi: ensure that VGT_GS_MODE is sent when necessary
dri-devel@lists.freedesktop.org