Redefine QUAD_TOP_LEFT, TOP_RIGHT, etc. to reflect Y=0=TOP raster layout.
authorBrian <brian.paul@tungstengraphics.com>
Tue, 16 Oct 2007 23:36:37 +0000 (17:36 -0600)
committerBrian <brian.paul@tungstengraphics.com>
Tue, 16 Oct 2007 23:36:37 +0000 (17:36 -0600)
src/mesa/pipe/softpipe/sp_headers.h
src/mesa/pipe/softpipe/sp_prim_setup.c

index b377c3471255bbeef479d215e75488f7df6c164b..e23742f80346c22bde7ed34796b08f3e5c1dc628 100644 (file)
 
 
 /* The rasterizer generates 2x2 quads of fragment and feeds them to
- * the current fp_machine (see below).  
+ * the current fp_machine (see below).
+ * Remember that Y=0=top with Y increasing down the window.
  */
-#define QUAD_BOTTOM_LEFT  0
-#define QUAD_BOTTOM_RIGHT 1
-#define QUAD_TOP_LEFT     2
-#define QUAD_TOP_RIGHT    3
+#define QUAD_TOP_LEFT     0
+#define QUAD_TOP_RIGHT    1
+#define QUAD_BOTTOM_LEFT  2
+#define QUAD_BOTTOM_RIGHT 3
 
-#define MASK_BOTTOM_LEFT  0x1
-#define MASK_BOTTOM_RIGHT 0x2
-#define MASK_TOP_LEFT     0x4
-#define MASK_TOP_RIGHT    0x8
+#define MASK_TOP_LEFT     (1 << QUAD_TOP_LEFT)
+#define MASK_TOP_RIGHT    (1 << QUAD_TOP_RIGHT)
+#define MASK_BOTTOM_LEFT  (1 << QUAD_BOTTOM_LEFT)
+#define MASK_BOTTOM_RIGHT (1 << QUAD_BOTTOM_RIGHT)
 #define MASK_ALL          0xf
 
 
index 7c81faf9df5bd7a76f09e179bd151132f5587a1c..598c2f6c22823342749f255df3ae233f1909176b 100644 (file)
@@ -125,11 +125,11 @@ quad_clip(struct setup_stage *setup)
    if (setup->quad.x0 < minx)
       setup->quad.mask &= (MASK_BOTTOM_RIGHT | MASK_TOP_RIGHT);
    if (setup->quad.y0 < miny)
-      setup->quad.mask &= (MASK_TOP_LEFT | MASK_TOP_RIGHT);
+      setup->quad.mask &= (MASK_BOTTOM_LEFT | MASK_BOTTOM_RIGHT);
    if (setup->quad.x0 == maxx - 1)
       setup->quad.mask &= (MASK_BOTTOM_LEFT | MASK_TOP_LEFT);
    if (setup->quad.y0 == maxy - 1)
-      setup->quad.mask &= (MASK_BOTTOM_LEFT | MASK_BOTTOM_RIGHT);
+      setup->quad.mask &= (MASK_TOP_LEFT | MASK_TOP_RIGHT);
 }
 
 
@@ -184,16 +184,16 @@ static unsigned calculate_mask( struct setup_stage *setup,
    unsigned mask = 0;
 
    if (x >= setup->span.left[0] && x < setup->span.right[0]) 
-      mask |= MASK_BOTTOM_LEFT;
+      mask |= MASK_TOP_LEFT;
 
    if (x >= setup->span.left[1] && x < setup->span.right[1]) 
-      mask |= MASK_TOP_LEFT;
+      mask |= MASK_BOTTOM_LEFT;
       
    if (x+1 >= setup->span.left[0] && x+1 < setup->span.right[0]) 
-      mask |= MASK_BOTTOM_RIGHT;
+      mask |= MASK_TOP_RIGHT;
 
    if (x+1 >= setup->span.left[1] && x+1 < setup->span.right[1]) 
-      mask |= MASK_TOP_RIGHT;
+      mask |= MASK_BOTTOM_RIGHT;
 
    return mask;
 }