[Piglit] [V3 1/4] ARB_explicit_uniform_location: test overlapping location within array

Tapani Pälli tapani.palli at intel.com
Mon Mar 17 06:04:39 PDT 2014


v2: fix style issues (Anuj)
v3: change to be a shader-runner test (Ian)

Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
---
 tests/all.py                                       |  3 ++
 .../overlap-location-within-array.shader_test      | 32 ++++++++++++++++++++++
 2 files changed, 35 insertions(+)
 create mode 100644 tests/spec/arb_explicit_uniform_location/linker/overlap-location-within-array.shader_test

diff --git a/tests/all.py b/tests/all.py
index 6ae5220..aca9088 100644
--- a/tests/all.py
+++ b/tests/all.py
@@ -1928,6 +1928,9 @@ spec['ARB_explicit_uniform_location'] = arb_explicit_uniform_location
 import_glsl_parser_tests(arb_explicit_uniform_location,
                          os.path.join(testsDir, 'spec', 'arb_explicit_uniform_location'),
                          [''])
+add_shader_test_dir(arb_explicit_uniform_location,
+                    os.path.join(testsDir, 'spec', 'arb_explicit_uniform_location'),
+                    recursive=True)
 add_plain_test(arb_explicit_uniform_location, 'arb_explicit_uniform_location-minmax')
 add_plain_test(arb_explicit_uniform_location, 'arb_explicit_uniform_location-boundaries')
 add_plain_test(arb_explicit_uniform_location, 'arb_explicit_uniform_location-array-elements')
diff --git a/tests/spec/arb_explicit_uniform_location/linker/overlap-location-within-array.shader_test b/tests/spec/arb_explicit_uniform_location/linker/overlap-location-within-array.shader_test
new file mode 100644
index 0000000..f2ddcc6
--- /dev/null
+++ b/tests/spec/arb_explicit_uniform_location/linker/overlap-location-within-array.shader_test
@@ -0,0 +1,32 @@
+#
+# Tests overlapping uniform location with array. Note that this test does
+# not include testing for overlaps with unused uniform locations.
+#
+# The GL_ARB_explicit_uniform_location spec says:
+#     "No two default-block uniform variables in the program can have the same
+#     location, even if they are unused, otherwise a compiler or linker error
+#     will be generated"
+
+[require]
+GLSL >= 1.20
+GL_ARB_explicit_uniform_location
+
+[vertex shader]
+void main()
+{
+  gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
+}
+
+[fragment shader]
+#version 120
+#extension GL_ARB_explicit_uniform_location: require
+layout(location = 0) uniform float a[16];
+layout(location = 2) uniform float r;
+
+void main()
+{
+  gl_FragColor = vec4(r, 1.0, 1.0, a[a.length() - 1]);
+}
+
+[test]
+link error
-- 
1.8.3.1



More information about the Piglit mailing list