This bug affects the Gallium nv50 driver, but for some reason there's no "Drivers/Gallium/nv50" component listed in Bugzilla.
In Psychonauts on the nv50 driver, Raz's eyes (supposed to be red) flicker between red and white. This behavior first appears in git with the commit that switches the nv50 driver to use the new nv50/nvc0 shader compiler. The eye flickering is caused by one vertex shader being miscompiled. In the attached apitrace, the GL program number used to draw Raz's eyes (which has the vertex shader in question) is 541. If vertex shader optimizations are disabled in nv50_program.c, Raz's eyes stay white all the time instead of flickering. If shader program 541 is disabled entirely, Raz's eyes render correctly.
It is evident that there is a problem with the vertex shader by looking at its nv50 IR source after it is converted to SSA - there are several "nop" instructions at the beginning of the program to compensate for undefined source registers emitted by the TGSI to nv50 IR conversion.
The apitrace is too large for fd.o to accept it as an attachment; it can be downloaded from the following link: http://assortedtools.pbworks.com/f/Psychonauts.3.trace.xz
I did some more investigation into this bug and produced a fix: http://lists.freedesktop.org/archives/mesa-dev/2012-July/024196.html
The problem was that in lowering the POW instruction, the lg2/mul/preex2 instructions that go before the ex2 instruction were not being emitted properly, which as a side effect made each of the four ex2 instructions in the shader read from an undefined source register. This in turn made the SSA generator produce 4 of the 5 nop instructions mentioned in the original description.
The first of the five nop instructions is not the nv50 shader compiler's fault, but is the result of the GLSL compiler's pass to lower output registers emitting reads to undefined components of gl_TexCoord. It's an unrelated issue that happened to show up in the same shader, and doesn't affect the shader at the driver level post-optimization. I will file a separate bug report about it against glsl-compiler.
It should be fixed with 248e6f03313afdfd3c23be269b0da7a1aa31cff2 .
Marking as Resolved/Fixed