X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=tests%2Fglsl%2Fconditional_multiple_emitvertex.glsl;h=7a2ad7053a75f7f084e9235353e96aefa3f6741c;hb=89d543c07ba80430baebcba19f9a353b25cd8ab4;hp=375a436650c8d4fdea8bdc08bb490d562fb7b016;hpb=4942472d6429a52ac1f03fbaffd57d011624c54a;p=libs%2Fgl.git diff --git a/tests/glsl/conditional_multiple_emitvertex.glsl b/tests/glsl/conditional_multiple_emitvertex.glsl index 375a4366..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) @@ -15,13 +18,13 @@ 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(triangle_strip, max_vertices=3) out; -in vec2 texcoord[]; -out vec2 _gs_out_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 -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);