[PATCH 1/6] exa/mixed: avoid copying back pixmap data when no migration took place

Maarten Maathuis madman2003 at gmail.com
Wed Nov 18 12:23:08 PST 2009


- 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 at gmail.com>
Acked-by: Michel Dänzer <michel at daenzer.net>
---
 exa/exa_migration_mixed.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/exa/exa_migration_mixed.c b/exa/exa_migration_mixed.c
index 6065d75..ea6f878 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) {
-- 
1.6.5.2



More information about the xorg-devel mailing list