EXA: Fix up some issues introduced by 00fe4a2977
.
* Check all pixmaps involved for damage records, fixes visual corruption due to the screen pixmap never having one. * Fix an array size and remove a now superfluous assignment.
This commit is contained in:
parent
be4dd35ffe
commit
de7a14ca92
|
@ -455,7 +455,7 @@ exaHWCopyNtoN (DrawablePtr pSrcDrawable,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pDstExaPixmap->pDamage) {
|
if (pDstExaPixmap->pDamage || pSrcExaPixmap->pDamage) {
|
||||||
ExaMigrationRec pixmaps[2];
|
ExaMigrationRec pixmaps[2];
|
||||||
|
|
||||||
pixmaps[0].as_dst = TRUE;
|
pixmaps[0].as_dst = TRUE;
|
||||||
|
@ -810,7 +810,7 @@ exaPolyFillRect(DrawablePtr pDrawable,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pExaPixmap->pDamage) {
|
if (pExaPixmap->pDamage) {
|
||||||
ExaMigrationRec pixmaps[2];
|
ExaMigrationRec pixmaps[1];
|
||||||
|
|
||||||
pixmaps[0].as_dst = TRUE;
|
pixmaps[0].as_dst = TRUE;
|
||||||
pixmaps[0].as_src = FALSE;
|
pixmaps[0].as_src = FALSE;
|
||||||
|
@ -1080,7 +1080,7 @@ exaFillRegionTiled (DrawablePtr pDrawable, RegionPtr pRegion, PixmapPtr pTile,
|
||||||
if (pExaPixmap->accel_blocked || pTileExaPixmap->accel_blocked)
|
if (pExaPixmap->accel_blocked || pTileExaPixmap->accel_blocked)
|
||||||
{
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
} else if (pExaPixmap->pDamage) {
|
} else if (pExaPixmap->pDamage || pTileExaPixmap->pDamage) {
|
||||||
ExaMigrationRec pixmaps[2];
|
ExaMigrationRec pixmaps[2];
|
||||||
|
|
||||||
pixmaps[0].as_dst = TRUE;
|
pixmaps[0].as_dst = TRUE;
|
||||||
|
@ -1255,7 +1255,7 @@ exaGetImage (DrawablePtr pDrawable, int x, int y, int w, int h,
|
||||||
|
|
||||||
pixmaps[0].as_dst = FALSE;
|
pixmaps[0].as_dst = FALSE;
|
||||||
pixmaps[0].as_src = TRUE;
|
pixmaps[0].as_src = TRUE;
|
||||||
pixmaps[0].pPix = pPix = exaGetDrawablePixmap (pDrawable);
|
pixmaps[0].pPix = pPix;
|
||||||
pixmaps[0].pReg = &Reg;
|
pixmaps[0].pReg = &Reg;
|
||||||
|
|
||||||
exaDoMigration(pixmaps, 1, FALSE);
|
exaDoMigration(pixmaps, 1, FALSE);
|
||||||
|
|
|
@ -377,7 +377,8 @@ exaTryDriverCompositeRects(CARD8 op,
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pDstExaPix->pDamage) {
|
if (pSrcExaPix->pDamage || pDstExaPix->pDamage ||
|
||||||
|
(pMask && pMaskExaPix->pDamage)) {
|
||||||
ExaMigrationRec pixmaps[3];
|
ExaMigrationRec pixmaps[3];
|
||||||
|
|
||||||
pixmaps[0].as_dst = TRUE;
|
pixmaps[0].as_dst = TRUE;
|
||||||
|
@ -670,7 +671,8 @@ exaTryDriverComposite(CARD8 op,
|
||||||
|
|
||||||
REGION_TRANSLATE(pScreen, ®ion, dst_off_x, dst_off_y);
|
REGION_TRANSLATE(pScreen, ®ion, dst_off_x, dst_off_y);
|
||||||
|
|
||||||
if (pDstExaPix->pDamage) {
|
if (pSrcExaPix->pDamage || pDstExaPix->pDamage ||
|
||||||
|
(pMask && pMaskExaPix->pDamage)) {
|
||||||
ExaMigrationRec pixmaps[3];
|
ExaMigrationRec pixmaps[3];
|
||||||
|
|
||||||
pixmaps[0].as_dst = TRUE;
|
pixmaps[0].as_dst = TRUE;
|
||||||
|
|
Loading…
Reference in New Issue