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