xf86-video-intel: 3 commits - src/sna/gen4_render.c src/sna/gen7_render.c

Chris Wilson ickle at kemper.freedesktop.org
Sat Jul 14 08:20:03 PDT 2012


 src/sna/gen4_render.c |    2 +-
 src/sna/gen7_render.c |   14 ++++++--------
 2 files changed, 7 insertions(+), 9 deletions(-)

New commits:
commit 50d61c38bdb720c17ba5bfcaf97032338e466d9b
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Sat Jul 14 16:07:32 2012 +0100

    sna/gen4: Fix typo introduced in checking dst format
    
    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 d6623f7..c6fbddb 100644
--- a/src/sna/gen4_render.c
+++ b/src/sna/gen4_render.c
@@ -573,7 +573,7 @@ static uint32_t gen4_get_dest_format(PictFormat format)
 
 static bool gen4_check_dst_format(PictFormat format)
 {
-	if (gen4_check_dst_format(format) != -1)
+	if (gen4_get_dest_format(format) != -1)
 		return true;
 
 	DBG(("%s: unhandled format: %x\n", __FUNCTION__, (int)format));
commit fc91b1f157f9e6e4097e662e2890574e530344ac
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Sat Jul 14 15:48:50 2012 +0100

    sna/gen7: Only emit the render flushes between operations
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c
index f393bf6..352bd45 100644
--- a/src/sna/gen7_render.c
+++ b/src/sna/gen7_render.c
@@ -974,6 +974,9 @@ gen7_emit_state(struct sna *sna,
 {
 	bool need_stall = false;
 
+	if (sna->render_state.gen7.emit_flush)
+		gen7_emit_pipe_flush(sna);
+
 	gen7_emit_cc(sna,
 		     gen7_get_blend(op->op,
 				    op->has_component_alpha,
@@ -1011,7 +1014,7 @@ gen7_emit_state(struct sna *sna,
 	if (need_stall)
 		gen7_emit_pipe_stall(sna);
 
-	sna->render_state.gen7.emit_flush = op->op != PictOpSrc;
+	sna->render_state.gen7.emit_flush = op->op > PictOpSrc;
 }
 
 static void gen7_magic_ca_pass(struct sna *sna,
@@ -1055,11 +1058,6 @@ static void gen7_vertex_flush(struct sna *sna)
 	sna->kgem.batch[sna->render_state.gen7.vertex_offset] =
 		sna->render.vertex_index - sna->render.vertex_start;
 	sna->render_state.gen7.vertex_offset = 0;
-
-	if (sna->render_state.gen7.emit_flush) {
-		gen7_emit_pipe_flush(sna);
-		sna->render_state.gen7.emit_flush = false;
-	}
 }
 
 static int gen7_vertex_finish(struct sna *sna)
@@ -4293,6 +4291,7 @@ gen7_render_expire(struct kgem *kgem)
 
 static void gen7_render_reset(struct sna *sna)
 {
+	sna->render_state.gen7.emit_flush = false;
 	sna->render_state.gen7.needs_invariant = true;
 	sna->render_state.gen7.vb_id = 0;
 	sna->render_state.gen7.ve_id = -1;
commit d30dc59651f156e9d4572141e2c54af89d007a37
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Sat Jul 14 15:42:19 2012 +0100

    sna/gen7: Only fallback to BLT for a redirected target
    
    As we can always use a partial surface for the source.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c
index 9e7683e..f393bf6 100644
--- a/src/sna/gen7_render.c
+++ b/src/sna/gen7_render.c
@@ -3369,8 +3369,7 @@ gen7_render_copy_boxes(struct sna *sna, uint8_t alu,
 			       box, n))
 		return true;
 
-	if ((too_large(dst->drawable.width, dst->drawable.height) ||
-	     too_large(src->drawable.width, src->drawable.height)) &&
+	if (too_large(dst->drawable.width, dst->drawable.height) ||
 	    sna_blt_compare_depth(&src->drawable, &dst->drawable)) {
 		BoxRec extents = box[0];
 		int i;


More information about the xorg-commit mailing list