Add missing dirty marking in a couple of fallback cases in the exaGlyphs path.
This commit is contained in:
parent
a5f19c5150
commit
81aa7f059d
|
@ -648,6 +648,14 @@ exaPolyFillRect(DrawablePtr pDrawable,
|
||||||
{
|
{
|
||||||
exaDoMigration (pixmaps, 1, FALSE);
|
exaDoMigration (pixmaps, 1, FALSE);
|
||||||
ExaCheckPolyFillRect (pDrawable, pGC, nrect, prect);
|
ExaCheckPolyFillRect (pDrawable, pGC, nrect, prect);
|
||||||
|
while (nrect-- >= 0) {
|
||||||
|
exaDrawableDirty(pDrawable,
|
||||||
|
pDrawable->x + prect->x,
|
||||||
|
pDrawable->y + prect->y,
|
||||||
|
pDrawable->x + prect->x + prect->width,
|
||||||
|
pDrawable->y + prect->y + prect->height);
|
||||||
|
prect++;
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
exaDoMigration (pixmaps, 1, TRUE);
|
exaDoMigration (pixmaps, 1, TRUE);
|
||||||
|
|
|
@ -572,9 +572,7 @@ exaComposite(CARD8 op,
|
||||||
if (pExaScr->swappedOut ||
|
if (pExaScr->swappedOut ||
|
||||||
pSrc->pDrawable == NULL || (pMask != NULL && pMask->pDrawable == NULL))
|
pSrc->pDrawable == NULL || (pMask != NULL && pMask->pDrawable == NULL))
|
||||||
{
|
{
|
||||||
ExaCheckComposite (op, pSrc, pMask, pDst, xSrc, ySrc,
|
goto fallback;
|
||||||
xMask, yMask, xDst, yDst, width, height);
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Remove repeat in source if useless */
|
/* Remove repeat in source if useless */
|
||||||
|
@ -683,12 +681,18 @@ exaComposite(CARD8 op,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fallback:
|
||||||
#if DEBUG_TRACE_FALL
|
#if DEBUG_TRACE_FALL
|
||||||
exaPrintCompositeFallback (op, pSrc, pMask, pDst);
|
exaPrintCompositeFallback (op, pSrc, pMask, pDst);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ExaCheckComposite (op, pSrc, pMask, pDst, xSrc, ySrc,
|
ExaCheckComposite (op, pSrc, pMask, pDst, xSrc, ySrc,
|
||||||
xMask, yMask, xDst, yDst, width, height);
|
xMask, yMask, xDst, yDst, width, height);
|
||||||
|
exaDrawableDirty(pDst->pDrawable,
|
||||||
|
pDst->pDrawable->x + xDst,
|
||||||
|
pDst->pDrawable->y + yDst,
|
||||||
|
pDst->pDrawable->x + xDst + width,
|
||||||
|
pDst->pDrawable->y + yDst + height);
|
||||||
|
|
||||||
done:
|
done:
|
||||||
pSrc->repeat = saveSrcRepeat;
|
pSrc->repeat = saveSrcRepeat;
|
||||||
|
|
Loading…
Reference in New Issue