[cairo] [PATCH] pixman: fast path for nearest neighbour scaled compositing operations.
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.
More information about the cairo