blob: e4d08be7300197ea3efba4285533793b190463de [file] [log] [blame]
#version 300
uniform half4 colorGreen;
uniform half unknownInput;
uniform half2x2 testMatrix2x2;
half4 func1(half h) {
return h.xxxx * h.xxxx;
}
half4 funcA4(half a[4]) {
return half4(a[0], a[1], a[2], 1) * a[3];
}
half4 funcA5(half a[5]) {
return half4(a[0], a[1], a[2], a[3]) * a[4];
}
half4 main(float2 coords) {
half4 var;
int i = int(unknownInput);
// These expressions are considered "trivial" and will be cloned directly into the inlined
// function without a temporary variable.
var = funcA4(half[4](1, 2, 3, 4)); // array with slotCount <= 4
// These expressions are considered "non-trivial" and will be placed in a temporary variable
// when inlining occurs.
var = func1(colorGreen[i]); // non-constant indexing
var = funcA5(half[5](1, 2, 3, 4, 5)); // array with slotCount > 4
i *= int(var.x);
return colorGreen;
}