[PATCH 1/4] Revert "exa/mixed: be more thorough about setting fb_pitch when needed"

Maarten Maathuis madman2003 at gmail.com
Mon Nov 23 13:17:43 PST 2009


This reverts commit d4fc245115eb2cb323e06a82f9dd52518d9b6a16.

- This is causing crashes/problems for some.
---
 exa/exa_migration_mixed.c |   21 ++++++++-------------
 1 files changed, 8 insertions(+), 13 deletions(-)

diff --git a/exa/exa_migration_mixed.c b/exa/exa_migration_mixed.c
index 121a4ad..ea6f878 100644
--- a/exa/exa_migration_mixed.c
+++ b/exa/exa_migration_mixed.c
@@ -98,17 +98,14 @@ exaDoMigration_mixed(ExaMigrationPtr pixmaps, int npixmaps, Bool can_accel)
 	if (!pExaPixmap->driverPriv)
 	    exaCreateDriverPixmap_mixed(pPixmap);
 
-	if (exaPixmapIsOffscreen(pPixmap)) {
-	    pPixmap->devKind = pExaPixmap->fb_pitch;
-
-	    if (pExaPixmap->pDamage) {
-		ExaScreenPriv(pPixmap->drawable.pScreen);
+	if (pExaPixmap->pDamage && exaPixmapIsOffscreen(pPixmap)) {
+	    ExaScreenPriv(pPixmap->drawable.pScreen);
 
-		exaCopyDirtyToFb(pixmaps + i);
+	    pPixmap->devKind = pExaPixmap->fb_pitch;
+	    exaCopyDirtyToFb(pixmaps + i);
 
-		if (pExaScr->deferred_mixed_pixmap == pPixmap)
-		    pExaScr->deferred_mixed_pixmap = NULL;
-	    }
+	    if (pExaScr->deferred_mixed_pixmap == pPixmap)
+		pExaScr->deferred_mixed_pixmap = NULL;
 	}
 
 	pExaPixmap->offscreen = exaPixmapIsOffscreen(pPixmap);
@@ -136,9 +133,8 @@ exaMoveInPixmap_mixed(PixmapPtr pPixmap)
 void
 exaPrepareAccessReg_mixed(PixmapPtr pPixmap, int index, RegionPtr pReg)
 {
-    ExaPixmapPriv(pPixmap);
-
     if (!ExaDoPrepareAccess(pPixmap, index)) {
+	ExaPixmapPriv(pPixmap);
 	Bool is_offscreen = exaPixmapIsOffscreen(pPixmap);
 	ExaMigrationRec pixmaps[1];
 
@@ -201,8 +197,7 @@ exaPrepareAccessReg_mixed(PixmapPtr pPixmap, int index, RegionPtr pReg)
 	pPixmap->devPrivate.ptr = pExaPixmap->sys_ptr;
 	pPixmap->devKind = pExaPixmap->sys_pitch;
 	pExaPixmap->offscreen = FALSE;
-    } else
-	pPixmap->devKind = pExaPixmap->fb_pitch;
+    }
 }
 
 /* Move back results of software rendering on system memory copy of mixed driver
-- 
1.6.5.2



More information about the xorg-devel mailing list