xserver: Branch 'master'

Adam Jackson ajax at kemper.freedesktop.org
Mon Oct 20 06:58:47 PDT 2008


 exa/exa_migration.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

New commits:
commit 2188582e5ea90edb432a2f421d0a267439ba08f9
Author: Michel Dänzer <michel at tungstengraphics.com>
Date:   Mon Oct 20 09:55:24 2008 -0400

    EXA: Avoid excessive syncing in PutImage

diff --git a/exa/exa_migration.c b/exa/exa_migration.c
index 56b6945..571650c 100644
--- a/exa/exa_migration.c
+++ b/exa/exa_migration.c
@@ -129,6 +129,7 @@ exaCopyDirty(ExaMigrationPtr migrate, RegionPtr pValidDst, RegionPtr pValidSrc,
     BoxPtr pBox;
     int nbox;
     Bool access_prepared = FALSE;
+    Bool need_sync = FALSE;
 
     /* Damaged bits are valid in current copy but invalid in other one */
     if (exaPixmapIsOffscreen(pPixmap)) {
@@ -220,14 +221,15 @@ exaCopyDirty(ExaMigrationPtr migrate, RegionPtr pValidDst, RegionPtr pValidSrc,
 	    exaMemcpyBox (pPixmap, pBox,
 			  fallback_src, fallback_srcpitch,
 			  fallback_dst, fallback_dstpitch);
-	}
+	} else
+	    need_sync = TRUE;
 
 	pBox++;
     }
 
     if (access_prepared)
 	exaFinishAccess(&pPixmap->drawable, fallback_index);
-    else
+    else if (need_sync)
 	sync (pPixmap->drawable.pScreen);
 
     pExaPixmap->offscreen = save_offscreen;


More information about the xorg-commit mailing list