[cairo-commit] cairo/pixman/src fbpict.c,1.1,1.2 fbmmx.c,1.1,1.2
Billy Biggs
commit at pdx.freedesktop.org
Thu Aug 18 06:04:28 PDT 2005
Committed by: vektor
Update of /cvs/cairo/cairo/pixman/src
In directory gabe:/tmp/cvs-serv28593/src
Modified Files:
fbpict.c fbmmx.c
Log Message:
* src/fbmmx.c: (fbCompositeSolidMaskSrc_nx8x8888mmx): For the source
operator, the output should be cleared if the mask is zero. This
fixes the MMX code to match the fbcompose code.
* src/fbpict.c: (pixman_composite): Fix a logic mistake that caused
the MMX functions not to be used in many cases.
Index: fbpict.c
===================================================================
RCS file: /cvs/cairo/cairo/pixman/src/fbpict.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- fbpict.c 16 Aug 2005 23:50:25 -0000 1.1
+++ fbpict.c 18 Aug 2005 13:01:45 -0000 1.2
@@ -1416,10 +1416,9 @@
&& !maskAlphaMap && !srcAlphaMap && !dstAlphaMap
#ifdef PIXMAN_CONVOLUTION
&& (pSrc->filter != PictFilterConvolution)
- && (!pMask || pMask->filter != PictFilterConvolution))
-#else
- && !pMask)
+ && (!pMask || pMask->filter != PictFilterConvolution)
#endif
+ )
switch (op) {
case PIXMAN_OPERATOR_OVER:
if (pMask)
Index: fbmmx.c
===================================================================
RCS file: /cvs/cairo/cairo/pixman/src/fbmmx.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- fbmmx.c 16 Aug 2005 23:50:25 -0000 1.1
+++ fbmmx.c 18 Aug 2005 13:01:46 -0000 1.2
@@ -1513,6 +1513,10 @@
__m64 vdest = in(vsrc, expand_alpha_rev ((__m64)m));
*dst = store8888(vdest);
}
+ else
+ {
+ *dst = 0;
+ }
w--;
mask++;
@@ -1543,6 +1547,10 @@
*(__m64 *)dst = pack8888(dest0, dest1);
}
+ else
+ {
+ *dst = 0;
+ }
mask += 2;
dst += 2;
@@ -1561,6 +1569,10 @@
vdest = in(vsrc, expand_alpha_rev ((__m64)m));
*dst = store8888(vdest);
}
+ else
+ {
+ *dst = 0;
+ }
w--;
mask++;
More information about the cairo-commit
mailing list