SPIRV-Cross/reference/shaders/comp/loop.comp

106 lines
1.8 KiB
Plaintext
Raw Normal View History

2016-03-02 17:09:16 +00:00
#version 310 es
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
layout(binding = 0, std430) buffer SSBO
{
mat4 mvp;
vec4 in_data[];
} _24;
layout(binding = 1, std430) buffer SSBO2
{
vec4 out_data[];
} _177;
2016-03-02 17:09:16 +00:00
void main()
{
uint ident = gl_GlobalInvocationID.x;
vec4 idat = _24.in_data[ident];
int k = 0;
uint i = 0u;
if (idat.y == 20.0)
{
do
{
k = k * 2;
i = i + uint(1);
} while (i < ident);
}
switch (k)
{
case 10:
{
for (;;)
{
i = i + uint(1);
if (i > 10u)
{
break;
}
continue;
}
break;
}
default:
{
for (;;)
{
i = i + 2u;
if (i > 20u)
{
break;
}
continue;
}
break;
}
}
while (k < 10)
2016-03-02 17:09:16 +00:00
{
idat = idat * 2.0;
k = k + 1;
2016-03-02 17:09:16 +00:00
}
for (uint i_1 = 0u; i_1 < 16u; i_1 = i_1 + uint(1), k = k + 1)
2016-03-02 17:09:16 +00:00
{
for (uint j = 0u; j < 30u; j = j + uint(1))
2016-03-02 17:09:16 +00:00
{
idat = _24.mvp * idat;
2016-03-02 17:09:16 +00:00
}
}
k = 0;
for (;;)
{
k = k + 1;
if (k > 10)
2016-03-02 17:09:16 +00:00
{
k = k + 2;
2016-03-02 17:09:16 +00:00
}
else
{
k = k + 3;
2016-03-02 17:09:16 +00:00
continue;
}
k = k + 10;
2016-03-02 17:09:16 +00:00
continue;
}
k = 0;
do
{
k = k + 1;
} while (k > 10);
int l = 0;
2016-03-02 17:09:16 +00:00
for (;;)
{
if (l == 5)
2016-03-02 17:09:16 +00:00
{
l = l + 1;
2016-03-02 17:09:16 +00:00
continue;
}
idat = idat + vec4(1.0);
l = l + 1;
2016-03-02 17:09:16 +00:00
continue;
}
_177.out_data[ident] = idat;
2016-03-02 17:09:16 +00:00
}