summaryrefslogtreecommitdiff
path: root/exa
diff options
context:
space:
mode:
authorMichel Dänzer <daenzer@vmware.com>2009-12-28 16:48:17 +0100
committerKeith Packard <keithp@keithp.com>2009-12-28 22:01:38 -0800
commit661630f9099f254e54c8da513aaed12f6532cc35 (patch)
tree751d6af1ed512201b76aaf91f297e00cf992f1b9 /exa
parent90e6d93cf9bfafd63d7849dc16ce194d6f9c9d5f (diff)
EXA/mixed: Don't clear deferred status of pixmaps if migration is limited.
* With optimized migration, only the pending damage region is synchronized for destination pixmaps. * Migration of source pixmaps can be limited to a bounding region. Signed-off-by: Michel Dänzer <daenzer@vmware.com> Acked-by: Maarten Maathuis <madman2003@gmail.com> Signed-off-by: Keith Packard <keithp@keithp.com>
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 b755b83bb..14cb5a763 100644
--- a/exa/exa_migration_mixed.c
+++ b/exa/exa_migration_mixed.c
@@ -112,7 +112,8 @@ exaDoMigration_mixed(ExaMigrationPtr pixmaps, int npixmaps, Bool can_accel)
pPixmap->devKind = pExaPixmap->fb_pitch;
exaCopyDirtyToFb(pixmaps + i);
- if (pExaScr->deferred_mixed_pixmap == pPixmap)
+ if (pExaScr->deferred_mixed_pixmap == pPixmap &&
+ !pixmaps[i].as_dst && !pixmaps[i].pReg)
pExaScr->deferred_mixed_pixmap = NULL;
}