summaryrefslogtreecommitdiff
path: root/exa
diff options
context:
space:
mode:
authorMaarten Maathuis <madman2003@gmail.com>2009-11-18 21:23:08 +0100
committerKeith Packard <keithp@keithp.com>2009-11-18 13:28:41 -0800
commit647b79f87a9891225678dc6fc2fbda3bdef8fa9d (patch)
treef2e5ba3c5395e0a4caeaf40a782763b4eb2b0b86 /exa
parent30be7ceaf228497ac1ff0a1123c1b35e3aa1fc73 (diff)
exa/mixed: avoid copying back pixmap data when no migration took place
- When the driver handles the prepare access no copying is needed. - Delayed pixmap creation should be fine, because it's handled by the first prepare access, but the exaPixmapIsOffscreen check in finish access will return FALSE without a driver pixmap. Signed-off-by: Maarten Maathuis <madman2003@gmail.com> Acked-by: Michel Dänzer <michel@daenzer.net>
Diffstat (limited to 'exa')
-rw-r--r--exa/exa_migration_mixed.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/exa/exa_migration_mixed.c b/exa/exa_migration_mixed.c
index 6065d7577..ea6f878a2 100644
--- a/exa/exa_migration_mixed.c
+++ b/exa/exa_migration_mixed.c
@@ -210,7 +210,8 @@ void exaFinishAccess_mixed(PixmapPtr pPixmap, int index)
{
ExaPixmapPriv(pPixmap);
- if (pExaPixmap->pDamage && exaPixmapIsOffscreen(pPixmap)) {
+ if (pExaPixmap->pDamage && !pExaPixmap->offscreen &&
+ exaPixmapIsOffscreen(pPixmap)){
DamageRegionProcessPending(&pPixmap->drawable);
if (index == EXA_PREPARE_DEST || index == EXA_PREPARE_AUX_DEST) {