Chris Wilson <ch...@chris-wilson.co.uk> writes:

> Cairo, for instance, has a subtly different interpretation of how to use
> the mask in combination with the Porter-Duff operators. In particular,
> it has the notion of a clip mask, for which pixman has no parallel.
>
> Quoting Soeren:
>
>   Another aspect is that cairo uses a different rendering equation in some
>   cases. The two equations used are:
>
>       unbounded:   [(src IN shape) OP dest          ] LERP_clip dest
>
>       bounded:     [(src OP dest) LERP_shape dest   ] LERP_clip dest
>
>   With shaped clips, the LERP_clip part is taken care of, and the first
>   equation is already directly supported by pixman. The second one could
>   be supported by adding new <op>_LERP operators that would use the
>
>       (src OP dest) LERP_shape dest
>
>   equation. For cairo's purposes, all we need is CLEAR_LERP and SRC_LERP,
>   but I think it could be useful to have the full set of LERP operators.

Did you see Taekyun Kim's reply to this? He proposes this API:

     pixman_image_composite_xrender(op, src, shape, clip, dst)
     pixman_image_composite_bounded(op, src, shape, clip, dst)
     pixman_image_composite_simple(op, src, shape, clip, dst)

instead, which would add direct one-pass support for all of cairo's
compositing schemes, including clip masks. See:

    http://lists.freedesktop.org/archives/pixman/2011-August/001420.html


Soren
_______________________________________________
Pixman mailing list
Pixman@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pixman

Reply via email to