The new functions test the min/max value of a token with glGetInteger64v. v2: Use PRId64 for printing GLint64, for Anholt.
CC: Eric Anholt <[email protected]> Signed-off-by: Chad Versace <[email protected]> --- As a follow-on patch, I should probably change the width of the columns to accomodate GLint64. tests/util/minmax-test.c | 36 ++++++++++++++++++++++++++++++++++++ tests/util/minmax-test.h | 2 ++ 2 files changed, 38 insertions(+) diff --git a/tests/util/minmax-test.c b/tests/util/minmax-test.c index 2f8e413..bcd4856 100644 --- a/tests/util/minmax-test.c +++ b/tests/util/minmax-test.c @@ -27,6 +27,8 @@ */ #define _GNU_SOURCE + +#include <inttypes.h> #include <string.h> #include "piglit-util-gl-common.h" @@ -52,6 +54,18 @@ piglit_report_int(const char *name, GLint limit, GLint val, bool pass) } static void +piglit_report_int64(const char *name, GLint64 limit, GLint64 val, bool pass) +{ + if (pass) { + printf("%-50s %8"PRId64" %8"PRId64"\n", name, limit, val); + } else { + fprintf(stderr, "%-50s %8ld %8ld (ERROR)\n", + name, limit, val); + piglit_minmax_pass = false; + } +} + +static void piglit_report_float(const char *name, GLfloat limit, GLfloat val, bool pass) { if (pass) { @@ -76,6 +90,19 @@ piglit_test_int(GLenum token, GLint limit, bool max) (!max && val >= limit)); } +static void +piglit_test_int64(GLenum token, GLint64 limit, bool max) +{ + const char *name = piglit_get_gl_enum_name(token); + GLint64 val; + + glGetInteger64v(token, &val); + + piglit_report_int64(name, limit, val, + (max && val <= limit) || + (!max && val >= limit)); +} + void piglit_test_min_int(GLenum token, GLint min) { piglit_test_int(token, min, false); @@ -86,6 +113,15 @@ void piglit_test_max_int(GLenum token, GLint max) piglit_test_int(token, max, true); } +void piglit_test_min_int64(GLenum token, GLint64 min) +{ + piglit_test_int64(token, min, false); +} + +void piglit_test_max_int64(GLenum token, GLint64 max) +{ + piglit_test_int64(token, max, true); +} static void piglit_test_float(GLenum token, GLfloat limit, bool max) diff --git a/tests/util/minmax-test.h b/tests/util/minmax-test.h index 986ac8d..d9baab5 100644 --- a/tests/util/minmax-test.h +++ b/tests/util/minmax-test.h @@ -25,6 +25,8 @@ extern bool piglit_minmax_pass; void piglit_print_minmax_header(void); void piglit_test_min_int(GLenum token, GLint val); void piglit_test_max_int(GLenum token, GLint val); +void piglit_test_min_int64(GLenum token, GLint64 min); +void piglit_test_max_int64(GLenum token, GLint64 min); void piglit_test_min_float(GLenum token, GLfloat val); void piglit_test_max_float(GLenum token, GLfloat val); void piglit_test_range_float(GLenum token, GLfloat low, GLfloat high); -- 1.7.11.7 _______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
