summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/softpipe
diff options
context:
space:
mode:
authorChristian König <[email protected]>2010-12-08 22:35:30 +0100
committerChristian König <[email protected]>2010-12-08 22:35:30 +0100
commit3b2ef2d007193f8a5f6979b378ee3c952ff39f7f (patch)
treed1a5f8f81ef869485bc09f8bf018ea1dc974632b /src/gallium/drivers/softpipe
parent877edb67859cffad44b1cea1c3392911e86cdef6 (diff)
[g3dvl] move buffer mapping/unmapping out of flush
Diffstat (limited to 'src/gallium/drivers/softpipe')
-rw-r--r--src/gallium/drivers/softpipe/sp_video_context.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/drivers/softpipe/sp_video_context.c b/src/gallium/drivers/softpipe/sp_video_context.c
index 35636d8475c..166c09e20be 100644
--- a/src/gallium/drivers/softpipe/sp_video_context.c
+++ b/src/gallium/drivers/softpipe/sp_video_context.c
@@ -282,7 +282,9 @@ sp_mpeg12_render_picture(struct pipe_video_context *vpipe,
assert(dst_surface);
assert(dst_area);
+ vl_mpeg12_mc_unmap_buffer(&ctx->mc_renderer);
vl_mpeg12_mc_renderer_flush(&ctx->mc_renderer);
+ vl_mpeg12_mc_map_buffer(&ctx->mc_renderer);
vl_compositor_render(&ctx->compositor, src_surface,
picture_type, src_area, dst_surface, dst_area, fence);
@@ -328,7 +330,9 @@ sp_mpeg12_set_decode_target(struct pipe_video_context *vpipe,
assert(dt);
if (ctx->decode_target != dt) {
+ vl_mpeg12_mc_unmap_buffer(&ctx->mc_renderer);
vl_mpeg12_mc_renderer_flush(&ctx->mc_renderer);
+ vl_mpeg12_mc_map_buffer(&ctx->mc_renderer);
pipe_surface_reference(&ctx->decode_target, dt);
}
}