GLXSWAPBUFFERS() MachTen Programmer’s Manual GLXSWAPBUFFERS()

NAME
glXSwapBuffers - exchange front and back buffers

C SPECIFICATION
void glXSwapBuffers( Display *dpy,
GLXDrawable drawable )

delim $$

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 immedi-
ately 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 win-
dows.

All GLX rendering contexts share the same notion of which
are front buffers and which are back buffers. One conse-
quence 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 iden-
tifies a window that is no longer valid.

SEE ALSO
glFlush, glXBindSwapBarrierSGIX, glXJoinSwapGroupSGIX,
glXSwapIntervalSGI

MachTen 2