summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChad Versace <chad.versace@intel.com>2011-03-09 14:06:08 -0800
committerChad Versace <chad.versace@intel.com>2011-03-12 10:58:11 -0800
commit98b10c1244eebfd7be3d2b07301c29fd52133032 (patch)
tree0972a9210a0c48fc14c5a1efbf04b8b23508c1ef
parente695117af56d59835398ddcd0917b7fab5ae71f0 (diff)
util: Change signature of piglit_get_gl_version()
Change signature from piglit_get_gl_version(bool *es, float *version) to piglit_get_gl_version(bool *es, int *major_version, int *minor_version) This eliminates floating point error. Signed-off-by: Chad Versace <chad.versace@intel.com>
-rw-r--r--tests/glslparsertest/glslparsertest.c10
-rw-r--r--tests/util/piglit-util.c24
-rw-r--r--tests/util/piglit-util.h3
3 files changed, 17 insertions, 20 deletions
diff --git a/tests/glslparsertest/glslparsertest.c b/tests/glslparsertest/glslparsertest.c
index 4ceb5981c..965e5b5af 100644
--- a/tests/glslparsertest/glslparsertest.c
+++ b/tests/glslparsertest/glslparsertest.c
@@ -41,7 +41,7 @@
static char *filename;
static int expected_pass;
-static float gl_version = 0;
+static int gl_major_version = 0;
static GLint
get_shader_compile_status(GLuint shader)
@@ -49,7 +49,7 @@ get_shader_compile_status(GLuint shader)
GLint status;
#if defined USE_OPENGL
- if (gl_version >= 2.0) {
+ if (gl_major_version >= 2) {
glGetShaderiv(shader, GL_COMPILE_STATUS, &status);
} else {
glGetObjectParameterivARB(shader, GL_OBJECT_COMPILE_STATUS_ARB, &status);
@@ -69,7 +69,7 @@ get_shader_info_log_length(GLuint shader)
GLsizei length;
#if defined USE_OPENGL
- if (gl_version >= 2.0) {
+ if (gl_major_version >= 2) {
glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &length);
} else {
glGetObjectParameterivARB(shader, GL_OBJECT_INFO_LOG_LENGTH_ARB, &length);
@@ -215,13 +215,13 @@ int main(int argc, char**argv)
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
glutInitWindowSize(WIN_WIDTH, WIN_HEIGHT);
glutCreateWindow("glslparsertest");
- piglit_get_gl_version(NULL, &gl_version);
+ piglit_get_gl_version(NULL, &gl_major_version, NULL);
#ifdef USE_OPENGL
glewInit();
#endif
- if (gl_version < 2.0
+ if (gl_major_version < 2
&& !piglit_is_extension_supported("GL_ARB_shader_objects")) {
printf("Requires OpenGL 2.0\n");
piglit_report_result(PIGLIT_SKIP);
diff --git a/tests/util/piglit-util.c b/tests/util/piglit-util.c
index d0cb6abef..e5ee2b588 100644
--- a/tests/util/piglit-util.c
+++ b/tests/util/piglit-util.c
@@ -48,14 +48,12 @@ void piglit_glutInit(int argc, char **argv)
#endif
}
-void piglit_get_gl_version(bool *es, float* version)
+void piglit_get_gl_version(bool *es, int* major, int* minor)
{
/* Version of OpenGL API. */
bool es_local;
- int major;
- int minor;
- const size_t buffer_size = 32;
- char buffer[32];
+ int major_local;
+ int minor_local;
const char *version_string;
int c; /* scanf count */
@@ -65,23 +63,23 @@ void piglit_get_gl_version(bool *es, float* version)
if (es_local) {
c = sscanf(version_string,
"OpenGL ES %i.%i",
- &major,
- &minor);
+ &major_local,
+ &minor_local);
} else {
c = sscanf(version_string,
"%i.%i",
- &major,
- &minor);
+ &major_local,
+ &minor_local);
}
assert(c == 2);
- memset(buffer, 0, buffer_size * sizeof(char));
- sprintf(buffer, "%i.%i", major, minor);
/* Write outputs. */
if (es != NULL)
*es = es_local;
- if (version != NULL)
- *version = strtod(buffer, NULL);
+ if (major != NULL)
+ *major = major_local;
+ if (minor != NULL)
+ *minor = minor_local;
}
bool piglit_is_extension_supported(const char *name)
diff --git a/tests/util/piglit-util.h b/tests/util/piglit-util.h
index 13b4adc3a..2a8e72fe9 100644
--- a/tests/util/piglit-util.h
+++ b/tests/util/piglit-util.h
@@ -86,9 +86,8 @@ void piglit_glutInit(int argc, char **argv);
* Null parameters are ignored.
*
* \param es Is the API OpenGL or OpenGL ES?
- * \param version In the form of 'major.minor'.
*/
-void piglit_get_gl_version(bool *es, float* version);
+void piglit_get_gl_version(bool *es, int* major, int* minor);
/**
* \precondition name is not null