#version 450

layout (location = 0) in vec4 position;
layout (binding = 5) uniform ComponentsBlock
{
    vec4 c1;
    vec2 c2;
} components;

layout (xfb_buffer = 3, xfb_offset = 16) out gl_PerVertex
{
    layout(xfb_stride = 80) vec4 gl_Position;
};

void main()
{
    gl_Position = position + components.c1 + vec4(components.c2, 0.0, 0.0);
}