| void non_constant_swizzle() { |
| int4 i = int4(int(sqrt(1))); |
| half4 v = half4(half(sqrt(1))); |
| half x = v[i[0]]; |
| half y = v[i[1]]; |
| half z = v[i[2]]; |
| half w = v[i[3]]; |
| sk_FragColor = half4(x, y, z, w); |
| } |
| |
| void constant_swizzle() { |
| half4 v = half4(half(sqrt(1))); |
| half x = v[0]; |
| half y = v[1]; |
| half z = v[2]; |
| half w = v[3]; |
| sk_FragColor = half4(x, y, z, w); |
| } |
| |
| void foldable() { |
| half4 v = half4(2); |
| half x = v[0]; |
| half y = v[1]; |
| half z = v[2]; |
| half w = v[3]; |
| sk_FragColor = half4(x, y, z, w); |
| } |
| |
| void main() { |
| non_constant_swizzle(); |
| constant_swizzle(); |
| foldable(); |
| } |