90 lines
1.7 KiB
Plaintext
90 lines
1.7 KiB
Plaintext
#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;
|
|
}
|
|
|