diff options
Diffstat (limited to 'tests/spec/glsl-1.50/linker/interface-blocks-multiple-vs-member-count-mismatch.shader_test')
-rw-r--r-- | tests/spec/glsl-1.50/linker/interface-blocks-multiple-vs-member-count-mismatch.shader_test | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/spec/glsl-1.50/linker/interface-blocks-multiple-vs-member-count-mismatch.shader_test b/tests/spec/glsl-1.50/linker/interface-blocks-multiple-vs-member-count-mismatch.shader_test new file mode 100644 index 00000000..9b2990ac --- /dev/null +++ b/tests/spec/glsl-1.50/linker/interface-blocks-multiple-vs-member-count-mismatch.shader_test @@ -0,0 +1,35 @@ +# Tests that a link error occurs when an interface block member's type +# differs between the vertex and fragment shaders. +# +# GLSLangSpec.1.50.11, 4.3.7 Interface Blocks: +# "Matched block names within an interface (as defined above) must match +# in terms of having the same number of declarations with the same +# sequence of types and the same sequence of member names, as well as +# having the same member-wise layout qualification (see next section)." +[require] +GLSL >= 1.50 + +[vertex shader] +out block { + vec4 a; +} vs1_block; + +void main() +{ + gl_Position = vec4(0.0); +} + +[vertex shader] +out block { + vec4 a; + vec4 b; // b is not present in VS #1 interface block +} vs_block; + +[fragment shader] +void main() +{ +} + +[test] +link error + |