[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