summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/dispatch_common.c15
-rw-r--r--test/gl_version.c2
2 files changed, 7 insertions, 10 deletions
diff --git a/src/dispatch_common.c b/src/dispatch_common.c
index b3e4f5f..9977a02 100644
--- a/src/dispatch_common.c
+++ b/src/dispatch_common.c
@@ -392,10 +392,10 @@ epoxy_is_desktop_gl(void)
}
static int
-epoxy_internal_gl_version(GLenum version_string, int error_version)
+epoxy_internal_gl_version(GLenum version_string, int error_version, int factor)
{
const char *version = (const char *)glGetString(version_string);
- GLint major, minor, factor;
+ GLint major, minor;
int scanf_count;
if (!version)
@@ -413,11 +413,6 @@ epoxy_internal_gl_version(GLenum version_string, int error_version)
abort();
}
- if (minor >= 10)
- factor = 100;
- else
- factor = 10;
-
return factor * major + minor;
}
@@ -439,7 +434,7 @@ epoxy_internal_gl_version(GLenum version_string, int error_version)
int
epoxy_gl_version(void)
{
- return epoxy_internal_gl_version(GL_VERSION, 0);
+ return epoxy_internal_gl_version(GL_VERSION, 0, 10);
}
int
@@ -448,7 +443,7 @@ epoxy_conservative_gl_version(void)
if (api.begin_count)
return 100;
- return epoxy_internal_gl_version(GL_VERSION, 100);
+ return epoxy_internal_gl_version(GL_VERSION, 100, 10);
}
/**
@@ -471,7 +466,7 @@ epoxy_glsl_version(void)
{
if (epoxy_gl_version() >= 20 ||
epoxy_has_gl_extension ("GL_ARB_shading_language_100"))
- return epoxy_internal_gl_version(GL_SHADING_LANGUAGE_VERSION, 0);
+ return epoxy_internal_gl_version(GL_SHADING_LANGUAGE_VERSION, 0, 100);
return 0;
}
diff --git a/test/gl_version.c b/test/gl_version.c
index 9fe1bba..8873ef7 100644
--- a/test/gl_version.c
+++ b/test/gl_version.c
@@ -80,6 +80,8 @@ main(int argc, char **argv)
pass = pass && test_version("3.0 Mesa 13.0.6", 30,
"1.30", 130);
+ pass = pass && test_version("OpenGL ES 2.0 Mesa 20.1.0-devel (git-4bb19a330e)", 20,
+ "OpenGL ES GLSL ES 1.0.16", 100);
pass = pass && test_version("OpenGL ES 3.2 Mesa 18.3.0-devel", 32,
"OpenGL ES GLSL ES 3.20", 320);
pass = pass && test_version("4.5.0 NVIDIA 384.130", 45,