ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / glsl-1.50 / linker / instance-matching-uniform-blocks-memory-qualifier-mismatch.shader_test
blobd11b76772433d7165133ec04c46be5680460e8ba
1 # Tests that no link error occurs for interfaces blocks with matching
2 # instances names but mismatching memory qualifier and block names.
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.
10 #  ...
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)."
17 [require]
18 GLSL >= 1.50
20 [vertex shader]
21 #version 150
23 layout(column_major) uniform blockA {
24         mat4 m;
25 } inst;
27 void main()
29         gl_Position = inst.m[0];
32 [fragment shader]
33 #version 150
35 layout(row_major) uniform blockB {
36         mat4 m;
37 } inst;
39 out vec4 color;
41 void main()
43         color = inst.m[0];
46 [test]
47 link success