[Mesa-dev] OpenGL compositors and glxWaitX()

Thomas Hellstrom thellstrom at vmware.com
Mon Jun 6 02:09:13 PDT 2011


Hi!

While trying to improve the vmwgfx X driver to better cope with OpenGL 
compositors, I noticed that compiz never calls glxWaitX() to make sure 
the pixmaps that it textures from are updated.

Since we migrate X rendered data to the dri2 drawables only on demand, 
we miss a lot of data.

Googling for this it seems this has been up for discussion before, and 
it appears glxWaitX() is not used because either

1) it's considered to be a performance hit.
2) it only affects the drawables currently bound by the glx context 
issuing the command.

While 1) may be true, reading the glx specification it appears to me 
that 2) does not hold, even if it appears like some dri2 server side 
implementations do not flush all drawables. Furthermore it appears to me 
to be a requirement for correctness to call glXWaitX before using the 
pixmap content.

Does anyone on the list have more info on this, and whether not calling 
glxWaitX() is the common usage pattern by other compositors?

Any input appreciated.
Thanks,
Thomas



More information about the mesa-dev mailing list