diff options
author | Brian Paul <brianp@vmware.com> | 2009-03-31 16:13:14 -0600 |
---|---|---|
committer | Brian Paul <brianp@vmware.com> | 2009-03-31 16:21:51 -0600 |
commit | 919f57078b289a273e0e46ee2214a9f042b11b1f (patch) | |
tree | 6393f3742a5f97dd2dffda7a11fb9a62029a2bc2 /src/gallium/drivers/r300/r300_state_shader.c | |
parent | ef6f1027ff0b6027976a7467b8461ffdd53ce2a8 (diff) |
mesa: fix bug in GPU codegen for fixed-function two-sided lighting
The 'dots' register wasn't getting properly un-negated and un-swizzled
after emitting the code for back-face lighting. So, if more than one
light source was enabled, the specular exponent for the next light source
was wrong.
During execution we were evaluating pow(x, y) where y was negative instead
of positive. This led to the outcome being zero or NaN.
This fixes the occasional black triangles seen in isosurf when hacked to
enable two-sided lighting.
Diffstat (limited to 'src/gallium/drivers/r300/r300_state_shader.c')
0 files changed, 0 insertions, 0 deletions