[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