https://bugs.freedesktop.org/show_bug.cgi?id=91480
Bug ID: 91480 Summary: Dead Island: Crash loading Act 3 possible shader issue Product: Mesa Version: 10.6 Hardware: Other OS: All Status: NEW Severity: normal Priority: medium Component: Drivers/Gallium/r600 Assignee: dri-devel@lists.freedesktop.org Reporter: sa@whiz.se QA Contact: dri-devel@lists.freedesktop.org
Created attachment 117408 --> https://bugs.freedesktop.org/attachment.cgi?id=117408&action=edit backtrace with 10.5.9
I'm getting a reproducible crash in the game Dead Island when loading act 3.
Sometimes this is a straight segfault, sometimes the game pops up a warning "An unknown error occured while compiling shaders."
I'm attaching a backtrace of the segfault from Mesa 10.5.9, I still get the error with 10.6.3.
This might be a shader issue, I get this warning in the game log:
/media/Data/perforce/di/releases/di_master_steambox/src/engine/ropengl/ROpenGL_Shader.cpp(471) : Condition: 0 && "Cannot compile GL shader!" LLOG: 0:35(12): warning: extension `GL_ATI_draw_buffers' unsupported in fragment shader 0:209(3): error: syntax error, unexpected '=' ERRR: Assertion failed! /media/Data/perforce/di/releases/di_master_steambox/src/engine/ropengl/ROpenGL_Shader.cpp(678) : Condition: 0 && "Compilation of shader failed!" ERRR: [CPShader] cannot create pixel shader LLOG: binlen: 0; format: 0; program: 48828 LLOG: FAILED TO LOAD BINARY!!! Loading from sources.TOTAL TIME: 247398.718750ms
I'm attaching the failing shader.
I'm failing this against r600g as that's where the backtrace points, but this is probably a general shader issue.
Probably not the same as #85564 as I have played through half the game with just a few hiccups.
Side note: this title might be a good candidate for some sort of cache. Loading times are more than a minute and it seems to be spending most of that time compiling.
https://bugs.freedesktop.org/show_bug.cgi?id=91480
--- Comment #1 from Sven Arvidsson sa@whiz.se --- Created attachment 117409 --> https://bugs.freedesktop.org/attachment.cgi?id=117409&action=edit failing shader
https://bugs.freedesktop.org/show_bug.cgi?id=91480
--- Comment #2 from Ilia Mirkin imirkin@alum.mit.edu --- FWIW I can't reproduce the segfault by running through glsl_compiler. I do, however, get a
0:35(1): error: #extension directive is not allowed in the middle of a shader
But that should be work-around-able with a driconf setting (or by running the game with allow_glsl_extension_directive_midshader=1 in the environment). When I move the #extension line up, no complaints (other than the unknown GL_ATI_draw_buffers thing), nothing in valgrind either.
Perhaps you can capture an apitrace of the issue?
https://bugs.freedesktop.org/show_bug.cgi?id=91480
--- Comment #3 from Sven Arvidsson sa@whiz.se --- (In reply to Ilia Mirkin from comment #2)
FWIW I can't reproduce the segfault by running through glsl_compiler. I do, however, get a
0:35(1): error: #extension directive is not allowed in the middle of a shader
But that should be work-around-able with a driconf setting (or by running the game with allow_glsl_extension_directive_midshader=1 in the environment). When I move the #extension line up, no complaints (other than the unknown GL_ATI_draw_buffers thing), nothing in valgrind either.
Perhaps you can capture an apitrace of the issue?
Right, there's already a workaround for this game in drirc.
I can't really make out much from the backtrace, but at least for some of the crashes the segfault seems to come from the game, probably because of the failing shader?
You didn't get the syntax error? 0:209(3): error: syntax error, unexpected '='
I will try again with git master and try to capture a trace too,
https://bugs.freedesktop.org/show_bug.cgi?id=91480
Sven Arvidsson sa@whiz.se changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|10.6 |git
--- Comment #4 from Sven Arvidsson sa@whiz.se --- I reproduced the bug with git master e933d545997de9e50a8ed5247722c1c786bf4858.
I tried making a trace, but Dead Island segfaults right away if started with apitrace.
https://bugs.freedesktop.org/show_bug.cgi?id=91480
Sven Arvidsson sa@whiz.se changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEW |RESOLVED
--- Comment #5 from Sven Arvidsson sa@whiz.se --- With radeonsi and Mesa 11.1 the game seems to work fine. I have no way of trying it on r600g so I will close the bug.
dri-devel@lists.freedesktop.org