https://bugs.freedesktop.org/show_bug.cgi?id=93551
Jamey Sharp jamey@minilop.net changed:
What |Removed |Added ---------------------------------------------------------------------------- OS|Linux (All) |All CC| |jamey@minilop.net Component|Drivers/Gallium/radeonsi |Mesa core QA Contact|dri-devel@lists.freedesktop |mesa-dev@lists.freedesktop. |.org |org Hardware|x86-64 (AMD64) |All Assignee|dri-devel@lists.freedesktop |mesa-dev@lists.freedesktop. |.org |org
--- Comment #10 from Jamey Sharp jamey@minilop.net --- (In reply to smidjar2.reg from comment #6)
I disassembled ApplyConstants() where the game crashes when using OpenGL override to 4.2.
I spent a while poking at this crash in gdb, and I was definitely seeing the same segfault at the same instruction and call-stack.
I've sent a (one-line!) patch to mesa-dev that fixes this segfault on startup:
https://lists.freedesktop.org/archives/mesa-dev/2016-April/114614.html
And a Piglit patch that tests for the non-conforming behavior that led to this crash:
https://lists.freedesktop.org/archives/mesa-dev/2016-April/114613.html
Thanks to Karol Herbst's mesa-dev post, linked from comment #7, for pointing me in the right direction to find this Mesa bug.
Granted, the game developers ought to check for errors returned from glLinkProgram and fail more gracefully than a segfault, but I doubt we're going to get them to do *that*...
I can now play this game somewhat successfully on i965 with MESA_GL_VERSION_OVERRIDE=4.2. There are still plenty of rendering bugs I haven't dug into yet, but I played for an hour without crashes, at least!
I don't have (or particularly want) a commit bit on Mesa or Piglit, so now we need somebody to review and hopefully merge these patches.