[cairo] [PATCH, pixman] Eliminate fast path flags

Siarhei Siamashka siarhei.siamashka at gmail.com
Fri Nov 13 07:41:07 PST 2009


On Thursday 12 November 2009, Soeren Sandmann wrote:
> Hi,
>
> The branch here:
>
>     http://cgit.freedesktop.org/~sandmann/pixman/log/?h=eliminate-flags
>
> eliminates the three fast path flags NEED_SOLID_MASK,
> NEED_COMPONENT_ALPHA, and NEED_PIXBUF. The first one was only really
> useful for preventing the solid mask paths from running when the mask
> had component alpha enabled; the other two could be replaced by new
> fake formats PIXMAN_{ax}8r8g8b8_ca and PIXMAN_[r]pixbuf, similar to
> the existing fake formats PIXMAN_null and PIXMAN_solid.
>
> Reviews appreciated. I'd also appreciate if people can test that it
> still compiles and works on ARM as I had to make some changes blindly
> there.

It compiles fine, but requires a minor fix for ARM NEON. These two lines need
a 'PIXMAN_a8' -> 'PIXMAN_solid' change:

+    { PIXMAN_OP_OVER, PIXMAN_a8r8g8b8, PIXMAN_a8,       PIXMAN_a8r8g8b8, 
neon_composite_over_8888_n_8888, 0 },
+    { PIXMAN_OP_OVER, PIXMAN_a8r8g8b8, PIXMAN_a8,       PIXMAN_x8r8g8b8, 
neon_composite_over_8888_n_8888, 0 },

This was spotted by just patch review. But it's also worth mentioning that
using 'blitters-test', the problem gets only detected on 3280827th iteration.
And the test is currently set to run 2000000 iterations by default. Just the
probability of getting right operation and right formats for source, mask and
destination all at the same time is a bit too low.

Tweaking probabilities for more uniform coverage may help a bit. Increasing
the number of iterations that are run by default may also be useful. But
still, an overnight run makes sense to spot some of the more rare problems.

Pixbufs are also not covered by the blitters-test yet, but I already had this
check implemented in one of the branches.

> This the second part of merging the flags branch (the first being the
> 'direct-destination' patch I sent earlier today).

I like these changes and look forward to having flags branch fully merged :)

-- 
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/20091113/c48b02ec/attachment.pgp 


More information about the cairo mailing list