--- /dev/null
+#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;
+}
+*/