float foo(float v[2]) { return v[0] * v[1]; } void bar(inout float x) { float y[2], z; y[0] = x; y[1] = x * 2; z = foo(y); x = z; } void main() { float x = 10; bar(x); sk_FragColor = half4(half(x)); }