[cairo] Unbounded operators patch

Carl Worth cworth at redhat.com
Mon Aug 8 09:13:45 PDT 2005


On Mon, 08 Aug 2005 11:47:19 -0400, Owen Taylor wrote:
>  - I kept _cairo_xlib_surface_composite_trapezoids() 
>    using the implicit mask generated by XRenderCompositeTrapezoids() 
>    for the normal case. I added some comments in the source 
>    describing why switching over to using an explicit mask min
>    more cases might make sense, however.

In addition to the cases you mention there, there's another important
one. In cases where cairo passes a _lot_ of trapezoids to
XRenderCompositeTrapezoids, the XRender library breaks these up into
batches so that requests fit within protocol limits. Each batch gets
its own temporary mask in the server and gets composited
separately. This results in visible horizontal seams between batch
boundaries.

Cairo could prevent the seams by always using an explicit mask. (And
we could shift to using XRenderAddTraps which was implemented
precisely for this type of explicit mask constructions).

>  - The clip-operator test reveals that saturate is backwards
>    (dest SATURATE src) in libpixman; I think there may have been
>    discussion of that here recently, so hopefully it will get fixed.

Yes. Jeff Muizelaar has a patch from xserver/fb that corrects this. He
just wanted confirmation that that is correct. Thanks for providing
this!

-Carl

PS. Those are my comments on your notes. I'll look at the patch next,
(though the results can speak for themselves quite a bit in a case
like this).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/cairo/attachments/20050808/83cf1d44/attachment.pgp


More information about the cairo mailing list