llvmpipe: fix rasterization of vertical lines on pixel boundaries
authorZack Rusin <zackr@vmware.com>
Thu, 7 Oct 2010 20:26:17 +0000 (16:26 -0400)
committerJosé Fonseca <jfonseca@vmware.com>
Sat, 9 Oct 2010 07:19:21 +0000 (08:19 +0100)
src/gallium/drivers/llvmpipe/lp_setup_line.c

index 4d7d6235b0753b9ac9a57ce4728dd3fa11f8d298..693ac2817523ed8e49b8f3698ed86f8edf39a107 100644 (file)
@@ -475,7 +475,7 @@ try_setup_line( struct lp_setup_context *setup,
       else {
          /* do intersection test */
          float xintersect = fracf(v2[0][0]) + y2diff * dxdy;
-         draw_end = (xintersect < 1.0 && xintersect > 0.0);
+         draw_end = (xintersect < 1.0 && xintersect >= 0.0);
       }
 
       /* Are we already drawing start/end?
@@ -513,7 +513,7 @@ try_setup_line( struct lp_setup_context *setup,
             x_offset_end = y_offset_end * dxdy;
          }
       }
+
       /* x/y positions in fixed point */
       x[0] = subpixel_snap(v1[0][0] + x_offset     - setup->pixel_offset) - fixed_width/2;
       x[1] = subpixel_snap(v2[0][0] + x_offset_end - setup->pixel_offset) - fixed_width/2;