shaderutil: Fix detection of shaders
Check for versions >= 2.0 (because some drivers return 3.0), and return GL_FALSE if shaders are not detected.
This commit is contained in:
@@ -25,7 +25,11 @@ GLboolean
|
|||||||
ShadersSupported(void)
|
ShadersSupported(void)
|
||||||
{
|
{
|
||||||
const char *version = (const char *) glGetString(GL_VERSION);
|
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;
|
return GL_TRUE;
|
||||||
}
|
}
|
||||||
else if (glutExtensionSupported("GL_ARB_vertex_shader")
|
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");
|
fprintf(stderr, "Warning: Trying ARB GLSL instead of OpenGL 2.x. This may not work.\n");
|
||||||
return GL_TRUE;
|
return GL_TRUE;
|
||||||
}
|
}
|
||||||
return GL_TRUE;
|
return GL_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user