OSDN Git Service

mesa: restore the negate flag of dots in build_lighting.
authorXiang, Haihao <haihao.xiang@intel.com>
Tue, 11 Nov 2008 05:36:32 +0000 (13:36 +0800)
committerBrian Paul <brian.paul@tungstengraphics.com>
Tue, 11 Nov 2008 15:11:23 +0000 (08:11 -0700)
Dots is re-used if more than one light is enabled. Previously
the negate flag of dots may affect next light.

src/mesa/main/ffvertex_prog.c

index 9ac8328..b87c443 100644 (file)
@@ -1318,6 +1318,9 @@ static void build_lighting( struct tnl_program *p )
            emit_op3(p, OPCODE_MAD, res0, mask0, swizzle1(lit,Y), diffuse, _bfc0);
            emit_op3(p, OPCODE_MAD, res1, mask1, swizzle1(lit,Z), specular, _bfc1);
 
+            /* restore negate flag for next lighting */
+            dots = negate(dots);
+
            release_temp(p, ambient);
            release_temp(p, diffuse);
            release_temp(p, specular);