SPIRV-Cross/reference/opt/shaders-hlsl/frag/switch-unreachable-break.frag

50 lines
960 B
GLSL
Raw Normal View History

cbuffer UBO : register(b0)
{
int _13_cond : packoffset(c0);
int _13_cond2 : packoffset(c0.y);
};
static float4 FragColor;
struct SPIRV_Cross_Output
{
float4 FragColor : SV_Target0;
};
void frag_main()
{
bool _49;
switch (_13_cond)
{
case 1:
{
if (_13_cond2 < 50)
{
_49 = false;
break;
}
else
{
discard;
}
break; // unreachable workaround
}
default:
{
_49 = true;
break;
}
}
bool4 _45 = _49.xxxx;
FragColor = float4(_45.x ? 10.0f.xxxx.x : 20.0f.xxxx.x, _45.y ? 10.0f.xxxx.y : 20.0f.xxxx.y, _45.z ? 10.0f.xxxx.z : 20.0f.xxxx.z, _45.w ? 10.0f.xxxx.w : 20.0f.xxxx.w);
}
SPIRV_Cross_Output main()
{
frag_main();
SPIRV_Cross_Output stage_output;
stage_output.FragColor = FragColor;
return stage_output;
}