exa: avoid a potential Prepare/FinishAccess inbalance.
This commit is contained in:
parent
10334cf7e6
commit
3ea3d505e8
|
@ -405,7 +405,7 @@ ExaCheckComposite (CARD8 op,
|
||||||
if (!miComputeCompositeRegion (®ion, pSrc, pMask, pDst,
|
if (!miComputeCompositeRegion (®ion, pSrc, pMask, pDst,
|
||||||
xSrc, ySrc, xMask, yMask, xDst, yDst,
|
xSrc, ySrc, xMask, yMask, xDst, yDst,
|
||||||
width, height))
|
width, height))
|
||||||
return;
|
goto skip;
|
||||||
|
|
||||||
exaGetDrawableDeltas (pDst->pDrawable,
|
exaGetDrawableDeltas (pDst->pDrawable,
|
||||||
exaGetDrawablePixmap(pDst->pDrawable),
|
exaGetDrawablePixmap(pDst->pDrawable),
|
||||||
|
@ -450,16 +450,18 @@ ExaCheckComposite (CARD8 op,
|
||||||
#endif /* RENDER */
|
#endif /* RENDER */
|
||||||
if (pMask && pMask->pDrawable != NULL)
|
if (pMask && pMask->pDrawable != NULL)
|
||||||
exaFinishAccess (pMask->pDrawable, EXA_PREPARE_MASK);
|
exaFinishAccess (pMask->pDrawable, EXA_PREPARE_MASK);
|
||||||
if (pMask && pMask->alphaMap && pMask->alphaMap->pDrawable)
|
|
||||||
exaFinishAccess(pMask->alphaMap->pDrawable, EXA_PREPARE_AUX_MASK);
|
|
||||||
if (pSrc->pDrawable != NULL)
|
if (pSrc->pDrawable != NULL)
|
||||||
exaFinishAccess (pSrc->pDrawable, EXA_PREPARE_SRC);
|
exaFinishAccess (pSrc->pDrawable, EXA_PREPARE_SRC);
|
||||||
if (pSrc->alphaMap && pSrc->alphaMap->pDrawable)
|
|
||||||
exaFinishAccess(pSrc->alphaMap->pDrawable, EXA_PREPARE_AUX_SRC);
|
|
||||||
exaFinishAccess (pDst->pDrawable, EXA_PREPARE_DEST);
|
exaFinishAccess (pDst->pDrawable, EXA_PREPARE_DEST);
|
||||||
if (pDst->alphaMap && pDst->alphaMap->pDrawable)
|
if (pDst->alphaMap && pDst->alphaMap->pDrawable)
|
||||||
exaFinishAccess(pDst->alphaMap->pDrawable, EXA_PREPARE_AUX_DEST);
|
exaFinishAccess(pDst->alphaMap->pDrawable, EXA_PREPARE_AUX_DEST);
|
||||||
|
|
||||||
|
skip:
|
||||||
|
if (pSrc->alphaMap && pSrc->alphaMap->pDrawable)
|
||||||
|
exaFinishAccess(pSrc->alphaMap->pDrawable, EXA_PREPARE_AUX_SRC);
|
||||||
|
if (pMask && pMask->alphaMap && pMask->alphaMap->pDrawable)
|
||||||
|
exaFinishAccess(pMask->alphaMap->pDrawable, EXA_PREPARE_AUX_MASK);
|
||||||
|
|
||||||
REGION_UNINIT(pScreen, ®ion);
|
REGION_UNINIT(pScreen, ®ion);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue