[Pixman] 0.29.2

Siarhei Siamashka siarhei.siamashka at gmail.com
Sun Jan 27 11:43:49 PST 2013


On Sat, 19 Jan 2013 01:15:51 +0100
sandmann at cs.au.dk (Søren Sandmann) wrote:

> Hi,
> 
> It's about time to get a 0.29.2 development snapshot out,

Hi, that's a really good idea. Any preliminary ETA? Or are we going to
know that this development snapshot is out only after you create the
tag and post an announcement?

I would also like to get the new ARMv6 optimizations from Ben Avison
in. There is basically nothing terribly wrong with them from my point
of view. If anybody else could also take a look at this code, test it
or provide some comments, that would be really appreciated.

> but there are some outstanding patches that I'd like to get in first.
> As far as I am aware, all of these are ready to go in:

[...]
 
> - Siarhei's 565 fast path iterators:
> 
>     http://lists.freedesktop.org/archives/pixman/2012-December/002389.html
> 
>   It looks like the patches 1-3 were pushed, but not 4-6.

They just were just in a kind of "somebody might complain" category.
But I'm interpreting your message as an approval, so pushed to git :-)

Arguably the faster C implementation of r5g6b5 fetch/store functions
(basically unrolling and handling several pixels at once) could
probably just find a better place in "pixman-access.c" replacing the
current fetchers instead of adding a bunch of support code implementing
iterators in "pixman-fast-path.c".

On the other hand, this code could be also used as an example for other
backends (ARMv6, NEON, MIPS32, ..) where the iterators are really
needed.

Still, I'm not very happy about the code duplication. We already have
similar iterators (fetch only, no writeback) in "pixman-mmx.c":

    http://cgit.freedesktop.org/pixman/tree/pixman/pixman-mmx.c?id=pixman-0.28.2#n3904

Ideally, a lot of this code can be reused in different backends. The
only unique parts are just the fetch/store functions themselves.

Now I guess somebody can do the refactoring (if needed) in the follow
up patches.
 
> - Siarhei's fixes for bigger transforms:
> 
>     http://lists.freedesktop.org/archives/pixman/2012-December/002417.html

Also pushed. These patches do not fix bigger transforms yet, but at
least provide better accuracy. And as such they are an additional
improvement to:

    http://cgit.freedesktop.org/pixman/commit/?id=f0816ddaf4e61d9295de5b1cbe51f956db7fbd16

I was a bit worried about the projective transforms. The accuracy is
improved, but the new code uses a rather naive and slow implementation
for long division. So the performance is going to be worse. But as
almost nobody seems to be using projective transforms (not cairo at
least) and the current implementation itself can be hardly considered
optimized at all, this should not be a big problem.

-- 
Best regards,
Siarhei Siamashka


More information about the Pixman mailing list