]> git.tdb.fi Git - libs/gl.git/blob - tests/glsl/variable_assignment_subscript.glsl
Check the flat qualifier from the correct member
[libs/gl.git] / tests / glsl / variable_assignment_subscript.glsl
1 uniform mat4 mvp;
2 uniform int mask_index;
3
4 #pragma MSP stage(vertex)
5 layout(location=0) in vec4 position;
6 layout(location=1) in vec4 color;
7 out VertexOut
8 {
9         vec4 color;
10         vec4 mask_color;
11 } vs_out;
12 void main()
13 {
14         int index = mask_index%4;
15         vs_out.color = color;
16         vs_out.color[index] = 0.0;
17         vs_out.mask_color = vec4(1.0);
18         vs_out.mask_color[index] = 1.0;
19         gl_Position = mvp*position;
20 }
21
22 #pragma MSP stage(fragment)
23 layout(location=0) out vec4 frag_color;
24 void main()
25 {
26         frag_color = vs_out.color+vs_out.mask_color;
27 }
28
29 // Target API: OpenGL
30
31 /* Expected output: vertex
32 layout(location=0) uniform mat4 mvp;
33 layout(location=4) uniform int mask_index;
34 layout(location=0) in vec4 position;
35 layout(location=1) in vec4 color;
36 out VertexOut
37 {
38         vec4 color;
39         vec4 mask_color;
40 } vs_out;
41 void main()
42 {
43         int index = mask_index%4;
44         vs_out.color = color;
45         vs_out.color[index] = 0.0;
46         vs_out.mask_color = vec4(1.0);
47         vs_out.mask_color[index] = 1.0;
48         gl_Position = mvp*position;
49         gl_Position.z = gl_Position.z*2.0-gl_Position.w;
50 }
51 /*
52
53 /* Expected output: fragment
54 layout(location=0) out vec4 frag_color;
55 in VertexOut
56 {
57         vec4 color;
58         vec4 mask_color;
59 } vs_out;
60 void main()
61 {
62         frag_color = vs_out.color+vs_out.mask_color;
63 }
64 */