blob: cc739ab8c87f8f97be201e133c46e3a9d7b3749f [file] [log] [blame]
struct atomic_compare_exchange_result_i32 {
int old_value;
bool exchanged;
};
struct main_outputs {
float4 tint_symbol : SV_Target0;
};
RWByteAddressBuffer S : register(u0);
static bool continue_execution = true;
float4 main_inner() {
if (false) {
continue_execution = false;
}
int v = int(0);
S.InterlockedCompareExchange(int(0u), int(0), int(1), v);
int v_1 = v;
atomic_compare_exchange_result_i32 v_2 = {v_1, (v_1 == int(0))};
int old_value = v_2.old_value;
return float4((float(old_value)).xxxx);
}
main_outputs main() {
main_outputs v_3 = {main_inner()};
if (!(continue_execution)) {
discard;
}
main_outputs v_4 = v_3;
return v_4;
}