OpenGL man pages
glXSwapBuffers - make back buffer visible
void glXSwapBuffers( Display *dpy,
GLXDrawable drawable )
dpy Specifies the connection to the X server.
drawable Specifies the window whose buffers are to be swapped.
glXSwapBuffers 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. All GLX rendering contexts share the same notion
of which are front buffers and which are back buffers.
An implicit glFlush is done by glXSwapBuffers before it returns.
Subsequent OpenGL commands can be issued immediately after calling
glXSwapBuffers, but are not executed until the buffer exchange is
If drawable was not created with respect to a double-buffered visual,
glXSwapBuffers has no effect, and no error is generated.
Synchronization of multiple GLX contexts rendering to the same double-
buffered window is the responsibility of the clients. The X
Synchronization Extension can be used to facilitate such cooperation.
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.
Fri Dec 6 11:18:03 EST 1996
Look here for legal stuff: Legal