Xgl page - http://www.freedesktop.org/Software/Xgl

Ian Romanick idr at us.ibm.com
Wed Mar 16 13:21:47 PST 2005


Michel Dänzer wrote:
> On Fri, 2005-03-11 at 13:26 -0800, Ian Romanick wrote:
> 
>>Basically, this is why I stopped working on the new memory manager.  It 
>>is 100% legal (and *must* be supported) for a client to create a 
>>direct-rendering context and an indirect-rendering context and "share" a 
>>pbuffer between them (just like can be done with a window).  
> 
> So that's possible, but does it make any sense? :) And does it preclude
> clients that only need them for direct rendered contexts from using them
> when they're only supported on the client side? And does this even work
> for windows now?
> 
>>Until the same driver can be loaded on the client-side & the server-side 
>>(or there is no client-side driver), pbuffers are DOA.
> 
> Why can't the client-side and server-side implementations cooperate on
> this even if they're not the same? Even if the server side can load the
> same drivers as the client side, there will be no guarantee that the
> client side loads (exactly) the same driver as the server side did.

The big difference, and the thing that makes it just work for windows, 
is that the client and the server know where display memory is and how 
to read data from it.  It's all on the screen.  With a pbuffer (or any 
off-screen rendering target), you don't have that luxury.

With the existing server-side GL implementation, there isn't any way for 
the server to know where the client put the pbuffer in graphics memory, 
much less how to read / interpret the data.  The same is true the other 
way around.  If the server uses malloc to get a buffer for "off-screen" 
rendering, the client can't access it at all.

As long as the client-side driver and the server-side driver are similar 
enough (they don't have to be the identical version, etc.), they can 
have some internal way to agree on that sort of thing.



More information about the xorg mailing list