[cairo] More on the future of cairo's X11 backends

Uli Schlachter psychon at znc.in
Fri Jan 27 09:51:31 UTC 2017

On 27.01.2017 02:55, Bryce Harrington wrote:
> On Wed, Jan 25, 2017 at 12:02:47PM +0100, Uli Schlachter wrote:
>> - Introduce these function pointers in cairo-xlib and make use of them
>> - Add an xcb-xlib-backend that implements the xcb API ontop of these
>> function pointers
>> - Eventually remove the current cairo-xcb and cairo-xlib-xcb code and
>> only leave the above.
>> Of course this is all still a bit rough around the edges, but what do
>> you think?
> So do I understand this would (temporarily) add a third backend, that
> implements this strategy,

A bit, yeah. So:

Current cairo-xlib gets lots of changes so that it does not use Xlib
directly, but a thin wrapper around it. The idea being that this can be
done with lots of almost-trivial patches, nothing complicated.

Afterwards this thin wrapper can also be implemented with XCB to produce
a new cairo-x11-xcb-something backend.

At this point I would want to compare test and performance results
between "new cairo-xcb" and "old cairo-xcb". At any point now we could
drop the current xcb backend ("old cairo-xcb") without much impact
(well, configure would need to be fixed up).

> with the mid-range goal of eliminating two xcb
> backends?  Long term does this leave us with a single X backend we
> have to maintain?

I'm sorry, but two xcb backends? This should only eliminate the current
xcb backend.

Yes, long term this should give us just a single X11 backend and a thin
abstraction layer around X11.

Sent from my Game Boy.

More information about the cairo mailing list