We would like to be able to test this on 1.20+ARB_ubo as well. Unsigned
types are only present as of 1.30, so skip them if not available.

Signed-off-by: Chris Forbes <[email protected]>
---
 ...getactiveuniformblockiv-uniform-block-data-size.c | 18 ++++++++++++++----
 .../getactiveuniformsiv-uniform-type.c               | 20 +++++++++++++++-----
 .../layout-std140-base-size-and-alignment.c          | 20 ++++++++++++++++----
 tests/spec/arb_uniform_buffer_object/layout-std140.c |  6 +++---
 4 files changed, 48 insertions(+), 16 deletions(-)

diff --git 
a/tests/spec/arb_uniform_buffer_object/getactiveuniformblockiv-uniform-block-data-size.c
 
b/tests/spec/arb_uniform_buffer_object/getactiveuniformblockiv-uniform-block-data-size.c
index 97edc40..e61d9e5 100644
--- 
a/tests/spec/arb_uniform_buffer_object/getactiveuniformblockiv-uniform-block-data-size.c
+++ 
b/tests/spec/arb_uniform_buffer_object/getactiveuniformblockiv-uniform-block-data-size.c
@@ -40,7 +40,6 @@
 PIGLIT_GL_TEST_CONFIG_BEGIN
 
        config.supports_gl_compat_version = 10;
-       config.supports_gl_core_version = 31;
        config.window_visual = PIGLIT_GL_VISUAL_RGBA | PIGLIT_GL_VISUAL_DOUBLE;
 
 PIGLIT_GL_TEST_CONFIG_END
