ARB_ubo/referenced-by-shader: pass if shader compiler moves UBOs between shaders
[piglit.git] / tests / spec / glsl-1.50 / uniform_buffer / gs-float-array-variable-index.shader_test
bloba3c6032c6da2befe7b01c594f3c69ff336f33a86
1 [require]
2 GLSL >= 1.50
4 [vertex shader]
5 #version 150
7 in vec4 vertex;
8 out vec4 vertex_to_gs;
10 void main()
12         vertex_to_gs = vertex;
15 [geometry shader]
16 #version 150
18 layout(triangles) in;
19 layout(triangle_strip, max_vertices = 3) out;
21 uniform int ri, gi, bi, ai;
23 uniform ubo1 {
24         float f[4];
27 in vec4 vertex_to_gs[3];
28 out vec4 v;
30 void main()
32         for (int i = 0; i < 3; i++) {
33                 gl_Position = vertex_to_gs[i];
34                 v = vec4(f[ri], f[gi], f[bi], f[ai]);
35                 EmitVertex();
36         }
39 [fragment shader]
40 #version 150
42 in vec4 v;
44 void main()
46         gl_FragColor = v;
49 [vertex data]
50 vertex/float/2
51 -1.0 -1.0
52  1.0 -1.0
53  1.0  1.0
54 -1.0  1.0
56 [test]
57 uniform int ri 0
58 uniform int gi 1
59 uniform int bi 2
60 uniform int ai 3
62 uniform float f[0] 0.0
63 uniform float f[1] 1.0
64 uniform float f[2] 0.0
65 uniform float f[3] 0.0
66 draw arrays GL_TRIANGLE_FAN 0 4
67 probe all rgba 0.0 1.0 0.0 0.0