1 layout(push_constant) uniform Transform
7 #pragma MSP stage(vertex)
8 layout(location=0) in vec4 position;
9 layout(location=1) in vec2 texcoord;
10 layout(location=2) in vec4 instance_transform[3];
14 mat4 model_matrix = transpose(mat4(instance_transform[0], instance_transform[1], instance_transform[2], vec4(0.0, 0.0, 0.0, 1.0)));
15 gl_Position = vp_matrix*model_matrix*position;
18 #pragma MSP stage(geometry)
20 layout(triangle_strip, max_vertices=3) out;
23 for(int i=0; i<3; ++i)
30 #pragma MSP stage(fragment)
31 layout(location=0) out vec4 frag_color;
34 frag_color = texture(tex, texcoord);
39 /* Expected output: vertex
40 layout(push_constant) uniform Transform
44 layout(location=0) in vec4 position;
45 layout(location=1) in vec2 texcoord;
46 layout(location=2) in vec4 instance_transform[3];
47 layout(location=0) out vec2 _vs_out_texcoord;
50 _vs_out_texcoord = texcoord;
51 gl_Position = vp_matrix*transpose(mat4(instance_transform[0], instance_transform[1], instance_transform[2], vec4(0.0, 0.0, 0.0, 1.0)))*position;
55 /* Expected output: geometry
57 layout(triangle_strip, max_vertices=3) out;
58 layout(location=0) in vec2 _vs_out_texcoord[3];
59 layout(location=0) out vec2 _gs_out_texcoord;
62 for(int i = 0; i<3; ++i)
64 gl_Position = gl_in[i].gl_Position;
65 _gs_out_texcoord = _vs_out_texcoord[i];
71 /* Expected output: fragment
72 layout(set=0, binding=71) uniform sampler2D tex;
73 layout(location=0) out vec4 frag_color;
74 layout(location=0) in vec2 _gs_out_texcoord;
77 frag_color = texture(tex, _gs_out_texcoord);