draw: add more switches to turn FSE on/off
authorKeith Whitwell <keith@tungstengraphics.com>
Thu, 29 May 2008 13:35:30 +0000 (14:35 +0100)
committerKeith Whitwell <keith@tungstengraphics.com>
Thu, 29 May 2008 13:35:47 +0000 (14:35 +0100)
src/gallium/auxiliary/draw/draw_private.h
src/gallium/auxiliary/draw/draw_pt.c

index 88a7224..4f8ccee 100644 (file)
@@ -157,7 +157,8 @@ struct draw_context
          const void *constants;
       } user;
 
-      boolean test_fse;
+      boolean test_fse;         /* enable FSE even though its not correct (eg for softpipe) */
+      boolean no_fse;           /* disable FSE even when it is correct */
    } pt;
 
    struct {
index d48c6c2..7230771 100644 (file)
@@ -75,7 +75,7 @@ draw_pt_arrays(struct draw_context *draw,
 
    if (opt == 0) 
       middle = draw->pt.middle.fetch_emit;
-   else if (opt == PT_SHADE)
+   else if (opt == PT_SHADE && !draw->pt.no_fse)
       middle = draw->pt.middle.fetch_shade_emit;
    else
       middle = draw->pt.middle.general;
@@ -105,6 +105,7 @@ draw_pt_arrays(struct draw_context *draw,
 boolean draw_pt_init( struct draw_context *draw )
 {
    draw->pt.test_fse = GETENV("DRAW_FSE") != NULL;
+   draw->pt.no_fse = GETENV("DRAW_NO_FSE") != NULL;
 
    draw->pt.front.vcache = draw_pt_vcache( draw );
    if (!draw->pt.front.vcache)