[Pixman] [PATCH] Make the noop iterator work for solid images

Søren Sandmann sandmann at cs.au.dk
Wed Dec 19 11:15:37 PST 2012


Siarhei Siamashka <siarhei.siamashka at gmail.com> writes:

> Isn't this code in noop iterator mostly a duplicate of:
>     http://cgit.freedesktop.org/pixman/tree/pixman/pixman-solid-fill.c?id=pixman-0.28.2#n29
> which gets called from general_src_iter_init:
>     http://cgit.freedesktop.org/pixman/tree/pixman/pixman-general.c?id=pixman-0.28.2#n40
>
> At least earlier _pixman_solid_fill_iter_init was used when running
> cairo perf traces. But not anymore after your patch is applied.
>
> Sure, I can see a rationale to handle such simple cases earlier and
> not pass them through the whole fallbacks chain (where they could
> potentially and unexpectedly match something less efficient like
> fast_composite_tiled_repeat). But maybe it's a good idea to also
> get rid of _pixman_solid_fill_iter_init in this case (unless I'm
> missing something and it is still in use)?

I guess that makes sense. The one case that was handled by
_pixman_solid_fill_iter_init() is a solid image with an alpha map, but
since alpha maps are ignored for anything but bits images, there is no
reason to not handle this case in noop as well.

This further breaks down the concept introduced with the refactoring in
0.16 that images are self-contained objects that know how to draw
themselves in favor of the concept that implementations are objects that
know how to draw images.


Søren


More information about the Pixman mailing list