xref: /aosp_15_r20/external/angle/third_party/glslang/src/Test/aggOps.frag (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1#version 130
2
3uniform sampler2D sampler;
4varying mediump vec2 coord;
5
6varying vec4 u, w;
7
8struct s1 {
9    int i;
10    float f;
11};
12
13struct s2 {
14    int i;
15    float f;
16	s1 s1_1;
17};
18
19uniform s1 foo1;
20uniform s2 foo2a;
21uniform s2 foo2b;
22
23void main()
24{
25    vec4 v;
26    s1 a[3], b[3];
27    a = s1[3](s1(int(u.x), u.y), s1(int(u.z), u.w), s1(14, 14.0));
28    b = s1[3](s1(17, 17.0), s1(int(w.x), w.y), s1(int(w.z), w.w));
29
30    if (foo2a == foo2b)
31        v = texture2D(sampler, coord);
32    else
33        v = texture2D(sampler, 2.0*coord);
34
35    if (u == v)
36        v *= 3.0;
37
38    if (u != v)
39        v *= 4.0;
40
41    if (coord == v.yw)
42        v *= 5.0;
43
44    if (a == b)
45        v *= 6.0;
46
47    if (a != b)
48        v *= 7.0;
49
50	gl_FragColor =  v;
51}
52