X rendering calls made prior to glXWaitX are
guaranteed to be executed before GL rendering calls made after glXWaitX.
Although the same result can be achieved using XSync, glXWaitX 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.
glXWaitX 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.