- This fixes strange corruption i have been dealing it. - 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 <[email protected]> --- exa/exa_migration_mixed.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/exa/exa_migration_mixed.c b/exa/exa_migration_mixed.c index 6065d75..0fbf1b2 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 && exaPixmapIsOffscreen(pPixmap) && + !pExaPixmap->offscreen) { DamageRegionProcessPending(&pPixmap->drawable); if (index == EXA_PREPARE_DEST || index == EXA_PREPARE_AUX_DEST) { @@ -223,5 +224,7 @@ void exaFinishAccess_mixed(PixmapPtr pPixmap, int index) pPixmap->devKind = pExaPixmap->fb_pitch; } else exaMoveInPixmap_mixed(pPixmap); + + pExaPixmap->offscreen = TRUE; } } -- 1.6.5.1 _______________________________________________ xorg-devel mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-devel
