[vtk-developers] Render tests depending on non-existent Mesa features

Brad King brad.king at kitware.com
Wed Dec 22 10:27:04 EST 2010


Hi Folks,

Three tests currently fail on pure Mesa GLs:

  TestDistributedDataShadowMapPass-image
  TestBlurAndSobelPasses
  TestSobelGradientMagnitudePass

See here:

  http://www.cdash.org/CDash/testSummary.php?project=11&name=TestDistributedDataShadowMapPass-image&date=2010-12-22
  http://www.cdash.org/CDash/testSummary.php?project=11&name=TestBlurAndSobelPasses&date=2010-12-22
  http://www.cdash.org/CDash/testSummary.php?project=11&name=TestSobelGradientMagnitudePass&date=2010-12-22

The tests appear to overestimate what is possible with a given set of
OpenGL extensions available (and not available):

  http://www.cdash.org/CDash/testDetails.php?test=76729166&build=807270
  "Mesa does not support separate compilation units."

  http://www.cdash.org/CDash/testDetails.php?test=76728522&build=807270
  "Frame buffer object was not initialized correctly."

  http://www.cdash.org/CDash/testDetails.php?test=76728580&build=807270
  "Frame buffer object was not initialized correctly."

The patch below makes all three pass, but the opposite of this patch was
purposely committed in April 2010:

  http://vtk.org/gitweb?p=VTK.git;a=commitdiff;h=db77cf1e

As far as I can tell the tests have failed since then, but there is no
mention in the commit message what specifically it was fixing.

I'm totally unfamiliar with OpenGL extensions and shader languages.  I'm
investigating this only because I run one of the machines with development
Mesa and need to find real upstream Mesa breakages (this is not one AFAICT).

Would someone more familiar with this topic please comment?

Thanks,
-Brad


diff --git a/Rendering/vtkTextureObject.cxx b/Rendering/vtkTextureObject.cxx
index 995665e..59ff7f7 100644
--- a/Rendering/vtkTextureObject.cxx
+++ b/Rendering/vtkTextureObject.cxx
@@ -191,8 +191,8 @@ bool vtkTextureObject::IsSupported(vtkRenderWindow* win)

     bool tex3D=gl12 || mgr->ExtensionSupported("GL_EXT_texture3D");
     bool multi=gl13 || mgr->ExtensionSupported("GL_ARB_multitexture");
-
-    return npot && tex3D && multi;
+    bool floatTextures=mgr->ExtensionSupported("GL_ARB_texture_float")==1;
+    return npot && tex3D && multi && floatTextures;
     }
   return false;
 }




More information about the vtk-developers mailing list