uniform sampler2D tex; uniform mat4 mvp; #pragma MSP stage(vertex) layout(location=0) in vec4 position; layout(location=1) in vec2 texcoord; void main() { gl_Position = mvp*position; passthrough; } #pragma MSP stage(fragment) layout(location=0) out vec4 frag_color; void main() { frag_color = textureLod(tex, texcoord, 0.0)*0.8; } /* Expected output: vertex uniform mat4 mvp; layout(location=0) in vec4 position; layout(location=1) in vec2 texcoord; out vec2 _vs_out_texcoord; void main() { gl_Position = mvp*position; _vs_out_texcoord = texcoord; } */ /* Expected output: fragment uniform sampler2D tex; layout(location=0) out vec4 frag_color; in vec2 _vs_out_texcoord; void main() { frag_color = textureLod(tex, _vs_out_texcoord, 0.0)*0.8; } */