X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=tests%2Fglsl%2Fconditional_multiple_emitvertex.glsl;h=7a2ad7053a75f7f084e9235353e96aefa3f6741c;hb=89d543c07ba80430baebcba19f9a353b25cd8ab4;hp=09bf25d17f49df9ebfa6e6f3dd795329946ab41b;hpb=801c209fa0a2878c0675b7808154de93bc42f5fd;p=libs%2Fgl.git diff --git a/tests/glsl/conditional_multiple_emitvertex.glsl b/tests/glsl/conditional_multiple_emitvertex.glsl index 09bf25d1..7a2ad705 100644 --- a/tests/glsl/conditional_multiple_emitvertex.glsl +++ b/tests/glsl/conditional_multiple_emitvertex.glsl @@ -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);