[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