blob: 2552ae9d7409c3bb35dcb5c66f1a456e73b4a507 [file] [log] [blame]
static bool tint_discarded = false;
int tint_ftoi(float v) {
return ((v < 2147483520.0f) ? ((v < -2147483648.0f) ? -2147483648 : int(v)) : 2147483647);
}
Texture2D<float4> t : register(t0);
SamplerState s : register(s1);
RWByteAddressBuffer a : register(u2);
struct tint_symbol_3 {
float tint_symbol : TEXCOORD0;
float2 coord : TEXCOORD1;
};
struct tint_symbol_4 {
int value : SV_Target0;
};
int aatomicAdd(uint offset, int value) {
int original_value = 0;
a.InterlockedAdd(offset, value, original_value);
return original_value;
}
int foo_inner(float tint_symbol, float2 coord) {
if ((tint_symbol == 0.0f)) {
tint_discarded = true;
}
float4 tint_symbol_1 = t.Sample(s, coord);
int result = tint_ftoi(tint_symbol_1.x);
{
int i = 0;
while (true) {
if (!((i < 10))) {
break;
}
{
result = (result + i);
}
{
int tint_symbol_5 = 0;
if (!(tint_discarded)) {
tint_symbol_5 = aatomicAdd(0u, 1);
}
i = tint_symbol_5;
}
}
}
return result;
}
tint_symbol_4 foo(tint_symbol_3 tint_symbol_2) {
int inner_result = foo_inner(tint_symbol_2.tint_symbol, tint_symbol_2.coord);
tint_symbol_4 wrapper_result = (tint_symbol_4)0;
wrapper_result.value = inner_result;
if (tint_discarded) {
discard;
}
return wrapper_result;
}