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

45 lines
822 B
WebGPU Shading Language

[[block]]
struct buf0 {
zero : i32;
};
var<private> x_GLF_color : vec4<f32>;
[[group(0), binding(0)]] var<uniform> x_5 : buf0;
fn main_1() {
var x_9 : array<i32, 1>;
var x_10_phi : i32;
let x_33 : array<i32, 1> = x_9;
let x_6 : i32 = x_33[0u];
loop {
x_GLF_color = vec4<f32>(0.0, 0.0, 0.0, 0.0);
let x_7 : i32 = x_5.zero;
let x_8 : i32 = x_9[x_7];
if ((x_8 == x_6)) {
x_10_phi = 1;
break;
}
x_10_phi = 2;
break;
}
let x_10 : i32 = x_10_phi;
if (((x_10 == 1) | (x_10 == 2))) {
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);
}