[Xcb] GLX patches
jkolb at brandeis.edu
Sat May 7 00:08:49 PDT 2005
Jamey Sharp wrote:
> On Fri, 2005-05-06 at 13:53 -0400, Jeremy Kolb wrote:
>>Okay, here are my patches for making indirect glx work with XCB. The
>>first one for glX_proto_send.py adds support for generating the XCB code
>>to handle the single requests (not vendor or render requests).
>>The second one for glxext.c uses XCB to send Render/RenderLarge using XCB.
> That is *so awesome*. It looks perfect so far. Things like the
> RenderLarge code are classic examples of translating Xlibint-based stuff
> to XCB. Do you even need a Mesa function dedicated to generating
> RenderLarge requests at that point?
For the deal with Render/RenderLarge is that the data isn't really a
separate request... you just pack it into Render/RenderLarge. So I just
used that when they were sending the data. You can't do the same thing
as was done with the single ops because you have to explicitly flush the
buffer so it made sense that those were the modified functions. Easier
than the alternative.
Is that what you are asking?
Most of the RenderLarge requests are done if you have large textures I
think, still not too clear on it.
> Do you expect it to be hard to implement vendor or render requests?
> You're done with final exams for the moment so you should be able to
> implement those requests in a couple hours, right? :-)
Ha, well I have one paper left ;)
I did the render requests in glxext.c.patch (second patch) as I
explained above. It made little sense to modify the functions as I did
with the single ops. So it's actually __glXFlushBuffer() that's
modified as that is where the sending for Render is done. The other one
(__glXSendLargeChunk) or something like that is what handles the render
large request. Mesa maintains buffers and when those are filled up it
calls those functions to flush them.
As for vendor requests... I think I can modify the setup vendor request
functions/etc. To send the correct data... I'm not sure yet if I'll have
to implement them all in glx.xml yet... hopefully not.
There's a little mix up between the code and the docs for vendor
stuff... hopefully I'll get that clarified tomorrow.
> Just one complaint: please try to undo the whitespace patch components
> of your changes. There are a few lines where you've added stray tabs or
> something to otherwise blank lines; I've picked them out below.
Done on my local copies.
> Anyway, so yeah. This is cool. Thanks. :-)
More information about the xcb