uniform half4 colorRed, colorGreen; bool check_array_is_int_2(int[2] x) { return true; } bool test() { const int two = 2; const int4 vecTwo = int4(2); int a[int4(1, 2, 3, 4).y]; int b[int(max(-5.5, 2.0))]; int c[two]; int d[vecTwo.yz01.x]; int e[two * vecTwo.x101.w]; int f[int2(float2x2(1, 2, 3, 4)[0]).y]; return check_array_is_int_2(a) && check_array_is_int_2(b) && check_array_is_int_2(c) && check_array_is_int_2(d) && check_array_is_int_2(e) && check_array_is_int_2(f); } bool check_array_is_float_3(float[3] x) { return true; } bool test_param(float a[5*5-22], float b[1+1+1]) { return check_array_is_float_3(a) && check_array_is_float_3(b); } half4 main(float2 coords) { float f[3], g[3]; return test() && test_param(f, g) ? colorGreen : colorRed; }