shaderutil: Fix detection of shaders
authorIan Romanick <ian.d.romanick@intel.com>
Tue, 24 Nov 2009 02:32:27 +0000 (18:32 -0800)
committerIan Romanick <ian.d.romanick@intel.com>
Tue, 24 Nov 2009 02:33:50 +0000 (18:33 -0800)
Check for versions >= 2.0 (because some drivers return 3.0), and return
GL_FALSE if shaders are not detected.

progs/util/shaderutil.c

index 4db950016b890149506250f2f66c3cb723733edb..629b6f1d972d74e6d206e37abc45f3cc3845a439 100644 (file)
@@ -25,7 +25,11 @@ GLboolean
 ShadersSupported(void)
 {
    const char *version = (const char *) glGetString(GL_VERSION);
-   if (version[0] == '2' && version[1] == '.') {
+
+   /* NVIDIA binary drivers will return "3.0.0", and they clearly support
+    * shaders.
+    */
+   if (version[0] >= '2' && version[1] == '.') {
       return GL_TRUE;
    }
    else if (glutExtensionSupported("GL_ARB_vertex_shader")
@@ -34,7 +38,7 @@ ShadersSupported(void)
       fprintf(stderr, "Warning: Trying ARB GLSL instead of OpenGL 2.x.  This may not work.\n");
       return GL_TRUE;
    }
-   return GL_TRUE;
+   return GL_FALSE;
 }