blob: da2f461312f41ce5f712178ab798b70c842f8f3d [file] [log] [blame]
out vec4 sk_FragColor;
in float val;
uniform int ui;
uniform vec4 uh4;
uniform bool b;
struct S {
vec4 ah4[1];
float ah[1];
vec4 h4;
float h;
};
void funcb(bool b, out vec4 outColor) {
outColor = b ? outColor.xxxx : outColor.yyyy;
}
void func1(float h, out vec4 outColor) {
outColor = vec4(h);
}
void func2(vec2 h2, out vec4 outColor) {
outColor = h2.xyxy;
}
void func3(vec3 h3, out vec4 outColor) {
outColor = h3.xyzx;
}
void func4(vec4 h4, out vec4 outColor) {
outColor = h4;
}
void main() {
S s;
s.ah4[0] = vec4(val);
s.ah[0] = val;
s.h4 = vec4(val);
s.h = val;
S as[1];
as[0].ah4[0] = vec4(val);
funcb(true, sk_FragColor);
func1(s.h, sk_FragColor);
funcb(b, sk_FragColor);
func2(s.ah4[0].yw, sk_FragColor);
func2(as[0].ah4[0].xy, sk_FragColor);
func3(s.h4.zzz, sk_FragColor);
func3(uh4.xyz, sk_FragColor);
func3(vec3(s.h), sk_FragColor);
func4(vec4(s.h), sk_FragColor);
func4(s.ah4[0].xxxy, sk_FragColor);
func4(uh4, sk_FragColor);
funcb(false, sk_FragColor);
func1(-s.h, sk_FragColor);
funcb(!b, sk_FragColor);
func2(s.ah4[ui].yw, sk_FragColor);
func3(s.h4.yyy + s.h4.zzz, sk_FragColor);
func4(vec4(s.h4.y, 0.0, 0.0, 1.0), sk_FragColor);
}