[Mesa3d-dev] [compiz] The direct/indirect rendering stuff
davidr at novell.com
Tue Apr 17 14:24:40 PDT 2007
On Tue, 2007-04-17 at 12:18 +0200, Michel Dänzer wrote:
> [ Apologies for the late followup, I've been away over the weekend ]
> On Fri, 2007-04-13 at 17:04 -0400, David Reveman wrote:
> > On Fri, 2007-04-13 at 19:50 +0200, Michel Dänzer wrote:
> > >
> > > 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?
> > That's actually what compiz is doing now as I thought that
> > glXQueryExtensionsString took the current context into account. However,
> > as this is wrong I'd prefer to remove it.
> Why is it wrong? It seems odd that it shouldn't take the context into
> account when the context matters for whether an extension is really
> supported, I'm inclined to consider it a bug.
A bug in the GLX spec? The GLX spec mentions nothing about contexts in
the description of glXQueryExtensionsString or GLX extensions in
general. It seems pretty clear that GLX extensions are specific to the
connection between the client and the server and that they are not
allowed to be context dependent. If this interpretation of the spec is
correct, any code that relies on the current context being taken into
account is obviously wrong.
> > How about putting something like the attached workaround in mesa? It's
> > checking if the client is the window manager for any screen and avoids
> > using direct rendering if that's the case. It would be more better to
> > check if the client is the compositing manager but I couldn't think of a
> > way to check that without creating a top-level window and that seemed a
> > bit too nasty here.
> I don't like either way. If there's really no clean GLX solution a
> wrapper script such as the one used by Debian makes more sense to me.
More information about the compiz