[cairo] cairo-xcb without RENDER extension?

Ingo Bürk ingo.buerk at airblader.de
Mon Oct 12 12:22:04 PDT 2015


Hi Uli,

thank you for your response. For the record / for anyone interested, we
are following up on this at
https://github.com/i3/i3/pull/1990


Ingo

On 10/12/2015 08:05 PM, Uli Schlachter wrote:
> Hi,
>
> Am 12.10.2015 um 11:08 schrieb Ingo Bürk:
> [...]
>> From the docs, I would expect that the RENDER extension is optional,
>> not mandatory for cairo-xcb. Is this correct?
> Yes
>
>> If so, are there any
>> tips on how we have to use cairo to make it work if RENDER is not
>> available?
> Use cairo_surface_flush() where needed.
> For example, after drawing to a window, use cairo_surface_flush(). Between
> drawing to a pixmap and using xcb_copy_area() to move the drawing elsewhere, use
> cairo_surface_flush().
>
> The technical detail is:
> When cairo-xcb needs to do a fallback to an image surface (some drawing that has
> to be done that the X11 server cannot do for it), it keeps using that image
> surface as long as possible, so that it doesn't needlessly upload/download some
> buffer repeatedly. The #1 reason for fallbacks is "the server does not support
> the RENDER extension", but this can also happen when the RENDER extension is
> available.
>
> Cheers,
> Uli



More information about the cairo mailing list