#pragma MSP stage(vertex) layout(location=0) in vec4 position; void main() { gl_Position = position; gl_Position = position; } #pragma MSP stage(geometry) layout(triangles) in; layout(triangle_strip, max_vertices=3) out; void main() { for(int i=0; i<3; ++i) { passthrough[i]; gl_Position = gl_in[i].gl_Position; EmitVertex(); } } // Target API: Vulkan /* Expected output: vertex layout(location=0) in vec4 position; void main() { gl_Position = position; } */ /* Expected output: geometry layout(triangles) in; layout(triangle_strip, max_vertices=3) out; void main() { for(int i = 0; i<3; ++i) { gl_Position = gl_in[i].gl_Position; EmitVertex(); } } */