#pragma MSP stage(vertex) layout(location=0) in vec4 position; layout(location=1) in float scale; float func() { float s = scale*2.0; return s*s; } void main() { if(func()>1.0) gl_Position = position; } /* Expected output: vertex layout(location=0) in vec4 position; layout(location=1) in float scale; void main() { float s = scale*2.0; if(s*s>1.0) gl_Position = position; } */