diff options
Diffstat (limited to 'src/r600_exa.c')
-rw-r--r-- | src/r600_exa.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/r600_exa.c b/src/r600_exa.c index 61b6315c..be0a9fae 100644 --- a/src/r600_exa.c +++ b/src/r600_exa.c @@ -551,7 +551,10 @@ R600PrepareCopy(PixmapPtr pSrc, PixmapPtr pDst, dst_obj.width = pDst->drawable.width; dst_obj.height = pDst->drawable.height; dst_obj.bpp = pDst->drawable.bitsPerPixel; - dst_obj.domain = RADEON_GEM_DOMAIN_VRAM; + if (radeon_get_pixmap_shared(pDst) == TRUE) { + dst_obj.domain = RADEON_GEM_DOMAIN_GTT; + } else + dst_obj.domain = RADEON_GEM_DOMAIN_VRAM; if (!R600SetAccelState(pScrn, &src_obj, @@ -1203,7 +1206,10 @@ static Bool R600PrepareComposite(int op, PicturePtr pSrcPicture, dst_obj.width = pDst->drawable.width; dst_obj.height = pDst->drawable.height; dst_obj.bpp = pDst->drawable.bitsPerPixel; - dst_obj.domain = RADEON_GEM_DOMAIN_VRAM; + if (radeon_get_pixmap_shared(pDst) == TRUE) + dst_obj.domain = RADEON_GEM_DOMAIN_GTT; + else + dst_obj.domain = RADEON_GEM_DOMAIN_VRAM; if (pMaskPicture) { if (!pMask) { |