https://bugs.freedesktop.org/show_bug.cgi?id=91998
Bug ID: 91998 Summary: Object rendered completely black in The Book of Unwritten Tales: The Critter Chronicles Product: Mesa Version: git Hardware: Other OS: All Status: NEW Severity: minor Priority: medium Component: Drivers/Gallium/radeonsi Assignee: dri-devel@lists.freedesktop.org Reporter: daniel@constexpr.org QA Contact: dri-devel@lists.freedesktop.org
apitrace: http://constexpr.org/tmp/BOUT-CC-radeonsi.1.trace.xz (95 MiB)
The pipe behind the character is rendered completely black. The object is rendered without any shader but with fixed-function lighting enabled.
Relevant draw call: 2336877 (in frame 1699)
Disabling GL_LIGHTING, GL_LIGHT3 or setting the GL_DIFFUSE material to [0, 0, 0, 0] (including alpha) causes the pipe to be rendered correctly. Disabling the other lights has no effect.
The GL_EMISSION material is set to [1, 1, 1, 1] for this draw call so the other lighting parameters should have no effect (unless they result in NaNs or negative values).
GPU; Radeon HD 7950 (TAHITI) Mesa 11.1.0-devel (git-0337a9b) LLVM r247497 Linux 4.2.0-gentoo-r1
Everything is rendered correctly with llvmpipe.
So far I have only found one object in the game affected by this.
https://bugs.freedesktop.org/show_bug.cgi?id=91998
--- Comment #1 from Daniel Scharrer daniel@constexpr.org --- Created attachment 118256 --> https://bugs.freedesktop.org/attachment.cgi?id=118256&action=edit incorrect rendering with radeonsi
https://bugs.freedesktop.org/show_bug.cgi?id=91998
--- Comment #2 from Daniel Scharrer daniel@constexpr.org --- Created attachment 118257 --> https://bugs.freedesktop.org/attachment.cgi?id=118257&action=edit correct rendering with LIBGL_ALWAYS_SOFTWARE=1
https://bugs.freedesktop.org/show_bug.cgi?id=91998
--- Comment #3 from Ilia Mirkin imirkin@alum.mit.edu --- Interesting, the pipe is all-white on nvc0. I checked if this was an instance of https://bugs.winehq.org/show_bug.cgi?id=38869, but that doesn't seem to be the case.
https://bugs.freedesktop.org/show_bug.cgi?id=91998
--- Comment #4 from smoki smoki00790@gmail.com --- (In reply to Daniel Scharrer from comment #0)
The pipe behind the character is rendered completely black. The object is rendered without any shader but with fixed-function lighting enabled.
Description sounds to me like bug 84156. Similar thing happens in 3DMark2001 with GLSL disabled in wine or what happens in that Pedal to the Metal game.
https://bugs.freedesktop.org/show_bug.cgi?id=91998
--- Comment #5 from Ilia Mirkin imirkin@alum.mit.edu --- Pretty sure the error happens on nouveau because there's a 0 * infinity (or nan) type of situation. Messing with a flag that I believe controls the outcome of this type of operation resulted in fixing the rendering.
https://bugs.freedesktop.org/show_bug.cgi?id=91998
Daniel Scharrer daniel@constexpr.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |DUPLICATE
--- Comment #6 from Daniel Scharrer daniel@constexpr.org --- Both this and and the POSTAL 2 issue come from the same root problem - an Inf or NaN returned by POW for vertices 'behind' the spotlight (dot(spot_direction, vertex_direction) < 0): http://cgit.freedesktop.org/mesa/mesa/tree/src/mesa/main/ffvertex_prog.c#n95...
*** This bug has been marked as a duplicate of bug 91342 ***
dri-devel@lists.freedesktop.org