uniform sampler2D tex; layout(push_constant) uniform Transform { 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; } // Target API: Vulkan /* Expected output: vertex layout(push_constant) uniform Transform { mat4 mvp; }; layout(location=0) in vec4 position; layout(location=1) in vec2 texcoord; layout(location=0) out vec2 _vs_out_texcoord; void main() { gl_Position = mvp*position; _vs_out_texcoord = texcoord; } */ /* Expected output: fragment layout(set=0, binding=71) uniform sampler2D tex; layout(location=0) out vec4 frag_color; layout(location=0) in vec2 _vs_out_texcoord; void main() { frag_color = textureLod(tex, _vs_out_texcoord, 0.0)*0.8; } */