#pragma MSP stage(vertex) layout(location=0) in vec4 position; virtual float get_scale() { return 1.0; } int main() { gl_Position = position*get_scale(); } float get_scale() override { return 2.0; } /* Expected output: vertex layout(location=0) in vec4 position; int main() { gl_Position = position*2.0; } */