xref: /aosp_15_r20/external/angle/third_party/glslang/src/Test/glsl.interpOp.error.frag (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1#version 320 es
2
3struct S
4{
5    highp float a;
6    highp float b;
7};
8layout(location = 0) in S v_var;
9
10layout(location = 2) in highp float v;
11
12struct S0 {
13    highp vec4 s_v;
14};
15
16layout(location = 3) in FIn {
17    highp float x;
18    highp vec4 xyz[1];
19    S0 s0;
20};
21
22layout(location = 7) in highp float z[1];
23
24layout(location = 8) in highp vec4 w;
25
26layout(location = 0) out mediump vec4 fragColor;
27void main (void)
28{
29    // Centroid
30    {
31        // valid
32        fragColor = vec4(interpolateAtCentroid(v));
33        fragColor = vec4(interpolateAtCentroid(x));
34        fragColor = vec4(interpolateAtCentroid(z[0]));
35        fragColor = interpolateAtCentroid(w);
36        fragColor = interpolateAtCentroid(xyz[0]);
37
38        //// invalid
39        fragColor = vec4(interpolateAtCentroid(v_var.a));
40        fragColor = vec4(interpolateAtCentroid(w.x));
41        fragColor = vec4(interpolateAtCentroid(s0.s_v));
42    }
43
44    // Sample
45    {
46        // valid
47        fragColor = vec4(interpolateAtSample(v, 0));
48        fragColor = vec4(interpolateAtSample(x, 0));
49        fragColor = vec4(interpolateAtSample(z[0], 0));
50        fragColor = interpolateAtSample(w, 0);
51        fragColor = interpolateAtSample(xyz[0], 0);
52
53        // invalid
54        fragColor = vec4(interpolateAtSample(v_var.a, 0));
55        fragColor = vec4(interpolateAtSample(w.x, 0));
56        fragColor = vec4(interpolateAtSample(s0.s_v, 0));
57    }
58
59    // Offset
60    {
61        // valid
62        fragColor = vec4(interpolateAtOffset(v,    vec2(0)));
63        fragColor = vec4(interpolateAtOffset(x,    vec2(0)));
64        fragColor = vec4(interpolateAtOffset(z[0], vec2(0)));
65        fragColor = interpolateAtOffset(w,         vec2(0));
66        fragColor = interpolateAtOffset(xyz[0],    vec2(0));
67
68        // invalid
69        fragColor = vec4(interpolateAtOffset(v_var.a, vec2(0)));
70        fragColor = vec4(interpolateAtOffset(w.x,     vec2(0)));
71        fragColor = vec4(interpolateAtOffset(s0.s_v, vec2(0)));
72    }
73}
74