From: Ian Romanick <[email protected]> GLSL ES 3.00 adds gl_MinProgramTexelOffset with a negative value. This constant must be -8 or less. For now, assume that all negative constants want a <= comparison. The alternative is to compare the name for 'gl_Min' instead of 'gl_Max'.
Signed-off-by: Ian Romanick <[email protected]> --- tests/shaders/built-in-constants.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/shaders/built-in-constants.c b/tests/shaders/built-in-constants.c index b01e1e2..9e5b940 100644 --- a/tests/shaders/built-in-constants.c +++ b/tests/shaders/built-in-constants.c @@ -41,7 +41,7 @@ char *required_glsl_version_string = NULL; static const char *const uniform_template = - "uniform float f[%s >= %d ? 1 : -1];\n" + "uniform float f[%s %s %d ? 1 : -1];\n" ; static const char *const vertex_shader_body = @@ -150,6 +150,7 @@ parse_file(const char *filename) * major.minor * gl_MaxFoo 8 * gl_MaxBar 16 + * gl_MinAsdf -2 */ /* Process the version requirement. @@ -173,7 +174,8 @@ parse_file(const char *filename) line = (char *) eat_whitespace(line); - if (strncmp("gl_Max", line, 6) != 0) { + if (strncmp("gl_Max", line, 6) != 0 + && strncmp("gl_Min", line, 6) != 0) { char bad_name[32]; strncpy(bad_name, line, sizeof(bad_name)); @@ -295,13 +297,14 @@ piglit_init(int argc, char **argv) for (i = 0; i < num_tests; i++) { bool subtest_pass = true; + const char *comparitor = (tests[i].minimum < 0) ? "<=" : ">="; /* Generate the uniform declaration for the test. This will * be shared by all shader stages. */ snprintf(uniform, sizeof(uniform), uniform_template, - tests[i].name, tests[i].minimum); + tests[i].name, comparitor, tests[i].minimum); /* Try to compile the vertex shader. */ -- 1.8.1.4 _______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
