SPIRV-Cross/reference/shaders-no-opt/asm/frag/phi.zero-initialize.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

31 lines
423 B
GLSL

#version 450
int uninit_int = 0;
ivec4 uninit_vector = ivec4(0);
mat4 uninit_matrix = mat4(vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
struct Foo
{
int a;
};
Foo uninit_foo = Foo(0);
layout(location = 0) in vec4 vColor;
layout(location = 0) out vec4 FragColor;
void main()
{
int _39 = 0;
if (vColor.x > 10.0)
{
_39 = 10;
}
else
{
_39 = 20;
}
FragColor = vColor;
}