blob: 73e2345c47f7c3267f5737e06a6eeea4231ba3eb [file] [log] [blame]
struct foo_outputs {
int tint_symbol : SV_Target0;
};
struct foo_inputs {
float tint_member : TEXCOORD0;
float2 coord : TEXCOORD1;
};
Texture2D<float4> t : register(t0);
SamplerState s : register(s1);
RWByteAddressBuffer a : register(u2);
static bool continue_execution = true;
int tint_f32_to_i32(float value) {
return int(clamp(value, -2147483648.0f, 2147483520.0f));
}
int foo_inner(float v, float2 coord) {
if ((v == 0.0f)) {
continue_execution = false;
}
int result = tint_f32_to_i32(t.Sample(s, coord).x);
{
uint2 tint_loop_idx = (4294967295u).xx;
int i = int(0);
while(true) {
if (all((tint_loop_idx == (0u).xx))) {
break;
}
if ((i < int(10))) {
} else {
break;
}
result = (result + i);
{
uint tint_low_inc = (tint_loop_idx.x - 1u);
tint_loop_idx.x = tint_low_inc;
uint tint_carry = uint((tint_low_inc == 4294967295u));
tint_loop_idx.y = (tint_loop_idx.y - tint_carry);
int v_1 = int(0);
if (continue_execution) {
int v_2 = int(0);
a.InterlockedAdd(int(0u), int(1), v_2);
v_1 = v_2;
}
i = v_1;
}
continue;
}
}
return result;
}
foo_outputs foo(foo_inputs inputs) {
foo_outputs v_3 = {foo_inner(inputs.tint_member, inputs.coord)};
if (!(continue_execution)) {
discard;
}
return v_3;
}