SPIRV-Cross/reference/shaders-no-opt/asm/loop-header-self-continue-break.asm.comp
Chip Davis 68f0257f26 Use --preserve-numeric-ids when assembling test shaders.
This makes it easier to debug codegen for these shaders.
2023-06-23 14:54:16 -07:00

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 _3_15
{
float _m0[];
} _15;
layout(binding = 1, std430) buffer _3_16
{
float _m0[];
} _16;
uvec3 _14 = gl_WorkGroupSize;
void main()
{
float _38_copy;
float _39;
uint _40;
float _70;
uint _71;
float _32 = _15._m0[0u];
uint _33 = 0u;
float _38;
for (;;)
{
_38 = _32;
_39 = _15._m0[35u];
_40 = 0u;
for (;;)
{
uint _44 = _40 + 1u;
float _46 = _15._m0[_44];
_15._m0[_40] = ((_39 + _38) + _46) / 3.0;
if (!(_40 < 34u))
{
break;
}
else
{
_38_copy = _38;
_38 = _46;
_39 = _38_copy;
_40 = _44;
}
}
_15._m0[35u] = (_32 + (_38 + _15._m0[35u])) / 3.0;
if (!(_33 < 5u))
{
_70 = _15._m0[0u];
_71 = 1u;
break;
}
else
{
_32 = _15._m0[0u];
_33++;
continue;
}
}
float _75;
for (;;)
{
_75 = (_70 < _15._m0[_71]) ? _15._m0[_71] : _70;
if (!(_71 < 35u))
{
break;
}
else
{
_70 = _75;
_71++;
}
}
_16._m0[gl_GlobalInvocationID.x] = _75;
}