Hi,
In SoOffscreenRenderer.cpp the call to glXChooseVisual is made with an
attribute list that requests a visual without a double buffer. If if
cannot acquire such a list it returns error. The correct behavior would be
to then make a second call to glXChooseVisual with a second attribute list
that will accept a double buffered visual and only fail if this second call
failed. (It's an unfortunate point in the design of glX that the
DOUBLEBUFFER element of the attribList is mutually exclusive). This caused
offscreen rendering to fail on a few machines in my lab that only
supported double buffered visuals at certain color depths.
--
Stuart Anderson
|