David Neto 1444a2e117 spirv-reader: fix mapping of OpLogicalOr, OpLogicalAnd
These work on scalar and vector of bool, and map to ast::BinaryOp::kOr
and kAnd.

Bug: tint:1043
Change-Id: I009edf8e43c21cb75ccfdcde1106ec177d2fe50e
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/59561
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: James Price <jrprice@google.com>
Auto-Submit: David Neto <dneto@google.com>
2021-07-26 17:34:58 +00:00

30 lines
728 B
WebGPU Shading Language

var<private> x_GLF_color : vec4<f32>;
fn main_1() {
var m : mat2x2<f32>;
m = mat2x2<f32>(vec2<f32>(1.0, 2.0), vec2<f32>(3.0, 4.0));
let x_26 : mat2x2<f32> = m;
let x_28 : mat2x2<f32> = m;
let x_30 : mat2x2<f32> = (transpose(x_26) * transpose(x_28));
let x_31 : mat2x2<f32> = m;
let x_32 : mat2x2<f32> = m;
let x_34 : mat2x2<f32> = transpose((x_31 * x_32));
if ((all((x_30[0u] == x_34[0u])) & all((x_30[1u] == x_34[1u])))) {
x_GLF_color = vec4<f32>(1.0, 0.0, 0.0, 1.0);
} else {
x_GLF_color = vec4<f32>(0.0, 0.0, 0.0, 0.0);
}
return;
}
struct main_out {
[[location(0)]]
x_GLF_color_1 : vec4<f32>;
};
[[stage(fragment)]]
fn main() -> main_out {
main_1();
return main_out(x_GLF_color);
}