d620f1dd26
We would force temporaries in unexpected places, causing assertions to throw if access chains were consumed in such loops.
87 lines
1.6 KiB
GLSL
87 lines
1.6 KiB
GLSL
static float FragColor;
|
|
static float vColor;
|
|
|
|
struct SPIRV_Cross_Input
|
|
{
|
|
float vColor : TEXCOORD0;
|
|
};
|
|
|
|
struct SPIRV_Cross_Output
|
|
{
|
|
float FragColor : SV_Target0;
|
|
};
|
|
|
|
#line 8 "test.frag"
|
|
void frag_main()
|
|
{
|
|
#line 8 "test.frag"
|
|
FragColor = 1.0f;
|
|
#line 9 "test.frag"
|
|
FragColor = 2.0f;
|
|
#line 10 "test.frag"
|
|
if (vColor < 0.0f)
|
|
{
|
|
#line 12 "test.frag"
|
|
FragColor = 3.0f;
|
|
}
|
|
else
|
|
{
|
|
#line 16 "test.frag"
|
|
FragColor = 4.0f;
|
|
}
|
|
for (int _126 = 0; float(_126) < (40.0f + vColor); )
|
|
{
|
|
#line 21 "test.frag"
|
|
FragColor += 0.20000000298023223876953125f;
|
|
#line 22 "test.frag"
|
|
FragColor += 0.300000011920928955078125f;
|
|
_126 += (int(vColor) + 5);
|
|
continue;
|
|
}
|
|
switch (int(vColor))
|
|
{
|
|
case 0:
|
|
{
|
|
#line 28 "test.frag"
|
|
FragColor += 0.20000000298023223876953125f;
|
|
#line 29 "test.frag"
|
|
break;
|
|
}
|
|
case 1:
|
|
{
|
|
#line 32 "test.frag"
|
|
FragColor += 0.4000000059604644775390625f;
|
|
#line 33 "test.frag"
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
#line 36 "test.frag"
|
|
FragColor += 0.800000011920928955078125f;
|
|
#line 37 "test.frag"
|
|
break;
|
|
}
|
|
}
|
|
for (;;)
|
|
{
|
|
FragColor += (10.0f + vColor);
|
|
#line 43 "test.frag"
|
|
if (FragColor < 100.0f)
|
|
{
|
|
}
|
|
else
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input)
|
|
{
|
|
vColor = stage_input.vColor;
|
|
frag_main();
|
|
SPIRV_Cross_Output stage_output;
|
|
stage_output.FragColor = FragColor;
|
|
return stage_output;
|
|
}
|