[Xcb] XCB status

Andy Howe parasite@cooper-mtn.com
Fri, 21 Mar 2003 20:59:36 -0800

The XCBRender Implementation is currently incomplete. At one point it
was complete, but Keith Packard has updated the render protocol since
then. I haven't looked at the updated protocol, but my guess would be
that it will only require minimal work to update.

I have a working XPutImage function. I've had it since June of last
year. I thought I put it in the CVS archives, but just recently I
noticed that I hadn't. This function works, but I have a feeling that it
is not complete. I do not, however, have a working XGetImage function.

A tarball of the reorganized XCB source (without the updated XPutImage)
is available at http://brunslo.com/parasite/xcb.tar.gz. I do not know
how this source should be added to the CVS archives. If it should be
added by deleting the old files and importing the reorganized source
(one of two ways I know of for moving things around in CVS), I can do
that by myself. If it should be reorganized by getting in and modifying
the CVS archives (which is the second way I have read about) then I
can't update the archives. I am not familiar enough with CVS to do that
without messing something up. :)

In the past two or three days I have been playing around with automatic
documentation generation. I am currently working on macros to
automatically generate protocol specs. The hope is to use this to get a
better protocol specification of the render protocol.

I have a few comments on the creation of new sets of macros for XCB.
First, generics.m4 is a huge help. It allowed me to implement partial
sets of macros and still have reasonable output. It also lets me know
which macros I haven't yet implemented. Of course, it doesn't work when
someobe forgets to put a macro in generics.m4. I ran into this problem
with the MARSHAL macro. Luckily, this didn't take me too long to track
down and I fixed it in my source tree. My second comment about macro set
creation is about PUSHDIV() and POPDIV(). These two macros are extremely
useful. Next, I'd like to comment about one of the difficulties I've run
into when making the automatic documentation generation macros. In the
protocol specs, there is a need for specifying the size of the different
parts of a request or a reply. I can't think of any really good way of
finding this out. I can think of at least one way that seems hackish. If
you have any ideas, please speak up. :)

---Andy Howe