Revert "mesa: save a temp on normalizes"
authorKeith Whitwell <keith@tungstengraphics.com>
Sat, 24 May 2008 15:32:08 +0000 (16:32 +0100)
committerKeith Whitwell <keith@tungstengraphics.com>
Sat, 24 May 2008 15:32:08 +0000 (16:32 +0100)
This reverts commit feceb43948f76cc4d4c8ecbb86b1b1f438c6daee.

src/mesa/main/ffvertex_prog.c

index 7a099b23767b08a10dc503c658dd2d0ff07fde1d..a627a21f6506fe2c1e2a63b940dd423b8b72923c 100644 (file)
@@ -305,7 +305,7 @@ static struct state_key *make_state_key( GLcontext *ctx )
  * generated program with line/function references for each
  * instruction back into this file:
  */
-#define DISASSEM 1
+#define DISASSEM (MESA_VERBOSE&VERBOSE_DISASSEM)
 
 /* Should be tunable by the driver - do we want to do matrix
  * multiplications with DP4's or with MUL/MAD's?  SSE works better
@@ -687,9 +687,11 @@ static void emit_normalize_vec3( struct tnl_program *p,
                                 struct ureg dest,
                                 struct ureg src )
 {
-   emit_op2(p, OPCODE_DP3, dest, WRITEMASK_X, src, src);
-   emit_op1(p, OPCODE_RSQ, dest, WRITEMASK_X, dest);
-   emit_op2(p, OPCODE_MUL, dest, 0, src, swizzle1(dest, X));
+   struct ureg tmp = get_temp(p);
+   emit_op2(p, OPCODE_DP3, tmp, WRITEMASK_X, src, src);
+   emit_op1(p, OPCODE_RSQ, tmp, WRITEMASK_X, tmp);
+   emit_op2(p, OPCODE_MUL, dest, 0, src, swizzle1(tmp, X));
+   release_temp(p, tmp);
 }
 
 static void emit_passthrough( struct tnl_program *p,