SPIRV-Cross/reference/shaders-no-opt/asm/loop-header-self-continue-break.asm.comp

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