[Pixman] [PATCH 0/3] ARM NEON optimizations for better results in cairo-perf benchmarks

Koen Kooi k.kooi at student.utwente.nl
Mon Mar 1 05:49:55 PST 2010

Hash: SHA1

On 01-03-10 14:08, Siarhei Siamashka wrote:
> On Thursday 25 February 2010, Koen Kooi wrote:
>> On 24-02-10 05:04, Siarhei Siamashka wrote:
>>> The following patches add some new 32bpp ARM NEON optimized fast paths
>>> for the operations which are heavily used in the standard cairo-perf
>>> benchmarks. Profiling statistics has been posted earlier:
>>> http://people.freedesktop.org/~siamashka/files/20100216/pixman-0.17.6
>>> A git branch with the same patches is also available here:
>>> http://cgit.freedesktop.org/~siamashka/pixman/log/?h=neon-cairo-perf-spee
>>> dup
>>> Siarhei Siamashka (3):
>>>   ARM: added 'neon_composite_over_n_8888_8888_ca' fast path
>>>   ARM: added 'neon_composite_src_x888_8888' fast path
>>>   ARM: added 'neon_composite_over_reverse_n_8888' fast path
>>>  pixman/pixman-arm-neon-asm.S |  200
>>> ++++++++++++++++++++++++++++++++++++++++++ pixman/pixman-arm-neon.c     |
>>>    9 ++
>>>  2 files changed, 209 insertions(+), 0 deletions(-)
>> Wow, I went from 0.17.3 + overlapped blt to 0.17.8 + overlapped blt +
>> these three patches and the performance improvement on OMAP3xxx and
>> DM3xxx is HUGE! For example the GNOME start menu pops up a lot faster,
>> making it feel nice and snappy.
> Thanks for giving these patches a try. I hope it is not just a placebo
> effect :)

My coworkers are seeing it as well :)

For people attending EmbeddedWorld in Nurnberg this week, visit the TI
booth to see pixman 0.17.8 in action on AM3517!

> If you really care about GNOME start menu pop up performance, a good idea
> would be to get some oprofile logs for it and make sure that there are no
> slow paths hit in pixman.
> Also if you can generate some cairo-perf traces for the (32bpp) use cases
> which are important for you, I could also try to make sure that they are all
> NEON optimized properly. That's the current way of improving graphics
> performance. Introducing an universal and efficient JIT for NEON may change
> this later.

I'll try to find some testcases, but they are highly dependant on the
demo we're working on. This time it was "GNOME desktop on omap3 class
devices", but next week I think it will be "QT on 300Mhz arm926
devices", so finding time to make perf traces is sadly a bit hard :(



Version: GnuPG v1.4.5 (Darwin)


More information about the Pixman mailing list