Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ glxswapbuffers(3G) — IRIX 6.5.3f

Media Vault

Software Library

Restoration Projects

Artifacts Sought



glXSwapBuffers(3G)          OpenGL Reference - GLX          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.

     If dpy and drawable are the display and drawable for the calling thread's
     current context, an implicit glFlush is done by glXSwapBuffers 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
     As mentioned above, 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.


ERRORS
     GLXBadDrawable is generated if drawable is not a valid GLX drawable.






                                                                        Page 1





glXSwapBuffers(3G)          OpenGL Reference - GLX          glXSwapBuffers(3G)



     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.



MACHINE DEPENDENCIES
     Gang swap (multipipe synchronized buffer swaps) is not supported on
     RealityEngine, RealityEngine2, and VTX systems.  This will be fixed in a
     future release.

     Before a window's buffers can be swapped, at least one thread must have
     attached an OpenGL rendering context to the window via glXMakeCurrent.


SEE ALSO
     glXBindSwapBarrierSGIX, glFlush, glXJoinSwapGroupSGIX, glXSwapIntervalSGI






































                                                                        Page 2



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026