- exchange front and back buffers
( Display *dpy
GLXDrawable drawable )
- Specifies the connection to the X server.
- Specifies the drawable whose buffers are to be swapped.
promotes the contents of the back buffer of
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
performs an implicit glFlush
before it returns.
Subsequent OpenGL commands may be issued immediately after calling
, but are not executed until the buffer exchange is
was not created with respect to a double-buffered visual,
has no effect, and no error is generated.
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 multiple 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 synchronization. Typically this is
accomplished by executing glFinish
and then using a semaphore in shared
memory to rendezvous before swapping.
is generated if drawable
is not a valid GLX
is generated if dpy
respectively the display and drawable associated with the current context of
the calling thread, and drawable
identifies a window that is no longer