summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/r600_textured_videofuncs.c10
-rw-r--r--src/radeon_textured_video.c2
2 files changed, 12 insertions, 0 deletions
diff --git a/src/r600_textured_videofuncs.c b/src/r600_textured_videofuncs.c
index b6f7b39..c9df284 100644
--- a/src/r600_textured_videofuncs.c
+++ b/src/r600_textured_videofuncs.c
@@ -227,6 +227,16 @@ R600DisplayTexturedVideo(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv)
accel_state->src_bo[0] = pPriv->src_bo;
accel_state->src_bo[1] = NULL;
accel_state->dst_bo = radeon_get_pixmap_bo(pPixmap);
+
+ radeon_cs_space_reset_bos(info->cs);
+ radeon_cs_space_add_persistent_bo(info->cs, accel_state->shaders_bo,
+ RADEON_GEM_DOMAIN_VRAM, 0);
+ radeon_cs_space_add_persistent_bo(info->cs, accel_state->src_bo[0],
+ RADEON_GEM_DOMAIN_GTT | RADEON_GEM_DOMAIN_VRAM, 0);
+ radeon_cs_space_add_persistent_bo(info->cs, accel_state->dst_bo,
+ RADEON_GEM_DOMAIN_GTT | RADEON_GEM_DOMAIN_VRAM, 0);
+ if (radeon_cs_space_check(info->cs))
+ return;
} else
#endif
{
diff --git a/src/radeon_textured_video.c b/src/radeon_textured_video.c
index 932759b..b708f52 100644
--- a/src/radeon_textured_video.c
+++ b/src/radeon_textured_video.c
@@ -458,8 +458,10 @@ RADEONPutImageTextured(ScrnInfoPtr pScrn,
pPriv->w = width;
pPriv->h = height;
+#if defined(XF86DRM_MODE)
if (info->cs)
radeon_bo_unmap(pPriv->src_bo);
+#endif
#ifdef XF86DRI
if (info->directRenderingEnabled) {
if (IS_R600_3D)