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
