| uniform half4 colorGreen; |
| |
| noinline half4 multiplyByAlpha(half4 x) { |
| return x * x.aaaa; |
| } |
| |
| noinline half add(half a, half b) { |
| half c = a + b; |
| return c; |
| } |
| |
| noinline half mul(half a, half b) { |
| return a * b; |
| } |
| |
| noinline half fused_multiply_add(half a, half b, half c) { |
| return add(mul(a, b), c); |
| } |
| |
| half4 main(float2 coords) { |
| // Functions used multiple times: |
| half4 result = fused_multiply_add(colorGreen.a, colorGreen.g, colorGreen.r).0x0x; |
| // Functions used only once: |
| result = multiplyByAlpha(result); |
| |
| return result; |
| } |