llvmpipe: correctly scale top/left fill adjustments
authorKeith Whitwell <keithw@vmware.com>
Mon, 19 Oct 2009 10:29:05 +0000 (11:29 +0100)
committerKeith Whitwell <keithw@vmware.com>
Mon, 19 Oct 2009 10:29:05 +0000 (11:29 +0100)
Was overdoing it previously.

src/gallium/drivers/llvmpipe/lp_setup_tri.c

index 961bd103a7b68cecb43474b858c7b0769859d3ac..89b2b4eb37c6b2c5ebd0c0c5194ee0c3af0582ff 100644 (file)
@@ -328,9 +328,9 @@ do_triangle_ccw(struct setup_context *setup,
 
    /* correct for top-left fill convention:
     */
-   if (tri->dy12 < 0 || (tri->dy12 == 0 && tri->dx12 > 0)) tri->c1++;
-   if (tri->dy23 < 0 || (tri->dy23 == 0 && tri->dx23 > 0)) tri->c2++;
-   if (tri->dy31 < 0 || (tri->dy31 == 0 && tri->dx31 > 0)) tri->c3++;
+   if (tri->dy12 < 0 || (tri->dy12 == 0 && tri->dx12 > 0)) tri->c1 += 1.0/16.0f;
+   if (tri->dy23 < 0 || (tri->dy23 == 0 && tri->dx23 > 0)) tri->c2 += 1.0/16.0f;
+   if (tri->dy31 < 0 || (tri->dy31 == 0 && tri->dx31 > 0)) tri->c3 += 1.0/16.0f;
 
    /* find trivial reject offsets for each edge for a single-pixel
     * sized block.  These will be scaled up at each recursive level to