ARB_ubo/referenced-by-shader: pass if shader compiler moves UBOs between shaders
[piglit.git] / tests / spec / glsl-1.50 / uniform_buffer / gs-mat4-row-major.shader_test
blob7ee781324324138005d4158a4dcfac952bb67a92
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 ubo1 {
22         layout(row_major) mat4 m;
25 in vec4 vertex_to_gs[3];
26 out vec4 v;
28 void main()
30         for (int i = 0; i < 3; i++) {
31                 gl_Position = vertex_to_gs[i];
32                 v = m[0] + m[1] + m[2] + m[3];
33                 EmitVertex();
34         }
37 [fragment shader]
38 #version 150
40 in vec4 v;
42 void main()
44         gl_FragColor = v;
47 [vertex data]
48 vertex/float/2
49 -1.0 -1.0
50  1.0 -1.0
51  1.0  1.0
52 -1.0  1.0
54 [test]
55 uniform mat4 m 0.25 0.0 0.0 0.0   0.0 0.0 0.75 0.0   0.0 0.5 0.0 0.0   0.0 0.0 0.0 1.0
56 draw arrays GL_TRIANGLE_FAN 0 4
57 probe all rgba 0.25 0.5 0.75 1.0