uniform mat4 mvp; #pragma MSP stage(vertex) layout(location=0) in vec4 position; layout(location=1) in vec4 offset; vec4 transform_position(vec4 pos) { vec4 pos_1 = offset; return mvp*(pos+pos_1); } void main() { vec4 pos = vec4(0.0); gl_Position = transform_position(pos+position); } /* Expected output: vertex uniform mat4 mvp; layout(location=0) in vec4 position; layout(location=1) in vec4 offset; void main() { gl_Position = mvp*(vec4(0.0)+position+offset); } */