xf86-video-intel: src/sna/sna_accel.c

Chris Wilson ickle at kemper.freedesktop.org
Thu Nov 3 15:51:12 PDT 2011


 src/sna/sna_accel.c |   14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

New commits:
commit 5b21838471651a59d3e425c05a389c3f9196e21d
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Thu Nov 3 22:51:24 2011 +0000

    sna: Compute the correct extents for the PolyRectangle
    
    Otherwise we may leave one behind...
    
    A regression from the introduction of sna_poly_rectangles:
    40af32a0e9ed971a1f2c2a45266f32016bda7ed3 (sna: Execute blits directly
    for PolyRectangle)
    
    Reported-by: Matti Hamalainen <ccr at tnsp.org>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42568
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index e0bf47b..bea7788 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -4916,7 +4916,7 @@ sna_poly_rectangle_extents(DrawablePtr drawable, GCPtr gc,
 	box.y2 = box.y1 + r->height;
 
 	while (--n)
-		box32_add_rect(&box, r++);
+		box32_add_rect(&box, ++r);
 
 	box.x2++;
 	box.y2++;
@@ -4954,8 +4954,8 @@ sna_poly_rectangle_blt(DrawablePtr drawable,
 		&&zero_clipped,
 	};
 
-	DBG(("%s: alu=%d, width=%d, fg=%08lx, damge=%p, clipped?=%d\n",
-	     __FUNCTION__, gc->alu, gc->lineWidth, gc->fgPixel, damage, clipped));
+	DBG(("%s: n=%d, alu=%d, width=%d, fg=%08lx, damge=%p, clipped?=%d\n",
+	     __FUNCTION__, n, gc->alu, gc->lineWidth, gc->fgPixel, damage, clipped));
 	if (!sna_fill_init_blt(&fill, sna, pixmap, bo, gc->alu, gc->fgPixel))
 		return FALSE;
 
@@ -4969,6 +4969,9 @@ zero:
 
 	do {
 		xRectangle rr = *r++;
+
+		DBG(("%s - zero : r[%d] = (%d, %d) x (%d, %d)\n", __FUNCTION__,
+		     n, rr.x, rr.y, rr.width, rr.height));
 		rr.x += dx;
 		rr.y += dy;
 
@@ -5029,6 +5032,9 @@ zero_clipped:
 			const BoxRec *c;
 			do {
 				xRectangle rr = *r++;
+
+				DBG(("%s - zero, clipped complex: r[%d] = (%d, %d) x (%d, %d)\n", __FUNCTION__,
+				     n, rr.x, rr.y, rr.width, rr.height));
 				rr.x += drawable->x;
 				rr.y += drawable->y;
 
@@ -5087,6 +5093,8 @@ zero_clipped:
 		} else {
 			do {
 				xRectangle rr = *r++;
+				DBG(("%s - zero, clip: r[%d] = (%d, %d) x (%d, %d)\n", __FUNCTION__,
+				     n, rr.x, rr.y, rr.width, rr.height));
 				rr.x += drawable->x;
 				rr.y += drawable->y;
 


More information about the xorg-commit mailing list