https://bugs.freedesktop.org/show_bug.cgi?id=97122
Bug ID: 97122 Summary: list of 12 dEQP-GLES2 tests causing systematic GPU lockups Product: Mesa Version: unspecified Hardware: Other OS: All Status: NEW Severity: normal Priority: medium Component: Drivers/Gallium/radeonsi Assignee: dri-devel@lists.freedesktop.org Reporter: issor.oruam@gmail.com QA Contact: dri-devel@lists.freedesktop.org
Created attachment 125386 --> https://bugs.freedesktop.org/attachment.cgi?id=125386&action=edit List of tests inducing systematic GPU lockups
Hi,
while performing Android Compatibility Test Suite run on marshamallow-x86 with mesa 12.0.1 I encountered systematic GPU lockups preceeded by full screen artifact, sometime "noise screen alike" and some others "vertical stripes".
The issue was observed on HD7750 and HD7950.
The pattern and list of the 12 dEQP-GLES2 tests causing systematic GPU lockups is the following:
dEQP-GLES2.functional.shaders.loops.while_{constant,uniform,dynamic}.{conditional,double}_continue_{vertex,fragment}
You can find in the attachments the dEQP GLES2 tests logs and some dmesg logs captured during these GPU lockups.
I am available to collect further logs, if you could provide me instructions, or to test patches and report back to help resolve the issue.
NOTE: I've already tried to define R600_DEBUG=nosb which in android-x86 has to be done in init.x86.rc before building the iso image, but then running a test plan with the aforementioned failed tests, I get again systematic GPU lockups.
Mauro Rossi
https://bugs.freedesktop.org/show_bug.cgi?id=97122
--- Comment #1 from Mauro Rossi issor.oruam@gmail.com --- Created attachment 125387 --> https://bugs.freedesktop.org/attachment.cgi?id=125387&action=edit dmesg for uniform_iterations#conditional_continue_fragment FAIL
https://bugs.freedesktop.org/show_bug.cgi?id=97122
--- Comment #2 from Mauro Rossi issor.oruam@gmail.com --- Created attachment 125388 --> https://bugs.freedesktop.org/attachment.cgi?id=125388&action=edit dmesg for uniform_iterations#double_continue_vertex FAIL
https://bugs.freedesktop.org/show_bug.cgi?id=97122
--- Comment #3 from Mauro Rossi issor.oruam@gmail.com --- Created attachment 125389 --> https://bugs.freedesktop.org/attachment.cgi?id=125389&action=edit dmesg for uniform_iterations#double_continue_fragment FAIL
https://bugs.freedesktop.org/show_bug.cgi?id=97122
--- Comment #4 from Nicolai Hähnle nhaehnle@gmail.com --- Hi Mauro, thanks for the report - sounds like a control flow lowering bug.
Note that the 'nosb' option will have no effect, it applies to r600 only.
Which version of LLVM are you using? glxinfo shows this. Does the lockup happen with LLVM trunk?
https://bugs.freedesktop.org/show_bug.cgi?id=97122
--- Comment #5 from Mauro Rossi issor.oruam@gmail.com --- Hi,
llvm version used in android marshmallow-x86 is 3.7.0 (preceding the R600 to AMDGPU target renaming). On android my options are currently limited to backporting latest patches on top llvm 3.7.0 or trying upgrade to latest llvm 3.7.x doing some AMDGPU target porting of android makefiles.
'nosb' option will have no effect, it applies to r600 only
Are there other options that could help to workaround the issue or for debugging purposes?
I'll check if some control flow lowering bug was reported, in order to apply the relevant changes, do you know
In order to try latest llvm, I will move to linux test run, by using chadversary fork and report about GLES2 results
Mauro
https://bugs.freedesktop.org/show_bug.cgi?id=97122
--- Comment #6 from Mauro Rossi issor.oruam@gmail.com --- the missing part of a sentence:
do you know
if similar GPU lockup bugs may be related and how?
Mauro
https://bugs.freedesktop.org/show_bug.cgi?id=97122
--- Comment #7 from Nicolai Hähnle nhaehnle@gmail.com --- I'm sorry, but LLVM 3.7 is extremely old. I'd say you're mostly out of luck.
There have been huge changes to how control flow lowering works, and I'd say trying to cherry-pick individual fixes is basically a hopeless endeavour.
https://bugs.freedesktop.org/show_bug.cgi?id=97122
Nicolai Hähnle nhaehnle@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |WORKSFORME
--- Comment #8 from Nicolai Hähnle nhaehnle@gmail.com --- I have verified that the tests pass on current Mesa + LLVM master.
I would seriously recommend that you somehow upgrade the version of LLVM you use with the driver.
https://bugs.freedesktop.org/show_bug.cgi?id=97122
--- Comment #9 from Mauro Rossi issor.oruam@gmail.com --- Hi Nicolai,
thanks a lot for your commitment and help.
Now I also learned how to run deqp on linux
I confirm that with the llvm 3.8.1 and later I see no GPU lockups.
Being oibaf ppa not affected, the resolution happened between 3.8.0 and 3.8.1 and has to be related to SI lowering, that's a lot of useful info for my problem.
Cheers! Mauro
Test Sessions: --------------
cmake . -DDEQP_TARGET=x11_egl make cd ./modules/gles2 ./deqp-gles2 -n dEQP-GLES2.functional.shaders.loops.*
Test Session 1: padoka ppa (mesa 12.1 and llvm 4.0.0) ---------------------------------------------------
utente@utente-desktop:~$ glxinfo | grep Mesa client glx vendor string: Mesa Project and SGI OpenGL core profile version string: 4.2 (Core Profile) Mesa 12.1.0-devel - padoka PPA OpenGL version string: 3.0 Mesa 12.1.0-devel - padoka PPA OpenGL ES profile version string: OpenGL ES 3.0 Mesa 12.1.0-devel - padoka PPA
utente@utente-desktop:~$ glxinfo | grep LLVM Device: AMD TAHITI (DRM 2.43.0 / 4.4.0-31-generic, LLVM 4.0.0) (0x679a) OpenGL renderer string: Gallium 0.4 on AMD TAHITI (DRM 2.43.0 / 4.4.0-31-generic, LLVM 4.0.0)
Result: dEQP-GLES2.functional.shaders.loops.* 100% ok and no GPU lockups
DONE!
Test run totals: Passed: 624/624 (100.0%) Failed: 0/624 (0.0%) Not supported: 0/624 (0.0%) Warnings: 0/624 (0.0%)
Test Session 2: oibaf ppa (mesa 12.1 and llvm 3.8.1) --------------------------------------------------
utente@utente-desktop:~$ glxinfo | grep Mesa client glx vendor string: Mesa Project and SGI OpenGL core profile version string: 4.1 (Core Profile) Mesa 12.1.0-devel OpenGL version string: 3.0 Mesa 12.1.0-devel OpenGL ES profile version string: OpenGL ES 3.0 Mesa 12.1.0-devel utente@utente-desktop:~$ glxinfo | grep LLVM Device: AMD TAHITI (DRM 2.43.0 / 4.4.0-31-generic, LLVM 3.8.1) (0x679a) OpenGL renderer string: Gallium 0.4 on AMD TAHITI (DRM 2.43.0 / 4.4.0-31-generic, LLVM 3.8.1)
Result: dEQP-GLES2.functional.shaders.loops.* are 100% ok and no GPU lockups
DONE!
Test run totals: Passed: 624/624 (100.0%) Failed: 0/624 (0.0%) Not supported: 0/624 (0.0%) Warnings: 0/624 (0.0%)
Test Session 3: default Ubuntu 16.04 (mesa 11.2 and llvm 3.8.0) -------------------------------------------------------------
utente@utente-desktop:~$ glxinfo | grep Mesa client glx vendor string: Mesa Project and SGI OpenGL core profile version string: 4.1 (Core Profile) Mesa 11.2.0 OpenGL version string: 3.0 Mesa 11.2.0 OpenGL ES profile version string: OpenGL ES 3.0 Mesa 11.2.0
utente@utente-desktop:~$ glxinfo | grep LLVM Device: AMD TAHITI (DRM 2.43.0, LLVM 3.8.0) (0x679a) OpenGL renderer string: Gallium 0.4 on AMD TAHITI (DRM 2.43.0, LLVM 3.8.0)
Result: Full screen artifacts and GPU lockup, but clearly llvm version related
dri-devel@lists.freedesktop.org