[cairo] [RFC] Remove client-side workarounds

Thomas Jaeger thjaeger at gmail.com
Sun May 24 16:47:55 PDT 2009


Here's an updated version of the patches that applies against current
cairo master.  I've changed the first patch to require X servers >=
1.6.99 for server-side compositing with extend mode EXTEND_PAD or
EXTEND_REFLECT.

Thanks,
Tom

Thomas Jaeger wrote:
> These are various performance fixes for cairo moving operations
> (composite, gradients) from the client to the server, which avoid an
> expensive transfer of a pixmap over the wire.  For handing off gradient
> creation to Render, I've adapted an old patch of David Reveman:
> 
> http://cgit.freedesktop.org/~anholt/cairo/log/?h=server-gradients
> 
> Especially the first patch is important, since currently it is
> prohibitively expensive for example for firefox to use linear
> interpolation for image upscaling due to the client-side fallback.
> 
> On my system, this causes only one additional test (extend-pad-border)
> to fail in the cairo test suite.  The expected and actual output look
> identical, so this could be a subpixel offset in the intel driver.
> Certainly not something we need to worry about very much considering how
> many of the tests fail on current master.
> 
> An important question is when to use Render for Pad/Reflect (see the
> commit message of the first patch), as we can't detect whether the X
> server is using a broken driver and/or pixman version.  I haven't
> implemented any checks for now, mainly because I'm unsure about which X
> server version would be reasonably safe.
> 
> Thanks,
> Tom
> 




More information about the cairo mailing list