[cairo] Pushing vmx patches in pixman

Soeren Sandmann sandmann at daimi.au.dk
Tue Jun 3 14:08:05 PDT 2008


Luca Barbato <lu_zero at gentoo.org> writes:

> > 
> >         (c) The cairo test suite passes when run like this: 
> > 
> >                 env CAIRO_TEST_TARGET=image make test
> 
> Right now it fails on font related tests and it is expected since I 
> don't have the required fonts.
> 
> it also fails on leaky-dashed-rectangle but I'm not sure if it's pixman 
> related.

Both of those are expected, I believe. 

> I updated my branch to build with the current changes.

The remaining comments I have:

        +pixman_bool_t pixman_have_vmx (void) {
        +    if (!initialized) {
        +        signal(SIGILL, vmx_test);
        +        asm volatile ( "vor 0, 0, 0" );
        +        signal(SIGILL, SIG_DFL);
        +        initialized = TRUE;
        +    }
        +    return have_vmx;
        +}

This will reset any signal handler the application itself may have
set. It would be better to us sigaction() and restore the old handler
instead of using SIG_DFL. Doing that still leaves a race where another
thread could change the signal handler while pixman was initializing,
but I think that's unlikely enough to be ok.

Finally, I'd still like to see the fbByteMul() macros being generated
into their own header file, and then #included in both
pixman-combine{32,64}.c and pixman-vmx.c.


Thanks,
Soren


More information about the cairo mailing list