#version 450 #ifndef SPIRV_CROSS_CONSTANT_ID_0 #define SPIRV_CROSS_CONSTANT_ID_0 1u #endif #ifndef SPIRV_CROSS_CONSTANT_ID_1 #define SPIRV_CROSS_CONSTANT_ID_1 1u #endif #ifndef SPIRV_CROSS_CONSTANT_ID_2 #define SPIRV_CROSS_CONSTANT_ID_2 1u #endif layout(local_size_x = SPIRV_CROSS_CONSTANT_ID_0, local_size_y = SPIRV_CROSS_CONSTANT_ID_1, local_size_z = SPIRV_CROSS_CONSTANT_ID_2) in; layout(binding = 0, std430) buffer _4_6 { float _m0[]; } _6; layout(binding = 1, std430) buffer _4_7 { float _m0[]; } _7; uvec3 _28 = gl_WorkGroupSize; void main() { float _44_copy; float _46; uint _47; float _63; uint _65; float _36 = _6._m0[0u]; uint _39 = 0u; float _44; for (;;) { _44 = _36; _46 = _6._m0[35u]; _47 = 0u; for (;;) { uint _48 = _47 + 1u; float _45 = _6._m0[_48]; _6._m0[_47] = ((_46 + _44) + _45) / 3.0; if (!(_47 < 34u)) { break; } else { _44_copy = _44; _44 = _45; _46 = _44_copy; _47 = _48; } } _6._m0[35u] = (_36 + (_44 + _6._m0[35u])) / 3.0; if (!(_39 < 5u)) { _63 = _6._m0[0u]; _65 = 1u; break; } else { _36 = _6._m0[0u]; _39++; continue; } } float _64; for (;;) { _64 = (_63 < _6._m0[_65]) ? _6._m0[_65] : _63; if (!(_65 < 35u)) { break; } else { _63 = _64; _65++; } } _7._m0[gl_GlobalInvocationID.x] = _64; }