[cairo] [PATCH] pixman: fast path for nearest neighbour scaled compositing operations.

Siarhei Siamashka siarhei.siamashka at nokia.com
Sat May 30 08:26:00 PDT 2009

On Saturday 30 May 2009 00:03:33 ext Jeff Muizelaar wrote:
> > +/*
> > + * Check if we actually have source clipping. Just comparing pointers
> > + * does not work, so full comparison of regions is needed. Source
> > + * clipping is enforced in X server since the fix of
> > + * http://bugs.freedesktop.org/show_bug.cgi?id=11620
> Why isn't comparing pointers sufficent for checking source clipping?
> pixman_image_set_source_clipping() does
> 	common->src_clip = &common->full_region;
> when source_clipping is false.

As described in the comment, it just does not work well in X server. X server
marks all the images as having source clipping unconditionally and always hits
the slow path, hurting performance.

With a few tricks, pixman can get some protection against the dumb users which
enforce source clipping, but set it the same as full region.

My part here is to report the problem. We can select the best solution,
considering all the available options.

Best regards,
Siarhei Siamashka

More information about the cairo mailing list