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

Chris Wilson ickle at kemper.freedesktop.org
Mon Nov 21 03:06:51 PST 2011


 src/sna/gen4_render.c |   18 +-----------------
 1 file changed, 1 insertion(+), 17 deletions(-)

New commits:
commit a5353a7c1d1f02b887f61f543c8e4bd4e8bd104f
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Mon Nov 21 10:58:17 2011 +0000

    sna/gen4: Use the special composite rect emission for fill_one()
    
    In order to workaround a bug in the shaders on gen4, we need to flush
    the pipeline after every rectangle. The recently introduced fill-one
    mechanism for gen4, missed this vital step triggering a random hang with
    an otherwise sane batchbuffer (the missing flush is hard to spot!).
    
    Fixes regression from 86f99379ee5 (sna/gen4: Add fill-one).
    
    Reported-by: Albert Damen <albrt at gmx.net>
    Reported-by: Fryderyk Dziarmagowski <fdziarmagowski at gmail.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=43083
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/gen4_render.c b/src/sna/gen4_render.c
index c0a32a4..dbb7c43 100644
--- a/src/sna/gen4_render.c
+++ b/src/sna/gen4_render.c
@@ -2662,23 +2662,7 @@ gen4_render_fill_one(struct sna *sna, PixmapPtr dst, struct kgem_bo *bo,
 	gen4_fill_bind_surfaces(sna, &tmp);
 	gen4_align_vertex(sna, &tmp);
 
-	if (!gen4_get_rectangles(sna, &tmp, 1)) {
-		gen4_fill_bind_surfaces(sna, &tmp);
-		gen4_get_rectangles(sna, &tmp, 1);
-	}
-
-	DBG(("	(%d, %d), (%d, %d)\n", x1, y1, x2, y2));
-	OUT_VERTEX(x2, y2);
-	OUT_VERTEX_F(1);
-	OUT_VERTEX_F(1);
-
-	OUT_VERTEX(x1, y2);
-	OUT_VERTEX_F(0);
-	OUT_VERTEX_F(1);
-
-	OUT_VERTEX(x1, y1);
-	OUT_VERTEX_F(0);
-	OUT_VERTEX_F(0);
+	gen4_render_fill_rectangle(sna, &tmp, x1, y1, x2 - x1, y2 - y1);
 
 	gen4_vertex_flush(sna);
 	kgem_bo_destroy(&sna->kgem, tmp.src.bo);


More information about the xorg-commit mailing list