| static bool tint_discarded = false; |
| RWByteAddressBuffer non_uniform_global : register(u0); |
| RWByteAddressBuffer output : register(u1); |
| |
| void main() { |
| if ((asint(non_uniform_global.Load(0u)) < 0)) { |
| tint_discarded = true; |
| } |
| if (!(tint_discarded)) { |
| output.Store(0u, asuint(ddx(1.0f))); |
| } |
| if ((asfloat(output.Load(0u)) < 0.0f)) { |
| int i = 0; |
| while (true) { |
| if ((asfloat(output.Load(0u)) > float(i))) { |
| if (!(tint_discarded)) { |
| output.Store(0u, asuint(float(i))); |
| } |
| if (tint_discarded) { |
| discard; |
| } |
| return; |
| } |
| { |
| i = (i + 1); |
| if ((i == 5)) { break; } |
| } |
| } |
| if (tint_discarded) { |
| discard; |
| } |
| return; |
| } |
| if (tint_discarded) { |
| discard; |
| } |
| return; |
| } |