diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2009-09-25 13:03:44 -0400 |
---|---|---|
committer | Alex Deucher <alexdeucher@gmail.com> | 2009-09-25 13:03:44 -0400 |
commit | 86c367be517e992aabc1bcfea2a2dde1a1ae520c (patch) | |
tree | a24e304736273b99e1f8bbfe33da2252094fe022 | |
parent | 8f80e37eed3ec028718b4e71bbb9b598847fd94e (diff) |
r600: fix bo accounting for Xv
fixes Xv after changes in:
8f80e37eed3ec028718b4e71bbb9b598847fd94e
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
-rw-r--r-- | src/r600_textured_videofuncs.c | 10 | ||||
-rw-r--r-- | src/radeon_textured_video.c | 2 |
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) |