]> git.tdb.fi Git - libs/gl.git/blob - tests/glsl/multiple_emitvertex.glsl
Check the flat qualifier from the correct member
[libs/gl.git] / tests / glsl / multiple_emitvertex.glsl
1 uniform sampler2D tex;
2
3 #pragma MSP stage(vertex)
4 layout(location=0) in vec4 position;
5 void main()
6 {
7         out vec2 texcoord = position.xy*0.5+0.5;
8         gl_Position = position;
9 }
10
11 #pragma MSP stage(geometry)
12 layout(triangles) in;
13 layout(triangle_strip, max_vertices=3) out;
14 void main()
15 {
16         passthrough[0];
17         EmitVertex();
18         passthrough[1];
19         EmitVertex();
20         passthrough[2];
21         EmitVertex();
22 }
23
24 #pragma MSP stage(fragment)
25 layout(location=0) out vec4 frag_color;
26 void main()
27 {
28         frag_color = texture(tex, texcoord);
29 }
30
31 // Target API: Vulkan
32
33 /* Expected output: vertex
34 layout(location=0) in vec4 position;
35 layout(location=0) out vec2 texcoord;
36 void main()
37 {
38         texcoord = position.xy*0.5+0.5;
39         gl_Position = position;
40 }
41 */
42
43 /* Expected output: geometry
44 layout(triangles) in;
45 layout(triangle_strip, max_vertices=3) out;
46 layout(location=0) in vec2 texcoord[3];
47 layout(location=0) out vec2 _gs_out_texcoord;
48 void main()
49 {
50         gl_Position = gl_in[0].gl_Position;
51         _gs_out_texcoord = texcoord[0];
52         EmitVertex();
53         gl_Position = gl_in[1].gl_Position;
54         _gs_out_texcoord = texcoord[1];
55         EmitVertex();
56         gl_Position = gl_in[2].gl_Position;
57         _gs_out_texcoord = texcoord[2];
58         EmitVertex();
59 }
60 */
61
62 /* Expected output: fragment
63 layout(set=0, binding=71) uniform sampler2D tex;
64 layout(location=0) out vec4 frag_color;
65 layout(location=0) in vec2 _gs_out_texcoord;
66 void main()
67 {
68         frag_color = texture(tex, _gs_out_texcoord);
69 }
70 */