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>
This commit is contained in:
Maarten Maathuis 2009-11-18 21:23:08 +01:00 committed by Keith Packard
parent 30be7ceaf2
commit 647b79f87a

View File

@ -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) {