ARB_ubo/referenced-by-shader: pass if shader compiler moves UBOs between shaders
[piglit.git] / tests / spec / glsl-1.50 / linker / instance-matching-uniform-blocks-member-qualifier-mismatch.shader_test
blobe10828b149e93d554e21977196c645b18ce0adfa
1 # Tests that no link error occurs for interfaces blocks with matching
2 # instances names but mismatching member's 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 uniform blockA {
24         layout(column_major) mat4 m;
25 } inst;
27 void main()
29         gl_Position = inst.m[0];
32 [fragment shader]
33 #version 150
35 uniform blockB {
36         layout(row_major) mat4 m;
37 } inst;
39 out vec4 color;
41 void main()
43         color = inst.m[0];
46 [test]
47 link success