Some considerations
Martijn Sipkema
msipkema@sipkema-digital.com
Tue, 6 Jan 2004 16:48:26 +0100
> > For OpenGL rendering the flush command could be used for this; one
> > shouldn't call flush in the middle of drawing though I suspect some
> > applications may... For X11 drawing the flush isn't sent over the
> > wire, is it?
>
> from glFlush(3x):
>
> Different GL implementations buffer commands in several different loca-
> tions, including network buffers and the graphics accelerator itself.
> glFlush empties all of these buffers, causing all issued commands to be
> executed as quickly as they are accepted by the actual rendering
> engine. Though this execution may not be completed in any particular
> time period, it does complete in finite time.
>
> Because any GL program might be executed over a network, or on an
> accelerator that buffers commands, all programs should call glFlush
> whenever they count on having all of their previously issued commands
> completed. For example, call glFlush before waiting for user input
> that depends on the generated image.
Well, I meant native X11 rendering. I think from the above definition using
glFlush() to have the compositing manager update the framebuffer for single
buffered GLX clients is correct, but I don't think there's an equivalent to
glFlush() in the core X11 rendering, is there?
--ms