| static bool tint_discarded = false; | |
| RWByteAddressBuffer non_uniform_global : register(u0); | |
| RWByteAddressBuffer output : register(u1); | |
| void foo() { | |
| if ((asint(non_uniform_global.Load(0u)) < 0)) { | |
| tint_discarded = true; | |
| } | |
| } | |
| void bar() { | |
| if (!(tint_discarded)) { | |
| output.Store(0u, asuint(ddx(1.0f))); | |
| } | |
| } | |
| void main() { | |
| foo(); | |
| bar(); | |
| if (tint_discarded) { | |
| discard; | |
| } | |
| return; | |
| } |