draw: faster LIT(), incorrect though
authorKeith Whitwell <keith@tungstengraphics.com>
Fri, 23 May 2008 08:14:17 +0000 (09:14 +0100)
committerKeith Whitwell <keith@tungstengraphics.com>
Fri, 23 May 2008 08:16:58 +0000 (09:16 +0100)
src/gallium/auxiliary/draw/draw_vs_aos.c

index 930914f609bf81ca843ef61b3cca4a3a57e6a6f5..b0c3ac49d2bdeb8b34b71c14a89525c0516f0fe4 100644 (file)
@@ -1098,7 +1098,13 @@ static boolean emit_LIT( struct aos_compilation *cp, const struct tgsi_full_inst
        * Note: use 1.0 to avoid passing zero to 
        */
       x87_fldz(cp->func);                           /* 1 0  */
+#if 1
+      x87_fld1(cp->func);                           /* 1 0  */
+#else
+      /* Correct but slow due to fp exceptions generated in fyl2x - fix me.
+       */
       x87_fldz(cp->func);                           /* 1 0  */
+#endif
       x87_fld_src(cp, &op->FullSrcRegisters[0], 1); /* a1 1 0  */
       x87_fcomi(cp->func, st2);                            /* a1 1 0  */
       x87_fcmovb(cp->func, st1);                    /* a1' 1 0  */