[cairo] [PATCH 0/4] Several bug fixes related to clipping and unbounded ops

Chris Wilson chris at chris-wilson.co.uk
Wed Jul 6 00:36:20 PDT 2011

On Tue, 05 Jul 2011 16:17:43 +0900, Taekyun Kim <podain77 at gmail.com> wrote:
> Hi all,
> Current snapshot of master branch gives me some unexpected results with 
> image backend. It was reported by our webkit cairo port tester. Instead 
> of posting recorded traces of web pages, I've made some simplified test 
> codes demonstrating the bugs.

Thanks for the test cases. Can I incorporate them and variants thereof
into the test suite? For which, I need you to give me an appropriate
licence... The no-name MIT license is the preferred choice for test cases,
for example see tests/arc-infinite-loop.c

You found the sore point in the clipping code, in that it really wants to
segregate boxes from polygons and the current implementation thereof is
very incomplete. The rationale being that we can uses the boxes to
pre-clip the geometry very cheaply. And then we chose to either convert
the remaining polygon to a mask, or implement polygon clipping. (Or
Bezier clipping if someone can demonstrate that to be beneficial...)
And as always, different backends will have different requirements and
need to make their own decisions as to which to use.

So I'm looking at refining the clipping code to cleanly perform the
segregation. The idea now being that I actually have a good idea what
functionality the image surface wants from the clipper.

The remaining bugs look like the trivial type of box-to-rect conversion
errors, I shall have to review carefully to see if we are catching the
root cause.

Chris Wilson, Intel Open Source Technology Centre

More information about the cairo mailing list