Commit 2549b294 authored by François Bertel's avatar François Bertel Committed by David Partyka

BUG:10621 Workaround for an nVidia bug in X11 indirect rendering mode.

The version reported by the driver in X11 indirect rendering mode is above what
the driver can do (for example it tells it supports 2.1 (Xserver on GeForce
6800) or even 3.2 (Xserver on Quadro FX 3600M)) when it cannot actually support
PBO (pixel buffer objects) which is core in 2.1. It does not advertise PBO as
an extension. The workaround makes vtkOpenGLExtensionManager returns false in
indirect mode for any requested OpenGL version, which let the algorithms to
only tests against advertised extensions.

It has been tested with nVidia driver 195.36.15 (shipped with Ubuntu 10.04).
parent c9eaf670
......@@ -166,6 +166,24 @@ int vtkOpenGLExtensionManager::ExtensionSupported(const char *name)
p += n;
// Woraround for a nVidia bug in indirect/remote rendering mode (ssh -X)
// The version returns is not the one actually supported.
// For example, the version returns is greater or equal to 2.1
// but where PBO (which are core in 2.1) are not actually supported.
// In this case, force the version to be 1.1 (minimal). Anything above
// will be requested only through extensions.
// See ParaView bug
if(result && !this->RenderWindow->IsDirect())
if (result && strncmp(name, "GL_VERSION_",11) == 0)
// whatever is the OpenGL version, return false.
// (nobody asks for GL_VERSION_1_1)
// Workaround for a bug on Mac PowerPC G5 with nVidia GeForce FX 5200
// Mac OS 10.3.9 and driver 1.5 NVIDIA-1.3.42. It reports it supports
// OpenGL>=1.4 but querying for glPointParameteri and glPointParameteriv
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment