[Pixman] [PATCH] Don't discriminate PAD and REFLECT repeat in standard fast paths
sandmann at daimi.au.dk
Wed Sep 29 05:39:11 PDT 2010
Siarhei Siamashka <siarhei.siamashka at gmail.com> writes:
> Standard fast paths can be used in the following two cases:
> a) pixels outside image boundaries are not accessed
> b) solid source (special cases of 1x1 image with repeat set)
> And can't be when:
> c) pixels outside image boundaries are accessed (excluding solid case)
> The problem is that there is only a single flag bit to differentiate all
> these three cases at the moment. It means that for each particular repeat type,
> either (a) case is accelerated, or it is (b). But not both.
I think the right fix is to use different flags for solids and
non-solids. The reason it was using the same flags for both is simply
that it was translated more or less directly from an if statement from
back before the flags were introduced.
> > Actually, I don't even think a large scale refactoring is necessary -
> > most of the real fix is just deleting code. The main piece of new
> > logic is the extending of PIXMAN_STD_FAST_PATH to generate different
> > flags for solid and bits images.
Patches to do this follows. The deletion of the simple repeat code is
actually orthogonal to this. I still think it's worth doing though.
More information about the Pixman