[cairo] Pixman refactoring, ARM and Altivec implementations needed
Siarhei Siamashka
siarhei.siamashka at nokia.com
Fri May 29 13:16:57 PDT 2009
On Friday 29 May 2009 14:34:18 ext Jonathan Morton wrote:
> > Attached is the very nontrivial patch which contains just the
> > integration of ARM-SIMD and ARM-NEON.
>
> I did a bit more work and produced a more complete patch. This should
> apply and work without extra effort, but still only deals with the ARM
> targets.
Nice, it works.
The only pitfall that I noticed so far is that build fails with
'./configure && make' if the compiler is not configured to
generate code for armv6+ by default.
In this case arm-simd is not detected by configure, arm-neon gets enabled and
linking fails:
/bin/sh ../libtool --tag=CC --mode=link
gcc -g -O2 -Wall -fvisibility=hidden -o region-test
region-test.o ../pixman/libpixman-1.la
libtool: link: gcc -g -O2 -Wall -fvisibility=hidden -o region-test
region-test.o ../pixman/.libs/libpixman-1.a -lm
../pixman/.libs/libpixman-1.a(libpixman_arm_neon_la-pixman-arm-neon.o): In
function `_pixman_implementation_create_arm_neon':
/home/serge/projects/pixman/pixman/pixman-arm-neon.c:1542: undefined reference
to `_pixman_implementation_create_arm_simd'
collect2: ld returned 1 exit status
make[2]: *** [region-test] Error 1
Would it be a good idea to compile pixman-arm-simd.c with '-march=armv6',
ignoring CFLAGS completely? It is not using floating point, so floating point
ABI should not matter.
--
Best regards,
Siarhei Siamashka
More information about the cairo
mailing list