SPIRV-Cross/reference/shaders-hlsl/asm/frag/unreachable.asm.frag
Chip Davis 5547b25afe Interleave undef values with constants and types.
Undef values may be of struct type and may be used in constants.
Therefore, they must be interleaved with constants and types.

Fixes the rest of the Vulkan CTS test
`dEQP-VK.spirv_assembly.instruction.compute.opundef.undefined_spec_constant_composite`.

(Please excuse the churn in the reference output; it's an inevitable
result of this change.)
2022-11-20 02:08:37 -08:00

45 lines
715 B
GLSL

static float4 _21;
static int counter;
static float4 FragColor;
struct SPIRV_Cross_Input
{
nointerpolation int counter : TEXCOORD0;
};
struct SPIRV_Cross_Output
{
float4 FragColor : SV_Target0;
};
void frag_main()
{
float4 _24;
_24 = _21;
float4 _33;
for (;;)
{
if (counter == 10)
{
_33 = 10.0f.xxxx;
break;
}
else
{
_33 = 30.0f.xxxx;
break;
}
}
FragColor = _33;
}
SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input)
{
counter = stage_input.counter;
frag_main();
SPIRV_Cross_Output stage_output;
stage_output.FragColor = FragColor;
return stage_output;
}