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
_______________________________________________
xorg-devel mailing list
[email protected]
http://lists.x.org/mailman/listinfo/xorg-devel