From 67347739b0571b2978468e8088480b105f505ad2 Mon Sep 17 00:00:00 2001 From: Soren Sandmann Pedersen Date: Wed, 25 Apr 2007 14:19:39 -0400 Subject: [PATCH] Don't treat convolution filters as transformations. Some rearrangement of code to get it closer to pixman. --- fb/fbpict.c | 37 +++++++++++++++++-------------------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/fb/fbpict.c b/fb/fbpict.c index f9f536863..4fb949dcc 100644 --- a/fb/fbpict.c +++ b/fb/fbpict.c @@ -1461,9 +1461,9 @@ fbComposite (CARD8 op, int n; BoxPtr pbox; CompositeFunc func = NULL; - Bool srcRepeat = pSrc->pDrawable && pSrc->repeat; + Bool srcRepeat = pSrc->pDrawable && pSrc->repeatType == RepeatNormal; Bool maskRepeat = FALSE; - Bool srcTransform = pSrc->pDrawable && pSrc->transform; + Bool srcTransform = pSrc->transform != 0; Bool maskTransform = FALSE; Bool srcAlphaMap = pSrc->alphaMap != 0; Bool maskAlphaMap = FALSE; @@ -1479,9 +1479,6 @@ fbComposite (CARD8 op, } #endif - if (pSrc->filter == PictFilterConvolution) - srcTransform = TRUE; - xDst += pDst->pDrawable->x; yDst += pDst->pDrawable->y; if (pSrc->pDrawable) { @@ -1517,21 +1514,6 @@ fbComposite (CARD8 op, && (pSrc->filter != PictFilterConvolution) && (!pMask || pMask->filter != PictFilterConvolution)) switch (op) { - case PictOpSrc: -#ifdef USE_MMX - if (!pMask && pSrc->format == pDst->format && - pSrc->format != PICT_a8 && pSrc->pDrawable != pDst->pDrawable) - { - func = fbCompositeCopyAreammx; - } - else -#endif - if (pMask == 0) - { - if (pSrc->format == pDst->format) - func = fbCompositeSrcSrc_nxn; - } - break; case PictOpOver: if (pMask) { @@ -1975,6 +1957,21 @@ fbComposite (CARD8 op, } } break; + case PictOpSrc: +#ifdef USE_MMX + if (!pMask && pSrc->format == pDst->format && + pSrc->format != PICT_a8 && pSrc->pDrawable != pDst->pDrawable) + { + func = fbCompositeCopyAreammx; + } + else +#endif + if (pMask == 0) + { + if (pSrc->format == pDst->format) + func = fbCompositeSrcSrc_nxn; + } + break; } if (!func) {