blob: df55b6b7fa771128aa2e7f5ae67d926db943954c [file] [log] [blame]
static uint3 gl_WorkGroupID = uint3(0u, 0u, 0u);
ByteAddressBuffer x_13 : register(t2, space0);
RWByteAddressBuffer x_15 : register(u3, space0);
ByteAddressBuffer x_17 : register(t0, space0);
ByteAddressBuffer x_19 : register(t1, space0);
void main_1() {
uint base_index_in = 0u;
uint base_index_out = 0u;
int index_in0 = 0;
int index_in1 = 0;
int index_out0 = 0;
int index_out1 = 0;
int condition_index = 0;
int i = 0;
int temp0 = 0;
int temp1 = 0;
const uint x_56 = gl_WorkGroupID.x;
base_index_in = (128u * x_56);
const uint x_59 = gl_WorkGroupID.x;
base_index_out = (256u * x_59);
index_in0 = 0;
index_in1 = -128;
index_out0 = 0;
index_out1 = -128;
condition_index = 0;
i = 0;
{
for(; (i < 256); i = (i + 1)) {
const int x_70 = asint(x_13.Load((4u * uint(condition_index))));
if ((x_70 == 0)) {
const uint x_75 = base_index_out;
const int x_76 = index_out0;
const int x_84 = asint(x_17.Load((4u * (base_index_in + asuint(index_in0)))));
x_15.Store((4u * (x_75 + asuint(x_76))), asuint(x_84));
index_out0 = (index_out0 + 1);
index_in1 = (index_in1 + 1);
} else {
const uint x_90 = base_index_out;
const int x_91 = index_out1;
const int x_99 = asint(x_19.Load((4u * (base_index_in + asuint(index_in1)))));
x_15.Store((4u * (x_90 + asuint(x_91))), asuint(x_99));
index_out1 = (index_out1 + 1);
index_in1 = (index_in1 + 1);
}
const int x_108 = asint(x_13.Load((4u * uint((condition_index + 1)))));
condition_index = (condition_index + x_108);
temp0 = index_in0;
index_in0 = index_in1;
index_in1 = temp0;
temp1 = index_out0;
index_out0 = index_out1;
index_out1 = temp1;
}
}
return;
}
struct tint_symbol_1 {
uint3 gl_WorkGroupID_param : SV_GroupID;
};
[numthreads(4, 1, 1)]
void main(tint_symbol_1 tint_symbol) {
const uint3 gl_WorkGroupID_param = tint_symbol.gl_WorkGroupID_param;
gl_WorkGroupID = gl_WorkGroupID_param;
main_1();
return;
}