summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--progs/util/shaderutil.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/progs/util/shaderutil.c b/progs/util/shaderutil.c
index 477209ab45..4f17dd7efa 100644
--- a/progs/util/shaderutil.c
+++ b/progs/util/shaderutil.c
@@ -27,12 +27,15 @@ Init(void)
GLboolean
ShadersSupported(void)
{
- const char *version;
-
- version = (const char *) glGetString(GL_VERSION);
- if (version[0] != '2' || version[1] != '.') {
- printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER));
- return GL_FALSE;
+ const char *version = (const char *) glGetString(GL_VERSION);
+ if (version[0] == '2' && version[1] == '.') {
+ return GL_TRUE;
+ }
+ else if (glutExtensionSupported("GL_ARB_vertex_shader")
+ && glutExtensionSupported("GL_ARB_fragment_shader")
+ && glutExtensionSupported("GL_ARB_shader_objects")) {
+ fprintf(stderr, "Warning: Trying ARB GLSL instead of OpenGL 2.x. This may not work.\n");
+ return GL_TRUE;
}
return GL_TRUE;
}