SPIRV-Cross/reference/opt/shaders/asm/frag/loop-body-dominator-continue-access.asm.frag

84 lines
2.2 KiB
GLSL
Raw Normal View History

2017-12-05 16:44:52 +00:00
#version 450
2021-06-03 10:00:29 +00:00
#if defined(GL_EXT_control_flow_attributes)
#extension GL_EXT_control_flow_attributes : require
#define SPIRV_CROSS_FLATTEN [[flatten]]
#define SPIRV_CROSS_BRANCH [[dont_flatten]]
#define SPIRV_CROSS_UNROLL [[unroll]]
#define SPIRV_CROSS_LOOP [[dont_unroll]]
#else
#define SPIRV_CROSS_FLATTEN
#define SPIRV_CROSS_BRANCH
#define SPIRV_CROSS_UNROLL
#define SPIRV_CROSS_LOOP
#endif
2017-12-05 16:44:52 +00:00
layout(binding = 0, std140) uniform Foo
{
layout(row_major) mat4 lightVP[64];
uint shadowCascadesNum;
int test;
} _11;
layout(location = 0) in vec3 fragWorld;
layout(location = 0) out int _entryPointOutput;
int _231;
2018-03-24 03:16:18 +00:00
mat4 spvWorkaroundRowMajor(mat4 wrap) { return wrap; }
2018-03-24 03:16:18 +00:00
void main()
2017-12-05 16:44:52 +00:00
{
int _228;
do
2017-12-05 16:44:52 +00:00
{
bool _225;
int _229;
uint _222 = 0u;
for (;;)
2017-12-05 16:44:52 +00:00
{
2021-06-03 10:00:29 +00:00
SPIRV_CROSS_UNROLL
if (_222 < _11.shadowCascadesNum)
2018-03-24 03:16:18 +00:00
{
mat4 _223;
do
{
if (_11.test == 0)
{
_223 = mat4(vec4(0.5, 0.0, 0.0, 0.0), vec4(0.0, 0.5, 0.0, 0.0), vec4(0.0, 0.0, 0.5, 0.0), vec4(0.0, 0.0, 0.0, 1.0));
break;
}
_223 = mat4(vec4(1.0, 0.0, 0.0, 0.0), vec4(0.0, 1.0, 0.0, 0.0), vec4(0.0, 0.0, 1.0, 0.0), vec4(0.0, 0.0, 0.0, 1.0));
break;
} while(false);
vec4 _170 = (_223 * spvWorkaroundRowMajor(_11.lightVP[_222])) * vec4(fragWorld, 1.0);
float _172 = _170.z;
float _179 = _170.x;
float _181 = _170.y;
if ((((_172 >= 0.0) && (_172 <= 1.0)) && (max(_179, _181) <= 1.0)) && (min(_179, _181) >= 0.0))
{
_229 = int(_222);
_225 = true;
break;
}
_222++;
continue;
}
else
{
_229 = _231;
_225 = false;
break;
2018-03-24 03:16:18 +00:00
}
2017-12-05 16:44:52 +00:00
}
if (_225)
{
_228 = _229;
break;
}
_228 = -1;
break;
} while(false);
_entryPointOutput = _228;
2017-12-05 16:44:52 +00:00
}