Following a meeting last week between Jesse Barnes, Chris Wilson, and Kristian Høgsberg with developers working on the Clutter tool-kit
and GNOME's Mutter window manager, there is a new GLX extension that has been proposed as a result. Jesse Barnes has announced their work on the GLX_INTEL_swap_event extension, which helps GLX integrate better with glib style event loops.
GLX_INTEL_swap_event basically notifies the client when a buffer swap has been completed. The benefit of this extension is that glXSwapBuffers call can be made a-synchronous so that the client can continue on doing other work, but then will be notified when the swap has taken place so that it can return to preparing the next buffer. It's really quite simple.
This buffer swap event extension specification can be read at FreeDesktop.org
in its current form. Jesse has code that introduces GLX_INTEL_swap_event in his Git repositories for glxproto, dri2proto, the X.Org Server, and Mesa for the Intel Linux graphics stack. His RFC message can be found on the X.Org mailing list