summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorChristian König <[email protected]>2010-11-11 22:08:00 +0100
committerChristian König <[email protected]>2010-11-11 22:08:00 +0100
commit97e92ab63bbf4282787499b4cf55ccb50675bdbc (patch)
treee2fc0f5661626b5476fa3d3f04aaf68c647a1928 /src/gallium
parent195bbe8ce218533569dde1368d04da0fd229913d (diff)
[g3dvl] move xfer_buffers_map/unmap into flush
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/auxiliary/vl/vl_mpeg12_mc_renderer.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/gallium/auxiliary/vl/vl_mpeg12_mc_renderer.c b/src/gallium/auxiliary/vl/vl_mpeg12_mc_renderer.c
index 0ac258c9667..fda54ac3632 100644
--- a/src/gallium/auxiliary/vl/vl_mpeg12_mc_renderer.c
+++ b/src/gallium/auxiliary/vl/vl_mpeg12_mc_renderer.c
@@ -1071,6 +1071,7 @@ flush(struct vl_mpeg12_mc_renderer *r)
assert(r);
assert(r->num_macroblocks == r->macroblocks_per_batch);
+ xfer_buffers_unmap(r);
gen_macroblock_stream(r, num_macroblocks);
if (num_macroblocks[MACROBLOCK_TYPE_INTRA] > 0) {
@@ -1183,6 +1184,7 @@ flush(struct vl_mpeg12_mc_renderer *r)
r->pipe->flush(r->pipe, PIPE_FLUSH_RENDER_CACHE, r->fence);
r->num_macroblocks = 0;
+ xfer_buffers_map(r);
}
static void
@@ -1436,7 +1438,6 @@ vl_mpeg12_mc_renderer_render_macroblocks(struct vl_mpeg12_mc_renderer
if (renderer->surface) {
if (surface != renderer->surface) {
if (renderer->num_macroblocks > 0) {
- xfer_buffers_unmap(renderer);
flush(renderer);
}
@@ -1471,9 +1472,7 @@ vl_mpeg12_mc_renderer_render_macroblocks(struct vl_mpeg12_mc_renderer
num_macroblocks -= num_to_submit;
if (renderer->num_macroblocks == renderer->macroblocks_per_batch) {
- xfer_buffers_unmap(renderer);
flush(renderer);
- xfer_buffers_map(renderer);
/* Next time we get this surface it may have new ref frames */
pipe_surface_reference(&renderer->surface, NULL);
pipe_surface_reference(&renderer->past, NULL);