summaryrefslogtreecommitdiff
path: root/fb
diff options
context:
space:
mode:
authorSoren Sandmann Pedersen <ssp@dhcp83-218.boston.redhat.com>2007-04-25 14:19:39 -0400
committerSoren Sandmann Pedersen <ssp@dhcp83-218.boston.redhat.com>2007-04-25 22:22:22 -0400
commit67347739b0571b2978468e8088480b105f505ad2 (patch)
treeb5afebad6f0a38aed8bf2560e0bcd070a95814f6 /fb
parentc056ce95d89ef1df57edf47149fc34cd3925496e (diff)
Don't treat convolution filters as transformations.
Some rearrangement of code to get it closer to pixman.
Diffstat (limited to 'fb')
-rw-r--r--fb/fbpict.c37
1 files 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) {