[Piglit] [PATCH 3/4] GLSL 1.50 Interface blocks: Test that interface blocks cannot have initializers or sampler types within the block.
Nicholas Mack
nichmack at gmail.com
Fri Sep 27 11:28:52 PDT 2013
---
...terface-blocks-no-initializer-within-block.vert | 25 ++++++++++++++++++++++
...erface-blocks-no-sampler-type-within-block.vert | 24 +++++++++++++++++++++
2 files changed, 49 insertions(+)
create mode 100644 tests/spec/glsl-1.50/compiler/interface-blocks-no-initializer-within-block.vert
create mode 100644 tests/spec/glsl-1.50/compiler/interface-blocks-no-sampler-type-within-block.vert
diff --git a/tests/spec/glsl-1.50/compiler/interface-blocks-no-initializer-within-block.vert b/tests/spec/glsl-1.50/compiler/interface-blocks-no-initializer-within-block.vert
new file mode 100644
index 0000000..d902a4d
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/interface-blocks-no-initializer-within-block.vert
@@ -0,0 +1,25 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.50
+// check_link: true
+// [end config]
+//
+// Tests that an initializer is not allowed within a block.
+//
+// GLSLangSpec.1.50.11, 4.3.7 Interface Blocks:
+// "Types and declarators are the same as for other input, output, and uniform
+// variable declarations outside blocks, with these exceptions:
+// • initializers are not allowed
+// • sampler types are not allowed
+// • structure definitions cannot be nested inside a block"
+
+#version 150
+
+out block {
+ vec4 a(1., 0., 0., 1.);
+} inst;
+
+void main()
+{
+ inst.a = vec4(0.);
+}
diff --git a/tests/spec/glsl-1.50/compiler/interface-blocks-no-sampler-type-within-block.vert b/tests/spec/glsl-1.50/compiler/interface-blocks-no-sampler-type-within-block.vert
new file mode 100644
index 0000000..8055c72
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/interface-blocks-no-sampler-type-within-block.vert
@@ -0,0 +1,24 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.50
+// check_link: true
+// [end config]
+//
+// Tests that an initializer is not allowed within a block.
+//
+// GLSLangSpec.1.50.11, 4.3.7 Interface Blocks:
+// "Types and declarators are the same as for other input, output, and uniform
+// variable declarations outside blocks, with these exceptions:
+// • initializers are not allowed
+// • sampler types are not allowed
+// • structure definitions cannot be nested inside a block"
+
+#version 150
+
+out block {
+ sampler2DShadow a;
+} inst;
+
+void main()
+{
+}
--
1.8.3.1
More information about the Piglit
mailing list