summaryrefslogtreecommitdiff
path: root/exa/exa_accel.c
diff options
context:
space:
mode:
authorMaarten Maathuis <madman2003@gmail.com>2009-12-05 03:18:31 +0100
committerKeith Packard <keithp@keithp.com>2009-12-04 22:10:13 -0800
commitfd867387335b6175d76bbe93118bbe5e1e45ce88 (patch)
treeaeb352cad4306ac30a9e330accaeecc548ef7375 /exa/exa_accel.c
parentbb7acfbcfbc37869c2215c26791c6175a5a6c526 (diff)
exa/mixed: pixmaps that succeed prepare access have no need for a cpu copy
- When they have a gpu copy ofcource. - Use the presence of a cpu copy as a hint to fall back instead of UTS'ing in exaHWCopyNtoN. Signed-off-by: Maarten Maathuis <madman2003@gmail.com> Acked-by: Michel Dänzer <michel@daenzer.net> Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'exa/exa_accel.c')
-rw-r--r--exa/exa_accel.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/exa/exa_accel.c b/exa/exa_accel.c
index 1d88acbf0..0f6e5f78a 100644
--- a/exa/exa_accel.c
+++ b/exa/exa_accel.c
@@ -506,11 +506,9 @@ exaHWCopyNtoN (DrawablePtr pSrcDrawable,
exaMarkSync (pDstDrawable->pScreen);
/* UTS: mainly for SHM PutImage's secondary path.
*
- * Not taking this path for mixed pixmaps: It could only save one CPU
- * copy between cached memory and risks causing a more expensive
- * DownloadFromScreen later on.
+ * Only taking this path for directly accessible pixmaps.
*/
- } else if (!(pExaScr->info->flags & EXA_MIXED_PIXMAPS)) {
+ } else if (!pDstExaPixmap->pDamage) {
int bpp = pSrcDrawable->bitsPerPixel;
int src_stride = exaGetPixmapPitch(pSrcPixmap);
CARD8 *src = NULL;