llvmpipe: Fix the bottom_edge_rule adjustment for points.
authorJosé Fonseca <jfonseca@vmware.com>
Tue, 7 Jan 2014 17:57:59 +0000 (17:57 +0000)
committerJosé Fonseca <jfonseca@vmware.com>
Wed, 8 Jan 2014 12:18:17 +0000 (12:18 +0000)
The adjustment needs to be applied to the y coordinates and not the x
coordinates, just like the equivalent code for lines and triangles in
lp_setup_line.c and lp_setup_tri.c.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Zack Rusin <zackr@vmware.com>
src/gallium/drivers/llvmpipe/lp_setup_point.c

index 834c47bdd762f7e970da65684ceb9315bc4c3a87..988e0c59f21b127cb7b42c02542d45bda014e616 100644 (file)
@@ -371,10 +371,10 @@ try_setup_point( struct lp_setup_context *setup,
        */
       int adj = (setup->bottom_edge_rule != 0) ? 1 : 0;
 
-      bbox.x0 = (x0 + (FIXED_ONE-1) + adj) >> FIXED_ORDER;
-      bbox.x1 = (x0 + fixed_width + (FIXED_ONE-1) + adj) >> FIXED_ORDER;
-      bbox.y0 = (y0 + (FIXED_ONE-1)) >> FIXED_ORDER;
-      bbox.y1 = (y0 + fixed_width + (FIXED_ONE-1)) >> FIXED_ORDER;
+      bbox.x0 = (x0 + (FIXED_ONE-1)) >> FIXED_ORDER;
+      bbox.x1 = (x0 + fixed_width + (FIXED_ONE-1)) >> FIXED_ORDER;
+      bbox.y0 = (y0 + (FIXED_ONE-1) + adj) >> FIXED_ORDER;
+      bbox.y1 = (y0 + fixed_width + (FIXED_ONE-1) + adj) >> FIXED_ORDER;
 
       /* Inclusive coordinates:
        */