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;