glXSwapBuffers()glXSwapBuffers()NAMEglXSwapBuffers - exchange front and back buffers
SYNOPSIS
void glXSwapBuffers(
Display *dpy,
GLXDrawable drawable );
PARAMETERS
Specifies the connection to the X server. Specifies the drawable whose
buffers are to be swapped.
DESCRIPTIONglXSwapBuffers() promotes the contents of the back buffer of drawable
to become the contents of the front buffer of drawable. The contents of
the back buffer then become undefined. The update typically takes place
during the vertical retrace of the monitor, rather than immediately
after glXSwapBuffers() is called.
glXSwapBuffers() performs an implicit glFlush() before it returns. Sub‐
sequent OpenGL commands may be issued immediately after calling
glXSwapBuffers(), but are not executed until the buffer exchange is
completed.
If drawable was not created with respect to a double-buffered visual,
glXSwapBuffers() has no effect, and no error is generated.
NOTES
The contents of the back buffer become undefined after a swap. Note
that this applies to pbuffers as well as windows.
All GLX rendering contexts share the same notion of which are front
buffers and which are back buffers. One consequence is that when multi‐
ple clients are rendering to the same double-buffered window, all of
them should finish rendering before one of them issues the command to
swap buffers. The clients are responsible for implementing this syn‐
chronization. Typically this is accomplished by executing glFinish()
and then using a semaphore in shared memory to rendezvous before swap‐
ping.
ERRORS
GLXBadDrawable is generated if drawable is not a valid GLX drawable.
GLXBadCurrentWindow is generated if dpy and drawable are respectively
the display and drawable associated with the current context of the
calling thread, and drawable identifies a window that is no longer
valid.
SEE ALSOglFlush(), glXBindSwapBarrierSGIX(), glXJoinSwapGroupSGIX(), glXSwapIn‐
tervalSGI()glXSwapBuffers()