[cairo] Adding a cairo_content_t value to solid patterns

Jeff Muizelaar jeff at infidigm.net
Wed Apr 25 11:46:13 PDT 2007


On Wed, Apr 25, 2007 at 11:27:14AM -0700, Carl Worth wrote:
> > It is good that this code is commented out because
> > fbCompositeSrc_8888x8x8888mmx is indeed broken. On line 1227 of fbmmx.c we
> > have:
> >             *dst = store8888 (over (s, expand_alpha (s), d));
> > However, this should be:
> >             *dst = store8888 (in_over (s, expand_alpha (s), vmask, d));
> > Just like line 1255.
> 
> This change, however, doesn't mean anything to me, (I didn't chase
> down the relevant code to figure out what is going on), nor did it
> test well. The attached patch was my attempt, but in introduces
> failures in the test suite on the fill-and-stroke-alpha, mask, and
> push-group tests.

Ok, how about adding this fix as well.
On line 1232 of fbmmx.c we have:
            __m64 vs = *(__m64 *)dst;
            __m64 vd = *(__m64 *)src;
but we want:
            __m64 vs = *(__m64 *)src;
            __m64 vd = *(__m64 *)dst;

This change puts the src and dst in the variables that the code following it expects it to be.

-Jeff


More information about the cairo mailing list