xf86-video-intel: src/sna/gen3_render.c src/sna/gen4_render.c src/sna/gen5_render.c src/sna/gen6_render.c src/sna/gen7_render.c

Chris Wilson ickle at kemper.freedesktop.org
Sun Jan 27 13:11:14 PST 2013


 src/sna/gen3_render.c |    2 +-
 src/sna/gen4_render.c |    2 +-
 src/sna/gen5_render.c |    2 +-
 src/sna/gen6_render.c |    2 +-
 src/sna/gen7_render.c |    2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

New commits:
commit b0d26ca9312695d05c29503a3f892e7f2c5816dd
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Sun Jan 27 21:07:03 2013 +0000

    sna: Replace the forced vertex finish with just a wait
    
    When completing a batch mid-operation, we need to wait upon the other
    threads to complete their writes so that memory is coherent before
    submitting the work to the GPU. This was achieved by forcing the finish,
    but all that from that is the wait, which makes the handling of threads
    much explicit and removes the unnecessary vbo refresh.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/gen3_render.c b/src/sna/gen3_render.c
index 6c0ea6a..3eb2966 100644
--- a/src/sna/gen3_render.c
+++ b/src/sna/gen3_render.c
@@ -2008,7 +2008,7 @@ flush:
 		gen3_vertex_flush(sna);
 		gen3_magic_ca_pass(sna, op);
 	}
-	gen3_vertex_finish(sna);
+	sna_vertex_wait__locked(&sna->render);
 	_kgem_submit(&sna->kgem);
 	gen3_emit_composite_state(sna, op);
 	assert(sna->render.vertex_offset == 0);
diff --git a/src/sna/gen4_render.c b/src/sna/gen4_render.c
index e4f5f59..249d626 100644
--- a/src/sna/gen4_render.c
+++ b/src/sna/gen4_render.c
@@ -667,7 +667,7 @@ flush:
 		gen4_vertex_flush(sna);
 		gen4_magic_ca_pass(sna, op);
 	}
-	gen4_vertex_finish(sna);
+	sna_vertex_wait__locked(&sna->render);
 	_kgem_submit(&sna->kgem);
 	emit_state(sna, op);
 	goto start;
diff --git a/src/sna/gen5_render.c b/src/sna/gen5_render.c
index 998d55e..e4649c4 100644
--- a/src/sna/gen5_render.c
+++ b/src/sna/gen5_render.c
@@ -654,7 +654,7 @@ flush:
 		gen4_vertex_flush(sna);
 		gen5_magic_ca_pass(sna, op);
 	}
-	gen4_vertex_finish(sna);
+	sna_vertex_wait__locked(&sna->render);
 	_kgem_submit(&sna->kgem);
 	emit_state(sna, op);
 	goto start;
diff --git a/src/sna/gen6_render.c b/src/sna/gen6_render.c
index 4a9387a..bb35e10 100644
--- a/src/sna/gen6_render.c
+++ b/src/sna/gen6_render.c
@@ -1204,7 +1204,7 @@ flush:
 		gen4_vertex_flush(sna);
 		gen6_magic_ca_pass(sna, op);
 	}
-	gen4_vertex_finish(sna);
+	sna_vertex_wait__locked(&sna->render);
 	_kgem_submit(&sna->kgem);
 	emit_state(sna, op);
 	goto start;
diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c
index 6eec4b4..a3ec26e 100644
--- a/src/sna/gen7_render.c
+++ b/src/sna/gen7_render.c
@@ -1329,7 +1329,7 @@ flush:
 		gen4_vertex_flush(sna);
 		gen7_magic_ca_pass(sna, op);
 	}
-	gen4_vertex_finish(sna);
+	sna_vertex_wait__locked(&sna->render);
 	_kgem_submit(&sna->kgem);
 	emit_state(sna, op);
 	goto start;


More information about the xorg-commit mailing list