Xgl page - http://www.freedesktop.org/Software/Xgl
Ian Romanick
idr at us.ibm.com
Fri Mar 11 13:26:16 PST 2005
Michel Dänzer wrote:
> On Thu, 2005-03-10 at 05:07 -0800, Ian Romanick wrote:
>>Michel Dänzer wrote:
>>
>>>Ah, I was wondering why it wasn't using pbuffers... I'll look into why
>>>it doesn't advertise these extensions (maybe glitz could still try to
>>>use an extension if GetProcAddress succeeds for all needed functions?),
>>>but I think there might be another problem in glitz as well: For direct
>>>rendered contexts, shouldn't it use glXGetClientString(...,
>>>GLX_EXTENSIONS) instead of glXQueryExtensionsString() (and analogously
>>>for the GLX version)?
>>
>>No! glXGetClientString will list all the extensions that libGL *can*
>>support. For direct-rendering there is still handshaking between libGL
>>and the DRI driver to determine the set of extensions to actually
>>advertise. Using glXGetClientString for this purpose is a mistake. For
>>most GLX extensions, like fbconfigs and pbuffers, the extension
>>functionality is used *before* you have a context (direct or otherwise),
>>so how could you even make this distinction?
>
> So how are GLX_SGIX_fbconfig and GLX_SGIX_pbuffer supposed to be
> advertised and picked up by glitz if they're only supported on the
> client side?
If they're only supported on the client side, they're *not* supported.
If the server can't handle a glXCreateGLXPbufferSGIX request, there's
not much you can do.
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). Until the
same driver can be loaded on the client-side & the server-side (or there
is no client-side driver), pbuffers are DOA.
I suspect this is also one of the *technical* reasons why Nvidia doesn't
use DRI for their drivers. Maybe once I get that fixed they'll change
their minds...
More information about the xorg
mailing list