[cairo] pixman: New ARM NEON optimizations

Siarhei Siamashka siarhei.siamashka at gmail.com
Thu Nov 5 13:35:03 PST 2009


On Thursday 05 November 2009, Chris Wilson wrote:
> Excerpts from Siarhei Siamashka's message of Wed Nov 04 16:36:21 +0000 2009:
[...]
> > * try to reduce dispatch overhead in pixman-arm-neon.c (maybe adding some
> > probably autogenerated code with if/else/switch/case mess in
> > arm_neon_composite to decide which NEON fast path function can be used
> > instead of calling _pixman_run_fast_path can reduce a bit of overhead).
>
> Before going too far along the performance, make sure you are also
> checking with Søren's work in reducing overheads.
>
> Also I'm very interested in seeing what the profiles look like for
> pixman and cairo on ARM. Just knowledge of the behaviour of your target
> applications would be useful when thinking about how to tune cairo.

ARM seems to be faster at processing pixels (per MHz) than x86, probably
because its SIMD is more suited for this task (it supports long 8-bit
multiplications, shifts with rounding, shifts with insert). But ARM is slower
at running the rest of code. That's why the time spent in the intermediate
layers shows up higher on ARM and looks like a problem. Anything that can
improve the situation is very much welcome.

I can post some profiles, the problem is which use case to select :)
Do you have any preferences in particular?

-- 
Best regards,
Siarhei Siamashka
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
Url : http://lists.cairographics.org/archives/cairo/attachments/20091105/1df683b0/attachment.pgp 


More information about the cairo mailing list