glsl: test loop unroll with uint overflow
[piglit.git] / tests / spec / arb_shader_atomic_counters / linker / different-bindings-atomic-counter.shader_test
blob18f28434e0802adceaa3218cadba0eb6cb12aaa9
1 /* The ARB_shader_atomic_counters says:
2  *
3  *     "It is legal for some shaders to provide a layout qualifier for
4  *      a uniform variable of the same name, while another shader does
5  *      not provide a layout qualifier for a uniform variable of the
6  *      same name, but if provided, all provided layout qualifiers
7  *      must be equal for a uniform variable of the same name, and if
8  *      not provided, all implicitly provided layout qualifiers must
9  *      be equal for a uniform variable of the same name."
10  *
11  * Verify that a link error happens when using different binding
12  * points for an atomic counter with the same name in different
13  * compilation units.
14  */
16 [require]
17 GL >= 3.10
18 GLSL >= 1.40
19 GL_ARB_shader_atomic_counters
21 [vertex shader]
22 #version 140
23 #extension GL_ARB_shader_atomic_counters: require
25 layout (binding = 0) uniform atomic_uint x;
27 in vec4 piglit_vertex;
28 out vec4 vs_fs;
30 void main()
32         vs_fs = vec4(atomicCounter(x));
33         gl_Position = piglit_vertex;
36 [fragment shader]
37 #version 140
38 #extension GL_ARB_shader_atomic_counters: require
40 layout (binding = 1) uniform atomic_uint x;
42 in  vec4 vs_fs;
43 out vec4 fs_out;
45 void main()
47         fs_out = vs_fs * atomicCounter(x);
50 [test]
51 link error