[cairo] pixman 0.18 MinGW SSE2 error

Tor Lillqvist tml at iki.fi
Tue Apr 6 23:59:32 PDT 2010


Actually that SEGV Sven reported is familiar to me, too, since last
weekend. It is caused by the broken implementation of SSE2 intrinsics
in MinGW. For some reason variables of type __m128i (and __m128d,
presumably) don't get the 16-byte alignment they require. (I don't
know whether the __m64* types get the 8-byte alignment they require or
not.)

The only simple way to get "make check" to work in pixman was to use
--disable-sse2 --disable-mmx. Which sucks, I guess. Presumably
pixman's code has on Windows been developed and tested only using
Microsoft's compiler.

For some reason, though, my cairo build does seem to work on Win32, at
least to the extent exercised by the GTK+ stack, even with a pixman
compiled with SSE2 and MMX enabled. Go figure. Anyway, I really should
use a rebuilt pixman for my cairo binaries, too. (I build pixman as a
static library, out of tradition, but yeah, I probably should just do
as Linux distros do and built pixman as a shared library, too.)

--tml


More information about the cairo mailing list