Fix bugs in support for new repeatTypes in XAA and EXA.
EXA now won't pass pictures with new repeatTypes to drivers. We can add a flag for them to support it at a later time.
This commit is contained in:
parent
f5e92542a1
commit
7106a77df3
|
@ -535,7 +535,8 @@ exaComposite(CARD8 op,
|
||||||
if (op == PictOpSrc)
|
if (op == PictOpSrc)
|
||||||
{
|
{
|
||||||
if (pSrc->pDrawable->width == 1 &&
|
if (pSrc->pDrawable->width == 1 &&
|
||||||
pSrc->pDrawable->height == 1 && pSrc->repeat)
|
pSrc->pDrawable->height == 1 && pSrc->repeat &&
|
||||||
|
pSrc->repeatType == RepeatNormal)
|
||||||
{
|
{
|
||||||
ret = exaTryDriverSolidFill(pSrc, pDst, xSrc, ySrc, xDst, yDst,
|
ret = exaTryDriverSolidFill(pSrc, pDst, xSrc, ySrc, xDst, yDst,
|
||||||
width, height);
|
width, height);
|
||||||
|
@ -575,6 +576,8 @@ exaComposite(CARD8 op,
|
||||||
pMask->repeat = 0;
|
pMask->repeat = 0;
|
||||||
|
|
||||||
if (pExaScr->info->PrepareComposite &&
|
if (pExaScr->info->PrepareComposite &&
|
||||||
|
(!pSrc->repeat || pSrc->repeat == RepeatNormal) &&
|
||||||
|
(!pMask || !pMask->repeat || pMask->repeat == RepeatNormal) &&
|
||||||
!pSrc->alphaMap && (!pMask || !pMask->alphaMap) && !pDst->alphaMap)
|
!pSrc->alphaMap && (!pMask || !pMask->alphaMap) && !pDst->alphaMap)
|
||||||
{
|
{
|
||||||
ret = exaTryDriverComposite(op, pSrc, pMask, pDst, xSrc, ySrc, xMask,
|
ret = exaTryDriverComposite(op, pSrc, pMask, pDst, xSrc, ySrc, xMask,
|
||||||
|
|
|
@ -219,6 +219,12 @@ XAADoComposite (
|
||||||
if (pDst->alphaMap || pSrc->alphaMap || (pMask && pMask->alphaMap))
|
if (pDst->alphaMap || pSrc->alphaMap || (pMask && pMask->alphaMap))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
if ((pSrc->repeat && pSrc->repeatType != RepeatNormal) ||
|
||||||
|
(pMask && pMask->repeat && pMask->repeatType != RepeatNormal))
|
||||||
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
xDst += pDst->pDrawable->x;
|
xDst += pDst->pDrawable->x;
|
||||||
yDst += pDst->pDrawable->y;
|
yDst += pDst->pDrawable->y;
|
||||||
xSrc += pSrc->pDrawable->x;
|
xSrc += pSrc->pDrawable->x;
|
||||||
|
|
Loading…
Reference in New Issue