glsl: test loop unroll with uint overflow
[piglit.git] / tests / spec / arb_compute_shader / linker / bug-93840.shader_test
blob1d4eb28c1ff28947ccfb45e11eb9b0824a7fd3cf
1 # Tests linking a shader with a large workgroup and local data set.
3 # This is related to:
4 # Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93840
6 # There are two important elements to this test:
8 # 1. local workgroup size of 1024 based on the spec requirements.
10 # 2. Use a 'large' size of live local data. In the test this is
11 #    controlled with the SIZE macro. This is hardware specific, and
12 #    the value of 64 was chosen because it was observed to fail on the
13 #    Mesa i965 driver.
15 [require]
16 GL >= 3.3
17 GLSL >= 3.30
18 GL_ARB_compute_shader
20 [compute shader]
21 #version 330
22 #extension GL_ARB_compute_shader: enable
24 layout(local_size_x = 1024) in;
26 #define SIZE 64
28 shared int sa[SIZE];
30 void main()
32     int a[SIZE] = sa;
33     a[int(gl_LocalInvocationIndex) % SIZE] += 1;
34     if (a[int(gl_LocalInvocationIndex) % SIZE] == 0)
35         sa[0] = 1;
38 [test]
39 link success