GLSL: fix Select op with a bool vector condition.

The fix is in the mix().

Bug: tint:1429
Change-Id: Id128ead6b124cd364f45a860ad991977be94be5b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/80660
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
This commit is contained in:
Stephen White 2022-02-15 20:00:27 +00:00 committed by Tint LUCI CQ
parent 5f6a185d02
commit 4a15605be7
21 changed files with 55 additions and 774 deletions

View File

@ -818,6 +818,24 @@ bool GeneratorImpl::EmitSelectCall(std::ostream& out,
auto* expr_false = expr->args[0]; auto* expr_false = expr->args[0];
auto* expr_true = expr->args[1]; auto* expr_true = expr->args[1];
auto* expr_cond = expr->args[2]; auto* expr_cond = expr->args[2];
// GLSL does not support ternary expressions with a bool vector conditional,
// but it does support mix() with same.
if (TypeOf(expr_cond)->UnwrapRef()->is_bool_vector()) {
out << "mix(";
if (!EmitExpression(out, expr_false)) {
return false;
}
out << ", ";
if (!EmitExpression(out, expr_true)) {
return false;
}
out << ", ";
if (!EmitExpression(out, expr_cond)) {
return false;
}
out << ")";
return true;
}
ScopedParen paren(out); ScopedParen paren(out);
if (!EmitExpression(out, expr_cond)) { if (!EmitExpression(out, expr_cond)) {
return false; return false;

View File

@ -287,7 +287,7 @@ TEST_F(GlslGeneratorImplTest_Builtin, Select_Vector) {
gen.increment_indent(); gen.increment_indent();
std::stringstream out; std::stringstream out;
ASSERT_TRUE(gen.EmitExpression(out, call)) << gen.error(); ASSERT_TRUE(gen.EmitExpression(out, call)) << gen.error();
EXPECT_EQ(out.str(), "(bvec2(true, false) ? ivec2(3, 4) : ivec2(1, 2))"); EXPECT_EQ(out.str(), "mix(ivec2(1, 2), ivec2(3, 4), bvec2(true, false))");
} }
TEST_F(GlslGeneratorImplTest_Builtin, Modf_Scalar) { TEST_F(GlslGeneratorImplTest_Builtin, Modf_Scalar) {

View File

@ -1,9 +1,7 @@
SKIP: FAILED
#version 310 es #version 310 es
void select_00b848() { void select_00b848() {
ivec2 res = (bvec2(false, false) ? ivec2(0, 0) : ivec2(0, 0)); ivec2 res = mix(ivec2(0, 0), ivec2(0, 0), bvec2(false, false));
} }
vec4 vertex_main() { vec4 vertex_main() {
@ -18,18 +16,11 @@ void main() {
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w); gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:4: '' : boolean expression expected
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es #version 310 es
precision mediump float; precision mediump float;
void select_00b848() { void select_00b848() {
ivec2 res = (bvec2(false, false) ? ivec2(0, 0) : ivec2(0, 0)); ivec2 res = mix(ivec2(0, 0), ivec2(0, 0), bvec2(false, false));
} }
void fragment_main() { void fragment_main() {
@ -40,17 +31,10 @@ void main() {
fragment_main(); fragment_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:5: '' : boolean expression expected
ERROR: 0:5: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es #version 310 es
void select_00b848() { void select_00b848() {
ivec2 res = (bvec2(false, false) ? ivec2(0, 0) : ivec2(0, 0)); ivec2 res = mix(ivec2(0, 0), ivec2(0, 0), bvec2(false, false));
} }
void compute_main() { void compute_main() {
@ -62,10 +46,3 @@ void main() {
compute_main(); compute_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:4: '' : boolean expression expected
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,9 +1,7 @@
SKIP: FAILED
#version 310 es #version 310 es
void select_01e2cd() { void select_01e2cd() {
ivec3 res = (bvec3(false, false, false) ? ivec3(0, 0, 0) : ivec3(0, 0, 0)); ivec3 res = mix(ivec3(0, 0, 0), ivec3(0, 0, 0), bvec3(false, false, false));
} }
vec4 vertex_main() { vec4 vertex_main() {
@ -18,18 +16,11 @@ void main() {
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w); gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:4: '' : boolean expression expected
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es #version 310 es
precision mediump float; precision mediump float;
void select_01e2cd() { void select_01e2cd() {
ivec3 res = (bvec3(false, false, false) ? ivec3(0, 0, 0) : ivec3(0, 0, 0)); ivec3 res = mix(ivec3(0, 0, 0), ivec3(0, 0, 0), bvec3(false, false, false));
} }
void fragment_main() { void fragment_main() {
@ -40,17 +31,10 @@ void main() {
fragment_main(); fragment_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:5: '' : boolean expression expected
ERROR: 0:5: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es #version 310 es
void select_01e2cd() { void select_01e2cd() {
ivec3 res = (bvec3(false, false, false) ? ivec3(0, 0, 0) : ivec3(0, 0, 0)); ivec3 res = mix(ivec3(0, 0, 0), ivec3(0, 0, 0), bvec3(false, false, false));
} }
void compute_main() { void compute_main() {
@ -62,10 +46,3 @@ void main() {
compute_main(); compute_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:4: '' : boolean expression expected
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,9 +1,7 @@
SKIP: FAILED
#version 310 es #version 310 es
void select_1e960b() { void select_1e960b() {
uvec2 res = (bvec2(false, false) ? uvec2(0u, 0u) : uvec2(0u, 0u)); uvec2 res = mix(uvec2(0u, 0u), uvec2(0u, 0u), bvec2(false, false));
} }
vec4 vertex_main() { vec4 vertex_main() {
@ -18,18 +16,11 @@ void main() {
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w); gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:4: '' : boolean expression expected
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es #version 310 es
precision mediump float; precision mediump float;
void select_1e960b() { void select_1e960b() {
uvec2 res = (bvec2(false, false) ? uvec2(0u, 0u) : uvec2(0u, 0u)); uvec2 res = mix(uvec2(0u, 0u), uvec2(0u, 0u), bvec2(false, false));
} }
void fragment_main() { void fragment_main() {
@ -40,17 +31,10 @@ void main() {
fragment_main(); fragment_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:5: '' : boolean expression expected
ERROR: 0:5: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es #version 310 es
void select_1e960b() { void select_1e960b() {
uvec2 res = (bvec2(false, false) ? uvec2(0u, 0u) : uvec2(0u, 0u)); uvec2 res = mix(uvec2(0u, 0u), uvec2(0u, 0u), bvec2(false, false));
} }
void compute_main() { void compute_main() {
@ -62,10 +46,3 @@ void main() {
compute_main(); compute_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:4: '' : boolean expression expected
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,9 +1,7 @@
SKIP: FAILED
#version 310 es #version 310 es
void select_266aff() { void select_266aff() {
vec2 res = (bvec2(false, false) ? vec2(0.0f, 0.0f) : vec2(0.0f, 0.0f)); vec2 res = mix(vec2(0.0f, 0.0f), vec2(0.0f, 0.0f), bvec2(false, false));
} }
vec4 vertex_main() { vec4 vertex_main() {
@ -18,18 +16,11 @@ void main() {
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w); gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:4: '' : boolean expression expected
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es #version 310 es
precision mediump float; precision mediump float;
void select_266aff() { void select_266aff() {
vec2 res = (bvec2(false, false) ? vec2(0.0f, 0.0f) : vec2(0.0f, 0.0f)); vec2 res = mix(vec2(0.0f, 0.0f), vec2(0.0f, 0.0f), bvec2(false, false));
} }
void fragment_main() { void fragment_main() {
@ -40,17 +31,10 @@ void main() {
fragment_main(); fragment_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:5: '' : boolean expression expected
ERROR: 0:5: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es #version 310 es
void select_266aff() { void select_266aff() {
vec2 res = (bvec2(false, false) ? vec2(0.0f, 0.0f) : vec2(0.0f, 0.0f)); vec2 res = mix(vec2(0.0f, 0.0f), vec2(0.0f, 0.0f), bvec2(false, false));
} }
void compute_main() { void compute_main() {
@ -62,10 +46,3 @@ void main() {
compute_main(); compute_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:4: '' : boolean expression expected
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,9 +1,7 @@
SKIP: FAILED
#version 310 es #version 310 es
void select_28a27e() { void select_28a27e() {
uvec3 res = (bvec3(false, false, false) ? uvec3(0u, 0u, 0u) : uvec3(0u, 0u, 0u)); uvec3 res = mix(uvec3(0u, 0u, 0u), uvec3(0u, 0u, 0u), bvec3(false, false, false));
} }
vec4 vertex_main() { vec4 vertex_main() {
@ -18,18 +16,11 @@ void main() {
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w); gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:4: '' : boolean expression expected
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es #version 310 es
precision mediump float; precision mediump float;
void select_28a27e() { void select_28a27e() {
uvec3 res = (bvec3(false, false, false) ? uvec3(0u, 0u, 0u) : uvec3(0u, 0u, 0u)); uvec3 res = mix(uvec3(0u, 0u, 0u), uvec3(0u, 0u, 0u), bvec3(false, false, false));
} }
void fragment_main() { void fragment_main() {
@ -40,17 +31,10 @@ void main() {
fragment_main(); fragment_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:5: '' : boolean expression expected
ERROR: 0:5: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es #version 310 es
void select_28a27e() { void select_28a27e() {
uvec3 res = (bvec3(false, false, false) ? uvec3(0u, 0u, 0u) : uvec3(0u, 0u, 0u)); uvec3 res = mix(uvec3(0u, 0u, 0u), uvec3(0u, 0u, 0u), bvec3(false, false, false));
} }
void compute_main() { void compute_main() {
@ -62,10 +46,3 @@ void main() {
compute_main(); compute_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:4: '' : boolean expression expected
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,9 +1,7 @@
SKIP: FAILED
#version 310 es #version 310 es
void select_80a9a9() { void select_80a9a9() {
bvec3 res = (bvec3(false, false, false) ? bvec3(false, false, false) : bvec3(false, false, false)); bvec3 res = mix(bvec3(false, false, false), bvec3(false, false, false), bvec3(false, false, false));
} }
vec4 vertex_main() { vec4 vertex_main() {
@ -18,18 +16,11 @@ void main() {
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w); gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:4: '' : boolean expression expected
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es #version 310 es
precision mediump float; precision mediump float;
void select_80a9a9() { void select_80a9a9() {
bvec3 res = (bvec3(false, false, false) ? bvec3(false, false, false) : bvec3(false, false, false)); bvec3 res = mix(bvec3(false, false, false), bvec3(false, false, false), bvec3(false, false, false));
} }
void fragment_main() { void fragment_main() {
@ -40,17 +31,10 @@ void main() {
fragment_main(); fragment_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:5: '' : boolean expression expected
ERROR: 0:5: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es #version 310 es
void select_80a9a9() { void select_80a9a9() {
bvec3 res = (bvec3(false, false, false) ? bvec3(false, false, false) : bvec3(false, false, false)); bvec3 res = mix(bvec3(false, false, false), bvec3(false, false, false), bvec3(false, false, false));
} }
void compute_main() { void compute_main() {
@ -62,10 +46,3 @@ void main() {
compute_main(); compute_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:4: '' : boolean expression expected
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,9 +1,7 @@
SKIP: FAILED
#version 310 es #version 310 es
void select_a2860e() { void select_a2860e() {
ivec4 res = (bvec4(false, false, false, false) ? ivec4(0, 0, 0, 0) : ivec4(0, 0, 0, 0)); ivec4 res = mix(ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0), bvec4(false, false, false, false));
} }
vec4 vertex_main() { vec4 vertex_main() {
@ -18,18 +16,11 @@ void main() {
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w); gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:4: '' : boolean expression expected
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es #version 310 es
precision mediump float; precision mediump float;
void select_a2860e() { void select_a2860e() {
ivec4 res = (bvec4(false, false, false, false) ? ivec4(0, 0, 0, 0) : ivec4(0, 0, 0, 0)); ivec4 res = mix(ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0), bvec4(false, false, false, false));
} }
void fragment_main() { void fragment_main() {
@ -40,17 +31,10 @@ void main() {
fragment_main(); fragment_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:5: '' : boolean expression expected
ERROR: 0:5: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es #version 310 es
void select_a2860e() { void select_a2860e() {
ivec4 res = (bvec4(false, false, false, false) ? ivec4(0, 0, 0, 0) : ivec4(0, 0, 0, 0)); ivec4 res = mix(ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0), bvec4(false, false, false, false));
} }
void compute_main() { void compute_main() {
@ -62,10 +46,3 @@ void main() {
compute_main(); compute_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:4: '' : boolean expression expected
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,9 +1,7 @@
SKIP: FAILED
#version 310 es #version 310 es
void select_bb8aae() { void select_bb8aae() {
vec4 res = (bvec4(false, false, false, false) ? vec4(0.0f, 0.0f, 0.0f, 0.0f) : vec4(0.0f, 0.0f, 0.0f, 0.0f)); vec4 res = mix(vec4(0.0f, 0.0f, 0.0f, 0.0f), vec4(0.0f, 0.0f, 0.0f, 0.0f), bvec4(false, false, false, false));
} }
vec4 vertex_main() { vec4 vertex_main() {
@ -18,18 +16,11 @@ void main() {
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w); gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:4: '' : boolean expression expected
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es #version 310 es
precision mediump float; precision mediump float;
void select_bb8aae() { void select_bb8aae() {
vec4 res = (bvec4(false, false, false, false) ? vec4(0.0f, 0.0f, 0.0f, 0.0f) : vec4(0.0f, 0.0f, 0.0f, 0.0f)); vec4 res = mix(vec4(0.0f, 0.0f, 0.0f, 0.0f), vec4(0.0f, 0.0f, 0.0f, 0.0f), bvec4(false, false, false, false));
} }
void fragment_main() { void fragment_main() {
@ -40,17 +31,10 @@ void main() {
fragment_main(); fragment_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:5: '' : boolean expression expected
ERROR: 0:5: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es #version 310 es
void select_bb8aae() { void select_bb8aae() {
vec4 res = (bvec4(false, false, false, false) ? vec4(0.0f, 0.0f, 0.0f, 0.0f) : vec4(0.0f, 0.0f, 0.0f, 0.0f)); vec4 res = mix(vec4(0.0f, 0.0f, 0.0f, 0.0f), vec4(0.0f, 0.0f, 0.0f, 0.0f), bvec4(false, false, false, false));
} }
void compute_main() { void compute_main() {
@ -62,10 +46,3 @@ void main() {
compute_main(); compute_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:4: '' : boolean expression expected
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,9 +1,7 @@
SKIP: FAILED
#version 310 es #version 310 es
void select_c4a4ef() { void select_c4a4ef() {
uvec4 res = (bvec4(false, false, false, false) ? uvec4(0u, 0u, 0u, 0u) : uvec4(0u, 0u, 0u, 0u)); uvec4 res = mix(uvec4(0u, 0u, 0u, 0u), uvec4(0u, 0u, 0u, 0u), bvec4(false, false, false, false));
} }
vec4 vertex_main() { vec4 vertex_main() {
@ -18,18 +16,11 @@ void main() {
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w); gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:4: '' : boolean expression expected
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es #version 310 es
precision mediump float; precision mediump float;
void select_c4a4ef() { void select_c4a4ef() {
uvec4 res = (bvec4(false, false, false, false) ? uvec4(0u, 0u, 0u, 0u) : uvec4(0u, 0u, 0u, 0u)); uvec4 res = mix(uvec4(0u, 0u, 0u, 0u), uvec4(0u, 0u, 0u, 0u), bvec4(false, false, false, false));
} }
void fragment_main() { void fragment_main() {
@ -40,17 +31,10 @@ void main() {
fragment_main(); fragment_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:5: '' : boolean expression expected
ERROR: 0:5: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es #version 310 es
void select_c4a4ef() { void select_c4a4ef() {
uvec4 res = (bvec4(false, false, false, false) ? uvec4(0u, 0u, 0u, 0u) : uvec4(0u, 0u, 0u, 0u)); uvec4 res = mix(uvec4(0u, 0u, 0u, 0u), uvec4(0u, 0u, 0u, 0u), bvec4(false, false, false, false));
} }
void compute_main() { void compute_main() {
@ -62,10 +46,3 @@ void main() {
compute_main(); compute_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:4: '' : boolean expression expected
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,9 +1,7 @@
SKIP: FAILED
#version 310 es #version 310 es
void select_cb9301() { void select_cb9301() {
bvec2 res = (bvec2(false, false) ? bvec2(false, false) : bvec2(false, false)); bvec2 res = mix(bvec2(false, false), bvec2(false, false), bvec2(false, false));
} }
vec4 vertex_main() { vec4 vertex_main() {
@ -18,18 +16,11 @@ void main() {
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w); gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:4: '' : boolean expression expected
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es #version 310 es
precision mediump float; precision mediump float;
void select_cb9301() { void select_cb9301() {
bvec2 res = (bvec2(false, false) ? bvec2(false, false) : bvec2(false, false)); bvec2 res = mix(bvec2(false, false), bvec2(false, false), bvec2(false, false));
} }
void fragment_main() { void fragment_main() {
@ -40,17 +31,10 @@ void main() {
fragment_main(); fragment_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:5: '' : boolean expression expected
ERROR: 0:5: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es #version 310 es
void select_cb9301() { void select_cb9301() {
bvec2 res = (bvec2(false, false) ? bvec2(false, false) : bvec2(false, false)); bvec2 res = mix(bvec2(false, false), bvec2(false, false), bvec2(false, false));
} }
void compute_main() { void compute_main() {
@ -62,10 +46,3 @@ void main() {
compute_main(); compute_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:4: '' : boolean expression expected
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,9 +1,7 @@
SKIP: FAILED
#version 310 es #version 310 es
void select_e3e028() { void select_e3e028() {
bvec4 res = (bvec4(false, false, false, false) ? bvec4(false, false, false, false) : bvec4(false, false, false, false)); bvec4 res = mix(bvec4(false, false, false, false), bvec4(false, false, false, false), bvec4(false, false, false, false));
} }
vec4 vertex_main() { vec4 vertex_main() {
@ -18,18 +16,11 @@ void main() {
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w); gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:4: '' : boolean expression expected
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es #version 310 es
precision mediump float; precision mediump float;
void select_e3e028() { void select_e3e028() {
bvec4 res = (bvec4(false, false, false, false) ? bvec4(false, false, false, false) : bvec4(false, false, false, false)); bvec4 res = mix(bvec4(false, false, false, false), bvec4(false, false, false, false), bvec4(false, false, false, false));
} }
void fragment_main() { void fragment_main() {
@ -40,17 +31,10 @@ void main() {
fragment_main(); fragment_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:5: '' : boolean expression expected
ERROR: 0:5: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es #version 310 es
void select_e3e028() { void select_e3e028() {
bvec4 res = (bvec4(false, false, false, false) ? bvec4(false, false, false, false) : bvec4(false, false, false, false)); bvec4 res = mix(bvec4(false, false, false, false), bvec4(false, false, false, false), bvec4(false, false, false, false));
} }
void compute_main() { void compute_main() {
@ -62,10 +46,3 @@ void main() {
compute_main(); compute_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:4: '' : boolean expression expected
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,9 +1,7 @@
SKIP: FAILED
#version 310 es #version 310 es
void select_ebfea2() { void select_ebfea2() {
vec3 res = (bvec3(false, false, false) ? vec3(0.0f, 0.0f, 0.0f) : vec3(0.0f, 0.0f, 0.0f)); vec3 res = mix(vec3(0.0f, 0.0f, 0.0f), vec3(0.0f, 0.0f, 0.0f), bvec3(false, false, false));
} }
vec4 vertex_main() { vec4 vertex_main() {
@ -18,18 +16,11 @@ void main() {
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w); gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:4: '' : boolean expression expected
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es #version 310 es
precision mediump float; precision mediump float;
void select_ebfea2() { void select_ebfea2() {
vec3 res = (bvec3(false, false, false) ? vec3(0.0f, 0.0f, 0.0f) : vec3(0.0f, 0.0f, 0.0f)); vec3 res = mix(vec3(0.0f, 0.0f, 0.0f), vec3(0.0f, 0.0f, 0.0f), bvec3(false, false, false));
} }
void fragment_main() { void fragment_main() {
@ -40,17 +31,10 @@ void main() {
fragment_main(); fragment_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:5: '' : boolean expression expected
ERROR: 0:5: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es #version 310 es
void select_ebfea2() { void select_ebfea2() {
vec3 res = (bvec3(false, false, false) ? vec3(0.0f, 0.0f, 0.0f) : vec3(0.0f, 0.0f, 0.0f)); vec3 res = mix(vec3(0.0f, 0.0f, 0.0f), vec3(0.0f, 0.0f, 0.0f), bvec3(false, false, false));
} }
void compute_main() { void compute_main() {
@ -62,10 +46,3 @@ void main() {
compute_main(); compute_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:4: '' : boolean expression expected
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,25 +0,0 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void main_1() {
uvec2 x_1 = (bvec2(true, false) ? uvec2(10u, 20u) : uvec2(20u, 10u));
return;
}
void tint_symbol() {
main_1();
}
void main() {
tint_symbol();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: '' : boolean expression expected
ERROR: 0:5: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,47 +0,0 @@
SKIP: FAILED
#version 310 es
precision mediump float;
layout(location = 0) out vec4 x_GLF_color_1_1;
struct buf0 {
vec2 injectionSwitch;
};
layout(binding = 0) uniform buf0_1 {
vec2 injectionSwitch;
} x_5;
vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
void main_1() {
vec2 x_29 = x_5.injectionSwitch;
if (((bvec2(false, false) ? vec2(1.0f, 1.0f) : x_29).x == 0.0f)) {
x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
} else {
x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
}
return;
}
struct main_out {
vec4 x_GLF_color_1;
};
main_out tint_symbol() {
main_1();
main_out tint_symbol_1 = main_out(x_GLF_color);
return tint_symbol_1;
}
void main() {
main_out inner_result = tint_symbol();
x_GLF_color_1_1 = inner_result.x_GLF_color_1;
return;
}
Error parsing GLSL shader:
ERROR: 0:16: '' : boolean expression expected
ERROR: 0:16: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,47 +0,0 @@
SKIP: FAILED
#version 310 es
precision mediump float;
layout(location = 0) out vec4 x_GLF_color_1_1;
struct buf0 {
vec2 injectionSwitch;
};
layout(binding = 0) uniform buf0_1 {
vec2 injectionSwitch;
} x_5;
vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
void main_1() {
vec2 x_29 = x_5.injectionSwitch;
if (((bvec2(false, false) ? vec2(1.0f, 1.0f) : x_29).x == 0.0f)) {
x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
} else {
x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
}
return;
}
struct main_out {
vec4 x_GLF_color_1;
};
main_out tint_symbol() {
main_1();
main_out tint_symbol_1 = main_out(x_GLF_color);
return tint_symbol_1;
}
void main() {
main_out inner_result = tint_symbol();
x_GLF_color_1_1 = inner_result.x_GLF_color_1;
return;
}
Error parsing GLSL shader:
ERROR: 0:16: '' : boolean expression expected
ERROR: 0:16: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,52 +0,0 @@
SKIP: FAILED
#version 310 es
precision mediump float;
layout(location = 0) out vec4 x_GLF_color_1_1;
struct buf0 {
vec2 threeandfour;
};
layout(binding = 0) uniform buf0_1 {
vec2 threeandfour;
} x_6;
vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
void main_1() {
vec4 v = vec4(0.0f, 0.0f, 0.0f, 0.0f);
v = vec4(2.0f, 3.0f, 4.0f, 5.0f);
float x_40 = x_6.threeandfour.y;
vec2 x_42 = (bvec2(true, false) ? vec2(1.0f, x_40) : vec2(2.0f, 6.0f));
vec4 x_43 = v;
v = vec4(x_42.x, x_42.y, x_43.z, x_43.w);
if (all(equal(v, vec4(1.0f, 6.0f, 4.0f, 5.0f)))) {
x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
} else {
x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
}
return;
}
struct main_out {
vec4 x_GLF_color_1;
};
main_out tint_symbol() {
main_1();
main_out tint_symbol_1 = main_out(x_GLF_color);
return tint_symbol_1;
}
void main() {
main_out inner_result = tint_symbol();
x_GLF_color_1_1 = inner_result.x_GLF_color_1;
return;
}
Error parsing GLSL shader:
ERROR: 0:18: '' : boolean expression expected
ERROR: 0:18: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,52 +0,0 @@
SKIP: FAILED
#version 310 es
precision mediump float;
layout(location = 0) out vec4 x_GLF_color_1_1;
struct buf0 {
vec2 threeandfour;
};
layout(binding = 0) uniform buf0_1 {
vec2 threeandfour;
} x_6;
vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
void main_1() {
vec4 v = vec4(0.0f, 0.0f, 0.0f, 0.0f);
v = vec4(2.0f, 3.0f, 4.0f, 5.0f);
float x_40 = x_6.threeandfour.y;
vec2 x_42 = (bvec2(true, false) ? vec2(1.0f, x_40) : vec2(2.0f, 6.0f));
vec4 x_43 = v;
v = vec4(x_42.x, x_42.y, x_43.z, x_43.w);
if (all(equal(v, vec4(1.0f, 6.0f, 4.0f, 5.0f)))) {
x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
} else {
x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
}
return;
}
struct main_out {
vec4 x_GLF_color_1;
};
main_out tint_symbol() {
main_1();
main_out tint_symbol_1 = main_out(x_GLF_color);
return tint_symbol_1;
}
void main() {
main_out inner_result = tint_symbol();
x_GLF_color_1_1 = inner_result.x_GLF_color_1;
return;
}
Error parsing GLSL shader:
ERROR: 0:18: '' : boolean expression expected
ERROR: 0:18: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,115 +0,0 @@
SKIP: FAILED
#version 310 es
precision mediump float;
layout(location = 0) out vec4 x_GLF_color_1_1;
struct strided_arr {
int el;
};
struct buf1 {
strided_arr x_GLF_uniform_int_values[3];
};
struct strided_arr_1 {
float el;
};
struct buf0 {
strided_arr_1 x_GLF_uniform_float_values[2];
};
layout(binding = 1) uniform buf1_1 {
strided_arr x_GLF_uniform_int_values[3];
} x_6;
layout(binding = 0) uniform buf0_1 {
strided_arr_1 x_GLF_uniform_float_values[2];
} x_10;
vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
void main_1() {
int A[2] = int[2](0, 0);
int i = 0;
int a = 0;
vec2 v1 = vec2(0.0f, 0.0f);
vec2 v2 = vec2(0.0f, 0.0f);
int b = 0;
int x_46 = x_6.x_GLF_uniform_int_values[2].el;
int x_48 = x_6.x_GLF_uniform_int_values[0].el;
A[x_46] = x_48;
int x_51 = x_6.x_GLF_uniform_int_values[0].el;
int x_53 = x_6.x_GLF_uniform_int_values[1].el;
A[x_51] = x_53;
int x_56 = x_6.x_GLF_uniform_int_values[0].el;
i = x_56;
while (true) {
int x_61 = i;
int x_63 = x_6.x_GLF_uniform_int_values[2].el;
if ((x_61 > x_63)) {
} else {
break;
}
i = (i - 1);
}
float x_69 = x_10.x_GLF_uniform_float_values[1].el;
float x_71 = x_10.x_GLF_uniform_float_values[1].el;
int x_76 = A[((x_69 >= x_71) ? 1 : i)];
a = x_76;
int x_78 = x_6.x_GLF_uniform_int_values[0].el;
int x_80 = a;
int x_84 = x_6.x_GLF_uniform_int_values[0].el;
int x_87 = x_6.x_GLF_uniform_int_values[0].el;
float x_91 = x_10.x_GLF_uniform_float_values[1].el;
float x_93 = x_10.x_GLF_uniform_float_values[0].el;
v1 = (bvec2((x_91 < x_93), true) ? vec2(float(x_84), float(x_87)) : vec2(float(x_78), float(x_80)));
int x_98 = x_6.x_GLF_uniform_int_values[2].el;
float x_100 = v1[x_98];
int x_103 = x_6.x_GLF_uniform_int_values[0].el;
float x_105 = v1[x_103];
v2 = (bvec2(false, false) ? vec2(x_105, x_105) : vec2(x_100, x_100));
int x_109 = x_6.x_GLF_uniform_int_values[1].el;
float x_110 = float(x_109);
int x_113 = x_6.x_GLF_uniform_int_values[0].el;
float x_114 = float(x_113);
int x_121 = A[int(clamp(vec2(x_110, x_110), vec2(x_114, x_114), v2).x)];
b = x_121;
int x_122 = b;
int x_124 = x_6.x_GLF_uniform_int_values[1].el;
if ((x_122 == x_124)) {
int x_130 = x_6.x_GLF_uniform_int_values[0].el;
int x_133 = x_6.x_GLF_uniform_int_values[2].el;
int x_136 = x_6.x_GLF_uniform_int_values[2].el;
int x_139 = x_6.x_GLF_uniform_int_values[0].el;
x_GLF_color = vec4(float(x_130), float(x_133), float(x_136), float(x_139));
} else {
int x_143 = x_6.x_GLF_uniform_int_values[2].el;
float x_144 = float(x_143);
x_GLF_color = vec4(x_144, x_144, x_144, x_144);
}
return;
}
struct main_out {
vec4 x_GLF_color_1;
};
main_out tint_symbol() {
main_1();
main_out tint_symbol_1 = main_out(x_GLF_color);
return tint_symbol_1;
}
void main() {
main_out inner_result = tint_symbol();
x_GLF_color_1_1 = inner_result.x_GLF_color_1;
return;
}
Error parsing GLSL shader:
ERROR: 0:64: '' : boolean expression expected
ERROR: 0:64: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,123 +0,0 @@
SKIP: FAILED
vk-gl-cts/graphicsfuzz/cov-inst-combine-shifts-mix-mix-clamp/0-opt.wgsl:1:13 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary
type Arr = @stride(16) array<i32, 3>;
^^^^^^
vk-gl-cts/graphicsfuzz/cov-inst-combine-shifts-mix-mix-clamp/0-opt.wgsl:7:15 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary
type Arr_1 = @stride(16) array<f32, 2>;
^^^^^^
#version 310 es
precision mediump float;
layout(location = 0) out vec4 x_GLF_color_1_1;
struct tint_padded_array_element {
int el;
};
struct buf1 {
tint_padded_array_element x_GLF_uniform_int_values[3];
};
struct tint_padded_array_element_1 {
float el;
};
struct buf0 {
tint_padded_array_element_1 x_GLF_uniform_float_values[2];
};
layout(binding = 1) uniform buf1_1 {
tint_padded_array_element x_GLF_uniform_int_values[3];
} x_6;
layout(binding = 0) uniform buf0_1 {
tint_padded_array_element_1 x_GLF_uniform_float_values[2];
} x_10;
vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
void main_1() {
int A[2] = int[2](0, 0);
int i = 0;
int a = 0;
vec2 v1 = vec2(0.0f, 0.0f);
vec2 v2 = vec2(0.0f, 0.0f);
int b = 0;
int x_46 = x_6.x_GLF_uniform_int_values[2].el;
int x_48 = x_6.x_GLF_uniform_int_values[0].el;
A[x_46] = x_48;
int x_51 = x_6.x_GLF_uniform_int_values[0].el;
int x_53 = x_6.x_GLF_uniform_int_values[1].el;
A[x_51] = x_53;
int x_56 = x_6.x_GLF_uniform_int_values[0].el;
i = x_56;
while (true) {
int x_61 = i;
int x_63 = x_6.x_GLF_uniform_int_values[2].el;
if ((x_61 > x_63)) {
} else {
break;
}
i = (i - 1);
}
float x_69 = x_10.x_GLF_uniform_float_values[1].el;
float x_71 = x_10.x_GLF_uniform_float_values[1].el;
int x_76 = A[((x_69 >= x_71) ? 1 : i)];
a = x_76;
int x_78 = x_6.x_GLF_uniform_int_values[0].el;
int x_80 = a;
int x_84 = x_6.x_GLF_uniform_int_values[0].el;
int x_87 = x_6.x_GLF_uniform_int_values[0].el;
float x_91 = x_10.x_GLF_uniform_float_values[1].el;
float x_93 = x_10.x_GLF_uniform_float_values[0].el;
v1 = (bvec2((x_91 < x_93), true) ? vec2(float(x_84), float(x_87)) : vec2(float(x_78), float(x_80)));
int x_98 = x_6.x_GLF_uniform_int_values[2].el;
float x_100 = v1[x_98];
int x_103 = x_6.x_GLF_uniform_int_values[0].el;
float x_105 = v1[x_103];
v2 = (bvec2(false, false) ? vec2(x_105, x_105) : vec2(x_100, x_100));
int x_109 = x_6.x_GLF_uniform_int_values[1].el;
float x_110 = float(x_109);
int x_113 = x_6.x_GLF_uniform_int_values[0].el;
float x_114 = float(x_113);
int x_121 = A[int(clamp(vec2(x_110, x_110), vec2(x_114, x_114), v2).x)];
b = x_121;
int x_122 = b;
int x_124 = x_6.x_GLF_uniform_int_values[1].el;
if ((x_122 == x_124)) {
int x_130 = x_6.x_GLF_uniform_int_values[0].el;
int x_133 = x_6.x_GLF_uniform_int_values[2].el;
int x_136 = x_6.x_GLF_uniform_int_values[2].el;
int x_139 = x_6.x_GLF_uniform_int_values[0].el;
x_GLF_color = vec4(float(x_130), float(x_133), float(x_136), float(x_139));
} else {
int x_143 = x_6.x_GLF_uniform_int_values[2].el;
float x_144 = float(x_143);
x_GLF_color = vec4(x_144, x_144, x_144, x_144);
}
return;
}
struct main_out {
vec4 x_GLF_color_1;
};
main_out tint_symbol() {
main_1();
main_out tint_symbol_1 = main_out(x_GLF_color);
return tint_symbol_1;
}
void main() {
main_out inner_result = tint_symbol();
x_GLF_color_1_1 = inner_result.x_GLF_color_1;
return;
}
Error parsing GLSL shader:
ERROR: 0:64: '' : boolean expression expected
ERROR: 0:64: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.