[compiz] [Mesa3d-dev] The direct/indirect rendering stuff and compiz

Brian Paul brian.paul at tungstengraphics.com
Fri Apr 13 11:18:07 PDT 2007


Michel Dänzer wrote:
> On Fri, 2007-04-13 at 13:32 -0400, David Reveman wrote:
>> Does anyone know if some code similar to this would work?
>>
>> glxExtensions = glXQueryExtensionsString (dpy, screenNum);
>> if (!strstr (glxExtensions, "GLX_EXT_texture_from_pixmap"))
>> {
>>     setenv ("LIBGL_ALWAYS_INDIRECT", "1", 1);
>>     glxExtensions = glXQueryExtensionsString (dpy, screenNum);
>>     if (!strstr (glxExtensions, "GLX_EXT_texture_from_pixmap"))
>>         indirectRendering = TRUE
>> }
>>
>> We know pretty well what the problem is and what needs to be done to fix
>> it so I would be OK with including a workaround like this in head if
>> people insist that they want it there.
> 
> I'm afraid it may not work because  LIBGL_ALWAYS_INDIRECT is only
> checked in __glXInitialize().
> 
> I wonder why I didn't get any feedback on my proposal: Make
> glXQueryExtensionsString take the current context into account when
> appropriate. Would it be feasible for compiz to make the context current
> before calling glXQueryExtensionsString?

I'm hesitant to change the parameters or semantics for 
glXQueryExtensionsString() since some apps may depend on it working just 
the way it does.

I'd be happier with a new function that queried the GLX extensions 
supported by the current context.

Ian overhauled the extension-related code in GLX a while back and might 
have extra insight.  I haven't looked at this stuff in years.  Ian?

-Brian


More information about the compiz mailing list