SPIRV-Cross/reference/shaders-no-opt/asm/frag/composite-insert-inheritance.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

74 lines
1.5 KiB
GLSL

#version 310 es
precision mediump float;
precision highp int;
vec4 _32;
layout(location = 0) in vec4 vInput;
layout(location = 0) out vec4 FragColor;
void main()
{
vec4 _37 = vInput;
highp vec4 _38 = _37;
_38.x = 1.0;
_38.y = 2.0;
_38.z = 3.0;
_38.w = 4.0;
FragColor = _38;
vec4 _6 = _37;
_6.x = 1.0;
_6.y = 2.0;
_6.z = 3.0;
_6.w = 4.0;
FragColor = _6;
highp vec4 _42 = _37;
_42.x = 1.0;
vec4 _10 = _42;
_10.y = 2.0;
highp vec4 _43 = _10;
_43.z = 3.0;
vec4 _11 = _43;
_11.w = 4.0;
FragColor = _11;
highp vec4 _44 = _37;
_44.x = 1.0;
highp vec4 _45 = _44;
_45.y = 2.0;
vec4 mp_copy_45 = _45;
highp vec4 _46 = _45;
_46.z = 3.0;
highp vec4 _47 = _46;
_47.w = 4.0;
vec4 mp_copy_47 = _47;
FragColor = _47 + _44;
FragColor = mp_copy_47 + mp_copy_45;
highp vec4 _49;
_49.x = 1.0;
_49.y = 2.0;
_49.z = 3.0;
_49.w = 4.0;
FragColor = _49;
highp vec4 _53 = vec4(0.0);
_53.x = 1.0;
FragColor = _53;
highp vec4 _54[2] = vec4[](vec4(0.0), vec4(0.0));
_54[1].z = 1.0;
_54[0].w = 2.0;
FragColor = _54[0];
FragColor = _54[1];
highp mat4 _58 = mat4(vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0));
_58[1].z = 1.0;
_58[2].w = 2.0;
FragColor = _58[0];
FragColor = _58[1];
FragColor = _58[2];
FragColor = _58[3];
highp vec4 PHI;
PHI = _46;
highp vec4 _65 = PHI;
_65.w = 4.0;
FragColor = _65;
}