| 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; |
| } |