#pragma MSP stage(vertex) layout(location=0) in vec4 position; out float gl_ClipDistance[1]; void main() { gl_ClipDistance[0] = dot(position.xyz, vec3(0.0, 0.0, 1.0)); gl_Position = position; } /* Expected output: vertex out gl_PerVertex { vec4 gl_Position; float gl_PointSize; float gl_ClipDistance[1]; }; layout(location=0) in vec4 position; void main() { gl_ClipDistance[0] = dot(position.xyz, vec3(0.0, 0.0, 1.0)); gl_Position = position; } */