29 lines
511 B
Plaintext
29 lines
511 B
Plaintext
|
|
||
|
out vec4 sk_FragColor;
|
||
|
uniform vec4 colorRed;
|
||
|
uniform vec4 colorGreen;
|
||
|
struct S {
|
||
|
float x;
|
||
|
int y;
|
||
|
};
|
||
|
S returns_a_struct() {
|
||
|
S s;
|
||
|
s.x = 1.0;
|
||
|
s.y = 2;
|
||
|
return s;
|
||
|
}
|
||
|
float accepts_a_struct(S s) {
|
||
|
return s.x + float(s.y);
|
||
|
}
|
||
|
void modifies_a_struct(inout S s) {
|
||
|
s.x++;
|
||
|
s.y++;
|
||
|
}
|
||
|
vec4 main() {
|
||
|
S s = returns_a_struct();
|
||
|
float x = accepts_a_struct(s);
|
||
|
modifies_a_struct(s);
|
||
|
bool valid = (x == 3.0 && s.x == 2.0) && s.y == 3;
|
||
|
return valid ? colorGreen : colorRed;
|
||
|
}
|