exa/mixed: be more thorough about setting fb_pitch when needed
Signed-off-by: Maarten Maathuis <madman2003@gmail.com> Acked-by: Michel Dänzer <michel@daenzer.net>
This commit is contained in:
parent
647b79f87a
commit
d4fc245115
|
@ -98,15 +98,18 @@ exaDoMigration_mixed(ExaMigrationPtr pixmaps, int npixmaps, Bool can_accel)
|
||||||
if (!pExaPixmap->driverPriv)
|
if (!pExaPixmap->driverPriv)
|
||||||
exaCreateDriverPixmap_mixed(pPixmap);
|
exaCreateDriverPixmap_mixed(pPixmap);
|
||||||
|
|
||||||
if (pExaPixmap->pDamage && exaPixmapIsOffscreen(pPixmap)) {
|
if (exaPixmapIsOffscreen(pPixmap)) {
|
||||||
|
pPixmap->devKind = pExaPixmap->fb_pitch;
|
||||||
|
|
||||||
|
if (pExaPixmap->pDamage) {
|
||||||
ExaScreenPriv(pPixmap->drawable.pScreen);
|
ExaScreenPriv(pPixmap->drawable.pScreen);
|
||||||
|
|
||||||
pPixmap->devKind = pExaPixmap->fb_pitch;
|
|
||||||
exaCopyDirtyToFb(pixmaps + i);
|
exaCopyDirtyToFb(pixmaps + i);
|
||||||
|
|
||||||
if (pExaScr->deferred_mixed_pixmap == pPixmap)
|
if (pExaScr->deferred_mixed_pixmap == pPixmap)
|
||||||
pExaScr->deferred_mixed_pixmap = NULL;
|
pExaScr->deferred_mixed_pixmap = NULL;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pExaPixmap->offscreen = exaPixmapIsOffscreen(pPixmap);
|
pExaPixmap->offscreen = exaPixmapIsOffscreen(pPixmap);
|
||||||
}
|
}
|
||||||
|
@ -133,8 +136,9 @@ exaMoveInPixmap_mixed(PixmapPtr pPixmap)
|
||||||
void
|
void
|
||||||
exaPrepareAccessReg_mixed(PixmapPtr pPixmap, int index, RegionPtr pReg)
|
exaPrepareAccessReg_mixed(PixmapPtr pPixmap, int index, RegionPtr pReg)
|
||||||
{
|
{
|
||||||
if (!ExaDoPrepareAccess(pPixmap, index)) {
|
|
||||||
ExaPixmapPriv(pPixmap);
|
ExaPixmapPriv(pPixmap);
|
||||||
|
|
||||||
|
if (!ExaDoPrepareAccess(pPixmap, index)) {
|
||||||
Bool is_offscreen = exaPixmapIsOffscreen(pPixmap);
|
Bool is_offscreen = exaPixmapIsOffscreen(pPixmap);
|
||||||
ExaMigrationRec pixmaps[1];
|
ExaMigrationRec pixmaps[1];
|
||||||
|
|
||||||
|
@ -197,7 +201,8 @@ exaPrepareAccessReg_mixed(PixmapPtr pPixmap, int index, RegionPtr pReg)
|
||||||
pPixmap->devPrivate.ptr = pExaPixmap->sys_ptr;
|
pPixmap->devPrivate.ptr = pExaPixmap->sys_ptr;
|
||||||
pPixmap->devKind = pExaPixmap->sys_pitch;
|
pPixmap->devKind = pExaPixmap->sys_pitch;
|
||||||
pExaPixmap->offscreen = FALSE;
|
pExaPixmap->offscreen = FALSE;
|
||||||
}
|
} else
|
||||||
|
pPixmap->devKind = pExaPixmap->fb_pitch;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Move back results of software rendering on system memory copy of mixed driver
|
/* Move back results of software rendering on system memory copy of mixed driver
|
||||||
|
|
Loading…
Reference in New Issue