ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / arb_shading_language_420pack / linker / different-bindings-sampler2D.shader_test
blob37a388be611bf0540d9d74f9d727771eb3bdd05f
1 /* The GLSL 4.20 spec, v11, says:
2  *
3  *     "A link error will result if two compilation units in a program
4  *      specify different integer-constant bindings for the same
5  *      opaque-uniform name. However, it is not an error to specify a
6  *      binding on some but not all declarations for the same name, as
7  *      shown in the examples below."
8  *
9  * Although this restriction is not included in the
10  * ARB_shading_language_420pack spec, it is reasonable to believe that
11  * it applies to it too.
12  *
13  * Verify that a link error happens when using different binding
14  * points for an opaque type (sampler2D) with the same name in
15  * different compilation units.
16  */
18 [require]
19 GLSL >= 1.30
20 GL_ARB_shading_language_420pack
22 [vertex shader]
23 #version 130
24 #extension GL_ARB_shading_language_420pack: require
26 layout (binding = 0) uniform sampler2D tex;
28 in vec4 piglit_vertex;
29 out vec4 vs_fs;
31 void main()
33         vs_fs = texture2D(tex, gl_Vertex.xy);
34         gl_Position = piglit_vertex;
37 [fragment shader]
38 #version 130
39 #extension GL_ARB_shading_language_420pack: require
41 layout (binding = 1) uniform sampler2D tex;
43 uniform vec4 cst;
44 in  vec4 vs_fs;
45 out vec4 fs_out;
47 void main()
49         fs_out = vs_fs * texture2D(tex, cst.xy).x;
52 [test]
53 link error