What is the reason to use GL_FRONT_LEFT in wglMakeCurrent()

Huw D M Davies h.davies1 at physics.ox.ac.uk
Mon Mar 27 10:05:23 CST 2006


On Mon, Mar 27, 2006 at 05:32:12PM +0200, Tomas Carnecky wrote:
> Huw D M Davies wrote:
> > On Sat, Mar 25, 2006 at 02:23:01AM +0100, Tomas Carnecky wrote:
> >> GL_FRONT and GL_FRONT_LEFT mean the same unless the drawable is stereo.
> >> And I don't think PBuffers or Pixmaps can be stereo, so is there any
> >> special reason to use GL_FRONT_LEFT ? Or is it because the spec sais so?
> > 
> > See man glXCreateGLXPixmap.  The X pixmap is used as the front left
> > buffer of the resulting rendering area, so we make sure that we're
> > rendering into the X pixmap, not some dummy buffer created by
> > glXCreateGLXPixmap.
> > 
> 
> Ok, but see what happens if an application has one rendering context,
> one window (doublebuffered) and one pbuffer (doublebuffered or not),
> activates the window (per default the backbuffer is selected for
> rendering), then activates the pbuffer (together with the same context),
> now wglMakeCurrent() calls glDrawBuffer(GL_FRONT_LEFT), so the
> frontbuffer is selected for rendering, and now the application again
> activates the window and now it suddenly renders into the frontbuffer,
> instead of the backbuffer like it thinks.
> 
> wglMakeCurrent() isn't supposed to change the rendering context state
> (someone prove me wrong, I couldn't find any good description of this
> function, but neither does glXMakeCurrent) and application can make
> assumptions according to that.
> 
> I don't have any wgl-pbuffer demos here, those from the nvidia sdk don't
> run (and won't for a looong time, sadly). And one application to test it
> with apparently isn't enough.
> 
> I have written a test for windows (to test whether wglMakeCurrent
> changes the drawbuffer or not), but nobody of my friends has a graphics
> card that supportd pbuffers.

Ah right, glDrawBuffer alters the rendering state, that's bad.  We
should presumably be calling glXSwapBuffers here (but only in the
GLXPixmap case).

Huw.
-- 
Huw Davies
huw at codeweavers.com



More information about the wine-devel mailing list