GL rendering calls made prior to glXWaitGL
are guaranteed to be executed before X rendering calls made after glXWaitGL.
Although this same result can be achieved using glFinish, glXWaitGL does
not require a round trip to the server, and it is therefore more efficient
in cases where client and server are on separate machines.
glXWaitGL is
ignored if there is no current GLX context.
GLXBadCurrentWindow is generated if the drawable
associated with the current context of the calling thread is a window,
and that window is no longer valid.