ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / arb_shading_language_420pack / linker / instance-matching-uniform-blocks-binding-qualifier-mismatch.shader_test
blobebfadfa58ddf6e62523ea8a8b66462e044dd8f41
1 /* Tests that no link error occurs for interfaces blocks with matching
2  * instances names but mismatching binding qualifiers and block names.
3  *
4  * GLSLangSpec.1.50.11, 4.3.7 Interface Blocks:
5  * "The block name (block-name) is used to match interfaces: an output
6  *  block of one pipeline stage will be matched to an input block with
7  *  the same name in the subsequent pipeline stage. For uniform blocks,
8  *  the application uses the block name to identify the block.
9  *
10  *  ...
11  *
12  *  Outside the shading language (i.e., in the API), members are
13  *  similarly identified except the block name is always used in place
14  *  of the instance name (API accesses are to interfaces, not to
15  *  shaders)."
16  */
18 [require]
19 GLSL >= 1.50
20 GL_ARB_shading_language_420pack
22 [vertex shader]
23 #version 150
24 #extension GL_ARB_shading_language_420pack: require
26 layout(binding = 0) uniform blockA {
27         vec4 a;
28 } inst;
30 void main()
32         gl_Position = inst.a;
35 [fragment shader]
36 #version 150
37 #extension GL_ARB_shading_language_420pack: require
39 layout(binding = 1) uniform blockB {
40         vec4 a;
41 } inst;
43 out vec4 color;
45 void main()
47         color = inst.a;
50 [test]
51 link success