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

Reply via email to