-uniform bool flag;
+layout(push_constant) uniform Flag
+{
+ int flag;
+};
uniform sampler2D tex;
#pragma MSP stage(vertex)
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();
}
frag_color = texture(tex, texcoord);
}
+// Target API: Vulkan
+
/* Expected output: vertex
layout(location=0) in vec4 position;
layout(location=0) out vec2 texcoord;
*/
/* Expected output: geometry
-layout(location=0) uniform bool flag;
+layout(push_constant) uniform Flag
+{
+ int flag;
+};
layout(triangles) in;
layout(triangle_strip, max_vertices=3) out;
-layout(location=0) in vec2 texcoord[];
+layout(location=0) in vec2 texcoord[3];
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
-layout(location=1) uniform sampler2D tex;
+layout(set=0, binding=71) uniform sampler2D tex;
layout(location=0) out vec4 frag_color;
layout(location=0) in vec2 _gs_out_texcoord;
void main()