GLXSWAPBUFFERS(3G) OpenGL Manual GLXSWAPBUFFERS(3G)
NAME
glXSwapBuffers - exchange front and back buffers
C SPECIFICATION
void glXSwapBuffers(Display * dpy, GLXDrawable drawable);
PARAMETERS
dpy
Specifies the connection to the X server.
drawable
Specifies the drawable whose buffers are to be swapped.
DESCRIPTION
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.
glXSwapBuffers performs an implicit glFlush() before it returns. Subsequent 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 pixel buffers 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.
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 ALSO
glFlush()
COPYRIGHT
Copyright (C) 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see
http://oss.sgi.com/projects/FreeB/.
AUTHORS
opengl.org
opengl.org 06/10/2014 GLXSWAPBUFFERS(3G)