glslang/Test/glsl.interpOp.error.frag

74 lines
1.9 KiB
GLSL
Raw Normal View History

#version 320 es
struct S
{
highp float a;
highp float b;
};
layout(location = 0) in S v_var;
layout(location = 2) in highp float v;
struct S0 {
highp vec4 s_v;
};
layout(location = 3) in FIn {
highp float x;
highp vec4 xyz[1];
S0 s0;
};
layout(location = 7) in highp float z[1];
layout(location = 8) in highp vec4 w;
layout(location = 0) out mediump vec4 fragColor;
void main (void)
{
// Centroid
{
// valid
fragColor = vec4(interpolateAtCentroid(v));
fragColor = vec4(interpolateAtCentroid(x));
fragColor = vec4(interpolateAtCentroid(z[0]));
fragColor = interpolateAtCentroid(w);
fragColor = interpolateAtCentroid(xyz[0]);
//// invalid
fragColor = vec4(interpolateAtCentroid(v_var.a));
fragColor = vec4(interpolateAtCentroid(w.x));
fragColor = vec4(interpolateAtCentroid(s0.s_v));
}
// Sample
{
// valid
fragColor = vec4(interpolateAtSample(v, 0));
fragColor = vec4(interpolateAtSample(x, 0));
fragColor = vec4(interpolateAtSample(z[0], 0));
fragColor = interpolateAtSample(w, 0);
fragColor = interpolateAtSample(xyz[0], 0);
// invalid
fragColor = vec4(interpolateAtSample(v_var.a, 0));
fragColor = vec4(interpolateAtSample(w.x, 0));
fragColor = vec4(interpolateAtSample(s0.s_v, 0));
}
// Offset
{
// valid
fragColor = vec4(interpolateAtOffset(v, vec2(0)));
fragColor = vec4(interpolateAtOffset(x, vec2(0)));
fragColor = vec4(interpolateAtOffset(z[0], vec2(0)));
fragColor = interpolateAtOffset(w, vec2(0));
fragColor = interpolateAtOffset(xyz[0], vec2(0));
// invalid
fragColor = vec4(interpolateAtOffset(v_var.a, vec2(0)));
fragColor = vec4(interpolateAtOffset(w.x, vec2(0)));
fragColor = vec4(interpolateAtOffset(s0.s_v, vec2(0)));
}
}