]> git.tdb.fi Git - libs/gl.git/blobdiff - tests/glsl/conditional_multiple_emitvertex.glsl
Fix GLSL test cases so they pass the basic tests
[libs/gl.git] / tests / glsl / conditional_multiple_emitvertex.glsl
index 09bf25d17f49df9ebfa6e6f3dd795329946ab41b..7a2ad7053a75f7f084e9235353e96aefa3f6741c 100644 (file)
@@ -1,4 +1,7 @@
-uniform bool flag;
+layout(push_constant) uniform Flag
+{
+       int flag;
+};
 uniform sampler2D tex;
 
 #pragma MSP stage(vertex)
@@ -11,17 +14,17 @@ void main()
 
 #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();
 }
 
@@ -32,9 +35,11 @@ void main()
        frag_color = texture(tex, texcoord);
 }
 
+// Target API: Vulkan
+
 /* 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;
@@ -43,32 +48,35 @@ void main()
 */
 
 /* Expected output: geometry
-uniform bool flag;
+layout(push_constant) uniform Flag
+{
+       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[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
-uniform sampler2D tex;
+layout(set=0, 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);