[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