[cairo] pixman: New ARM NEON optimizations

Koen Kooi k.kooi at student.utwente.nl
Mon Dec 7 05:48:21 PST 2009


On 07-12-09 11:06, Siarhei Siamashka wrote:
> On Wednesday 02 December 2009, Soeren Sandmann wrote:
>> Siarhei Siamashka<siarhei.siamashka at gmail.com>  writes:
>>> As you noticed earlier, software RENDER extension implementation in
>>> xserver suffers from creating and destroying temporary pixman_image_t
>>> structures for each operation in fbComposite function (PicturePtr and
>>> pixman_image_t are practically duplicates of each other). But this is not
>>> a good excuse to be wasteful regarding CPU cycles in pixman too. If
>>> anything can be simplified and optimized even a bit with relatively
>>> little efforts, probably this should be done. Or is it better to fix
>>> xserver first and then look at pixman performance again?
>>
>> As long as the X server is creating and destroying images all the
>> time, I don't think it makes a lot of sense to optimize pixman for
>> tiny images.
>
> X server is an important pixman user, but it is not the only one. Cairo with
> image backend is one of the examples.
>
> Removing delegates just:
> 1. makes code smaller
> 2. makes it a bit faster
>
> Here is a branch for delegates removal (for pixman_blt so far)
> http://cgit.freedesktop.org/~siamashka/pixman/log/?h=no-delegates
> This can be also easily done for pixman_fill and combiners.
>
> This issue definitely starts taking much more time than it is deserving (it's
> not something critical, but just a kind of low hanging fruit). If it's a no
> go and delegates are going to stay, then I'm done with it and will stop
> spamming here.

I'm still not convinced that runtime detection of cpu features gains us 
a lot on ARM. I would settle for a compile time option that collapses 
the delegate tree if turned on. People wanting 
one-binary-to-rule-them-all can turn that option off and have runtime 
delegates.

regards,

Koen



More information about the cairo mailing list