| /*#pragma settings RewriteSwitchStatements*/ |
| |
| uniform half4 colorGreen, colorRed; |
| |
| bool switch_fallthrough(int value) { |
| bool ok = false; |
| switch (value) { |
| case 2: break; |
| case 1: |
| case 0: ok = true; break; |
| default: break; |
| } |
| return ok; |
| } |
| |
| bool switch_fallthrough_twice(int value) { |
| bool ok = false; |
| switch (value) { |
| case 0: break; |
| case 1: |
| case 2: |
| case 3: ok = true; break; |
| default: break; |
| } |
| return ok; |
| } |
| |
| half4 main(float2 coords) { |
| int x = int(colorGreen.g); |
| return (switch_fallthrough(x) && switch_fallthrough_twice(x)) ? colorGreen : colorRed; |
| } |