[Pixman] [PATCH] ARM: NEON: don't hit general path for r5g6b5 OVER r5g6b5 operation

Siarhei Siamashka siarhei.siamashka at gmail.com
Thu Jun 10 09:45:25 PDT 2010

On Wednesday 26 May 2010, Soeren Sandmann wrote:
> > From: Siarhei Siamashka <siarhei.siamashka at nokia.com>
> > OVER can't be reduced to SRC because the source image is not
> > considered opaque when repeat is set to PIXMAN_REPEAT_NONE.
> > An additional fast path table entry solves the problem.
> It solves the problem for r5g6b5 on NEON, but not in any other
> cases. We have the same issue on every backend with every format
> without alpha. Adding special cases for all of them would quickly get
> unwieldy (and actually be impossible for the general implementation).

Yes, this "solution" indeed has a problem that only a certain small subset
of operations is supported. That's not much different from the current
pixman design using fast path functions, but just pushes its disadvantages
to extreme :) On a positive side, not so many operations are actually showing 
up in real applications and this r5g6b5 OVER r5g6b5 is a rare one which is 
actually needed in practice. 

> Would it be possible instead to add a new flag "OPAQUE_SAMPLES" that
> would be set whenever the image format is opaque, and then use it
> along with SAMPLES_COVER_CLIP to add the OPAQUE flag before strength
> reducing the operator?
> That would help all the backends, including the general one, and all
> the opaque image formats.

OK, I'll try to see what can be done. I'm a bit worried about the applications 
using pixman in such a way that the pixels outside of the source image are 
also fetched and whether this will be handled efficiently with the new flag.

Best regards,
Siarhei Siamashka

More information about the Pixman mailing list