@@ -54,9 +53,9 @@ align(int v, int a)
 static bool
 test_format(const struct uniform_type *type, bool row_major)
 {
-       /* Using 140 to get unsigned ints. */
        const char *fs_template =
-               "#version 140\n"
+               "#version %d\n"
+               "#extension GL_ARB_uniform_buffer_object: require\n"
                "layout(std140) uniform ubo {\n"
                "       float align_test;\n"
                "       %s%s u;\n"
@@ -71,12 +70,23 @@ test_format(const struct uniform_type *type, bool row_major)
        int expected;
        const struct uniform_type *transposed_type;
 
+       if (type->type[0] == 'u' && piglit_get_gl_version() < 30) {
+               printf("%-20s %10s %10d %10s%s\n",
+                      type->type,
+                      row_major ? "y" : "n",
+                      data_size,
+                      "-",
+                      " SKIP");
+               return true;
+       }
+
        if (row_major)
                transposed_type = get_transposed_type(type);
        else
                transposed_type = type;
 
        asprintf(&fs_source, fs_template,
+                type->type[0] == 'u' ? 130 : 120,      /* unsigned requires 
1.30 */
                 row_major ? "layout(row_major) " : "",
                 type->type);
        prog = piglit_build_simple_program(NULL, fs_source);
@@ -118,7 +128,7 @@ piglit_init(int argc, char **argv)
        unsigned int i;
 
        piglit_require_extension("GL_ARB_uniform_buffer_object");
-       piglit_require_GLSL_version(140);
+       piglit_require_GLSL_version(120);
 
        printf("%-20s %10s %10s %10s\n",
               "type", "row_major", "DATA_SIZE", "expected");
diff --git 
a/tests/spec/arb_uniform_buffer_object/getactiveuniformsiv-uniform-type.c 
b/tests/spec/arb_uniform_buffer_object/getactiveuniformsiv-uniform-type.c
index fc54036..26e4229 100644
--- a/tests/spec/arb_uniform_buffer_object/getactiveuniformsiv-uniform-type.c
+++ b/tests/spec/arb_uniform_buffer_object/getactiveuniformsiv-uniform-type.c
@@ -33,7 +33,6 @@
 PIGLIT_GL_TEST_CONFIG_BEGIN
 
        config.supports_gl_compat_version = 10;
-       config.supports_gl_core_version = 31;
        config.window_visual = PIGLIT_GL_VISUAL_DOUBLE | PIGLIT_GL_VISUAL_RGBA;
 
 PIGLIT_GL_TEST_CONFIG_END
@@ -41,9 +40,9 @@ PIGLIT_GL_TEST_CONFIG_END
 static bool
 test_format(const struct uniform_type *type)
 {
-       /* Using 140 to get unsigned ints. */
        const char *fs_template =
-               "#version 140\n"
+               "#version %d\n"
+               "#extension GL_ARB_uniform_buffer_object: require\n"
                "layout(std140) uniform ubo {\n"
                "       float align_test;\n"
                "       %s u;\n"
@@ -67,7 +66,18 @@ test_format(const struct uniform_type *type)
                deref = "u[0].x";
        }
 
-       asprintf(&fs_source, fs_template, type->type, deref);
+       if (type->type[0] == 'u' && piglit_get_gl_version() < 30) {
+               printf("%-20s %20s %20s%s\n",
+                      type->type,
+                      "-",
+                      "-",
+                      " SKIP");
+               return true;
+       }
+
+       asprintf(&fs_source, fs_template,
+                type->type[0] == 'u' ? 130 : 120,
+                type->type, deref);
        prog = piglit_build_simple_program(NULL, fs_source);
        free(fs_source);
 
@@ -93,7 +103,7 @@ piglit_init(int argc, char **argv)
        unsigned int i;
 
        piglit_require_extension("GL_ARB_uniform_buffer_object");
-       piglit_require_GLSL_version(140);
+       piglit_require_GLSL_version(120);
 
        printf("%-20s %20s %20s\n", "type", "GL_UNIFORM_TYPE", "expected");
        
printf("--------------------------------------------------------------\n");
diff --git 
a/tests/spec/arb_uniform_buffer_object/layout-std140-base-size-and-alignment.c 
b/tests/spec/arb_uniform_buffer_object/layout-std140-base-size-and-alignment.c
index ffef8d1..967ee81 100644
--- 
a/tests/spec/arb_uniform_buffer_object/layout-std140-base-size-and-alignment.c
+++ 
b/tests/spec/arb_uniform_buffer_object/layout-std140-base-size-and-alignment.c
@@ -34,7 +34,6 @@
 PIGLIT_GL_TEST_CONFIG_BEGIN
 
        config.supports_gl_compat_version = 10;
-       config.supports_gl_core_version = 31;
        config.window_visual = PIGLIT_GL_VISUAL_DOUBLE | PIGLIT_GL_VISUAL_RGBA;
 
 PIGLIT_GL_TEST_CONFIG_END
@@ -48,9 +47,9 @@ align(int v, int a)
 static bool
 test_format(const struct uniform_type *type, bool row_major)
 {
-       /* Using 140 to get unsigned ints. */
        const char *fs_template =
-               "#version 140\n"
+               "#version %d\n"
+               "#extension GL_ARB_uniform_buffer_object: require\n"
                "layout(std140) uniform ubo {\n"
                "       float pad;\n"
                "       %s %s u;\n"
@@ -82,7 +81,20 @@ test_format(const struct uniform_type *type, bool row_major)
        else
                deref = "u[0].x";
 
+       if (type->type[0] == 'u' && piglit_get_gl_version() < 30) {
+               printf("%-10s %10s %8s %-16s %8s %-16d%s\n",
+                      type->type,
+                      row_major ? "y" : "n",
+                      "-",
+                      "-",
+                      "-",
+                      transposed_type->size,
+                      " SKIP");
+               return true;
+       }
+
        asprintf(&fs_source, fs_template,
+                type->type[0] == 'u' ? 130 : 120,
                 row_major && type->size > 16 ? "layout(row_major) " : "",
                 type->type,
                 deref);
@@ -126,7 +138,7 @@ piglit_init(int argc, char **argv)
        unsigned int i;
 
        piglit_require_extension("GL_ARB_uniform_buffer_object");
-       piglit_require_GLSL_version(140);
+       piglit_require_GLSL_version(120);
 
        printf("%-10s %10s %8s %16s %8s %-16s\n",
               "type", "row_major",
diff --git a/tests/spec/arb_uniform_buffer_object/layout-std140.c 
b/tests/spec/arb_uniform_buffer_object/layout-std140.c
index cb3cff3..d802322 100644
--- a/tests/spec/arb_uniform_buffer_object/layout-std140.c
+++ b/tests/spec/arb_uniform_buffer_object/layout-std140.c
@@ -91,7 +91,7 @@ static const struct result {
 };
 
 static const char frag_shader_text[] =
-       "#version 130\n"
+       "#version 120\n"
        "#extension GL_ARB_uniform_buffer_object : enable \n"
        "\n"
        "struct f_struct {\n"
@@ -100,7 +100,7 @@ static const char frag_shader_text[] =
        "};\n"
        "\n"
        "struct o_struct {\n"
-       "       uvec3 j;\n"
+       "       ivec3 j;\n"
        "       vec2 k;\n"
        "       float l[2];\n"
        "       vec2 m;\n"
@@ -145,7 +145,7 @@ static const char frag_shader_text[] =
 static void
 init(void)
 {
-       piglit_require_GLSL_version(130);
+       piglit_require_GLSL_version(120);
        piglit_require_extension("GL_ARB_uniform_buffer_object");
 
        prog = piglit_build_simple_program(NULL, frag_shader_text);
-- 
2.0.4

_______________________________________________
Piglit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to