| half4 main(float2 coords) { |
| half4 result = half4(0); |
| |
| // Two variables, both used |
| for (half a = 0, b = 0; a < 10 && b < 10; ++a, ++b) { |
| result.r += a; |
| result.g += b; |
| } |
| |
| // Two variables, one dead |
| for (int c = 0, d = 0; c < 10; ++c) { |
| result.b += 1; |
| } |
| |
| // Three variables, all used, some array-typed |
| for (float d[2] = float[2](0, 10), e[4] = float[4](1,2,3,4), f = 9; d[0] < d[1]; ++d[0]) { |
| result.a = half(e[0] * f); |
| } |
| |
| // Four variables, all dead |
| for (half4 x, y, z, w;; ) break; |
| |
| // Just referencing a variable instead of declaring it--legal, if not meaningful. |
| for (result;; ) break; |
| |
| return result; |
| } |