2021-02-05 21:24:03 +00:00
|
|
|
uniform half4 testInputs, colorGreen, colorRed;
|
|
|
|
|
|
|
|
half4 constant_swizzle() {
|
|
|
|
half4 v = testInputs;
|
|
|
|
half x = v[0];
|
|
|
|
half y = v[1];
|
|
|
|
half z = v[2];
|
|
|
|
half w = v[3];
|
|
|
|
return half4(x, y, z, w); // -1.25, 0, 0.75, 2.25
|
|
|
|
}
|
|
|
|
|
2021-03-08 14:18:07 +00:00
|
|
|
half4 foldable_index() {
|
|
|
|
const int ZERO = 0, ONE = 1, TWO = 2, THREE = 3;
|
|
|
|
half x = testInputs[ZERO];
|
|
|
|
half y = testInputs[ONE];
|
|
|
|
half z = testInputs[TWO];
|
|
|
|
half w = testInputs[THREE];
|
|
|
|
return half4(x, y, z, w); // -1.25, 0, 0.75, 2.25
|
|
|
|
}
|
|
|
|
|
2021-02-05 21:24:03 +00:00
|
|
|
half4 foldable() {
|
|
|
|
half4 v = half4(0, 1, 2, 3);
|
|
|
|
half x = v[0];
|
|
|
|
half y = v[1];
|
|
|
|
half z = v[2];
|
|
|
|
half w = v[3];
|
|
|
|
return half4(x, y, z, w); // 0, 1, 2, 3
|
|
|
|
}
|
|
|
|
|
|
|
|
half4 main() {
|
|
|
|
half4 a = constant_swizzle();
|
2021-03-08 14:18:07 +00:00
|
|
|
half4 b = foldable_index();
|
|
|
|
half4 c = foldable();
|
2021-02-05 21:24:03 +00:00
|
|
|
|
|
|
|
return a == half4(-1.25, 0, 0.75, 2.25) &&
|
2021-03-08 14:18:07 +00:00
|
|
|
b == half4(-1.25, 0, 0.75, 2.25) &&
|
|
|
|
c == half4(0, 1, 2, 3) ? colorGreen : colorRed;
|
2021-02-05 21:24:03 +00:00
|
|
|
}
|