-uniform bool flag;
+uniform int flag;
uniform sampler2D tex;
#pragma MSP stage(vertex)
#pragma MSP stage(geometry)
layout(triangles) in;
-layout(triangles, max_vertices=3) out;
+layout(triangle_strip, max_vertices=3) out;
void main()
{
passthrough[0];
- if(flag)
+ if(flag!=0)
EmitVertex();
passthrough[1];
- if(flag)
+ if(flag!=0)
EmitVertex();
passthrough[2];
- if(flag)
+ if(flag!=0)
EmitVertex();
}
/* Expected output: vertex
layout(location=0) in vec4 position;
-out vec2 texcoord;
+layout(location=0) out vec2 texcoord;
void main()
{
texcoord = position.xy*0.5+0.5;
*/
/* Expected output: geometry
-uniform bool flag;
+layout(location=0) uniform int flag;
layout(triangles) in;
-layout(triangles, max_vertices=3) out;
-in vec2 texcoord[];
-out vec2 _gs_out_texcoord;
+layout(triangle_strip, max_vertices=3) out;
+layout(location=0) in vec2 texcoord[];
+layout(location=0) out vec2 _gs_out_texcoord;
void main()
{
gl_Position = gl_in[0].gl_Position;
_gs_out_texcoord = texcoord[0];
- if(flag)
+ if(flag!=0)
EmitVertex();
gl_Position = gl_in[1].gl_Position;
_gs_out_texcoord = texcoord[1];
- if(flag)
+ if(flag!=0)
EmitVertex();
gl_Position = gl_in[2].gl_Position;
_gs_out_texcoord = texcoord[2];
- if(flag)
+ if(flag!=0)
EmitVertex();
}
*/
/* Expected output: fragment
-uniform sampler2D tex;
+layout(location=1, binding=71) uniform sampler2D tex;
layout(location=0) out vec4 frag_color;
-in vec2 _gs_out_texcoord;
+layout(location=0) in vec2 _gs_out_texcoord;
void main()
{
frag_color = texture(tex, _gs_out_texcoord);