diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2013-01-27 21:07:03 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2013-01-27 21:07:03 +0000 |
commit | b0d26ca9312695d05c29503a3f892e7f2c5816dd (patch) | |
tree | 580f60c63ddce7d5a790cb4df19073431406e8cb /src | |
parent | b0c3170c1092d01b4937f352a3962854785ee549 (diff) |
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@chris-wilson.co.uk>
Diffstat (limited to 'src')
-rw-r--r-- | src/sna/gen3_render.c | 2 | ||||
-rw-r--r-- | src/sna/gen4_render.c | 2 | ||||
-rw-r--r-- | src/sna/gen5_render.c | 2 | ||||
-rw-r--r-- | src/sna/gen6_render.c | 2 | ||||
-rw-r--r-- | src/sna/gen7_render.c | 2 |
5 files changed, 5 insertions, 5 deletions
diff --git a/src/sna/gen3_render.c b/src/sna/gen3_render.c index 6c0ea6a6..3eb29668 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 e4f5f594..249d6261 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 998d55e2..e4649c4b 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 4a9387a6..bb35e10f 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 6eec4b45..a3ec26e4 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; |