blob: 14fc121456f60d60b20eb70e17b84e041494debd [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(t1, space0);
ByteAddressBuffer x_19 : register(t0, 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_58 = gl_WorkGroupID.x;
base_index_in = (128u * x_58);
const uint x_61 = gl_WorkGroupID.x;
base_index_out = (256u * x_61);
index_in0 = 127;
index_in1 = 383;
index_out0 = 255;
index_out1 = 383;
condition_index = 0;
i = 0;
{
for(; (i < 256); i = (i + 1)) {
const int x_72 = asint(x_13.Load((4u * uint(condition_index))));
if ((x_72 == 0)) {
const uint x_77 = base_index_out;
const int x_78 = index_out0;
const int x_86 = asint(x_17.Load((4u * (base_index_in + asuint(index_in0)))));
x_15.Store((4u * (x_77 + asuint(x_78))), asuint(x_86));
index_out0 = (index_out0 - 1);
index_in1 = (index_in1 - 1);
} else {
const uint x_92 = base_index_out;
const int x_93 = index_out1;
const int x_101 = asint(x_19.Load((4u * (base_index_in + asuint(index_in1)))));
x_15.Store((4u * (x_92 + asuint(x_93))), asuint(x_101));
index_out1 = (index_out1 - 1);
index_in1 = (index_in1 - 1);
}
const int x_110 = asint(x_13.Load((4u * uint((condition_index + 1)))));
condition_index = (condition_index + x_110);
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;
}