31 lines
503 B
Plaintext
31 lines
503 B
Plaintext
|
/*#pragma settings NoInline*/
|
||
|
|
||
|
uniform half4 colorRed, colorGreen;
|
||
|
|
||
|
struct S { float x; int y; };
|
||
|
|
||
|
S returns_a_struct() {
|
||
|
S s;
|
||
|
s.x = 1;
|
||
|
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++;
|
||
|
}
|
||
|
|
||
|
half4 main() {
|
||
|
S s = returns_a_struct();
|
||
|
float x = accepts_a_struct(s);
|
||
|
modifies_a_struct(s);
|
||
|
|
||
|
bool valid = (x == 3) && (s.x == 2) && (s.y == 3);
|
||
|
return valid ? colorGreen : colorRed;
|
||
|
}
|