[Mesa-dev] OpenGL compositors and glxWaitX()
thellstrom at vmware.com
Mon Jun 6 02:09:13 PDT 2011
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
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.
More information about the mesa-dev