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

Chris Wilson ickle at kemper.freedesktop.org
Mon Oct 31 04:57:23 PDT 2011


 src/sna/sna_accel.c |   12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

New commits:
commit 9a2e59bfba6748325918f895b3e58351c7eb4baa
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Mon Oct 31 11:56:53 2011 +0000

    sna: Fix reversal of zero/wide for PolyRectangle
    
    Reported-by: Clemens Eisserer <linuxhippy at gmail.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42414
    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 4cbd194..9ce142d 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -4247,7 +4247,7 @@ sna_poly_rectangle_blt(DrawablePtr drawable,
 		       struct kgem_bo *bo,
 		       struct sna_damage **damage,
 		       GCPtr gc, int n, xRectangle *r,
-		       const BoxRec *extents, bool clipped)
+		       const BoxRec *extents, unsigned clipped)
 {
 	struct sna *sna = to_sna_from_drawable(drawable);
 	PixmapPtr pixmap = get_drawable_pixmap(drawable);
@@ -4255,24 +4255,20 @@ sna_poly_rectangle_blt(DrawablePtr drawable,
 	BoxRec boxes[512], *b = boxes, *const last_box = boxes+ARRAY_SIZE(boxes);
 	int16_t dx, dy;
 	static void * const jump[] = {
-		&&zero,
-		&&zero_clipped,
 		&&wide,
+		&&zero,
 		&&wide_clipped,
+		&&zero_clipped,
 	};
-	unsigned v;
 
 	DBG(("%s: alu=%d, width=%d, fg=%08lx, damge=%p, clipped?=%d\n",
 	     __FUNCTION__, gc->alu, gc->lineWidth, gc->fgPixel, damage, clipped));
-
 	if (!sna_fill_init_blt(&fill, sna, pixmap, bo, gc->alu, gc->fgPixel))
 		return FALSE;
 
 	get_drawable_deltas(drawable, pixmap, &dx, &dy);
 
-	v = !!clipped;
-	v |= (gc->lineWidth <= 1) << 1;
-	goto *jump[v];
+	goto *jump[(gc->lineWidth <= 1) | clipped];
 
 zero:
 	dx += drawable->x;


More information about the xorg-commit mailing list