[Cairo] [patch] implement push/pull on xc surfaces

Carl Worth cworth at east.isi.edu
Fri Sep 12 12:26:39 PDT 2003


On Sep 12, Keith Packard wrote:
 > That's almost certainly because someone is attempting to create depth-32 
 > pixmaps to hold intermediate data.

That would be me. There are a couple of places within Cairo itself
that it does this.

 > Non-Render servers rarely support this format.

Ugh. OK. In that case, supporting non-render servers will take a bit
more work.

Ah, but it looks like the work isn't too hard. There's only one call
to XCreatePixmap in Cairo, and it has libic-based fallback code next
to it already.

I just committed a really lame patch that will help in some cases. It
falls over to the libic code whenever it tries to create a depth 32
pixmap on a server without Render. This will be sub-optimal if the
server actually does support depth 32, and it can still break on other
depths, (eg. I just found that cairo-knockout fails against vncserver
which doesn't support depth 8 pixmaps).

I will gladly accept a better patch that actually works with the
server to do the right thing.

-Carl





More information about the cairo mailing list