dawn-cmake/test/vk-gl-cts/graphicsfuzz/struct-array-index/0.wgsl

51 lines
1.1 KiB
WebGPU Shading Language
Raw Normal View History

2021-07-23 13:10:12 +00:00
struct struct_base {
data : i32;
leftIndex : i32;
rightIndex : i32;
};
struct buf0 {
injectionSwitch : vec2<f32>;
};
var<private> struct_array : array<struct_base, 3>;
[[group(0), binding(0)]] var<uniform> x_8 : buf0;
var<private> x_GLF_color : vec4<f32>;
fn main_1() {
var index : i32;
struct_array = array<struct_base, 3>(struct_base(1, 1, 1), struct_base(1, 1, 1), struct_base(1, 1, 1));
index = 1;
struct_array[1].rightIndex = 1;
let x_39 : i32 = struct_array[1].leftIndex;
if ((x_39 == 1)) {
let x_45 : f32 = x_8.injectionSwitch.x;
let x_48 : i32 = struct_array[i32(x_45)].rightIndex;
index = x_48;
} else {
let x_50 : f32 = x_8.injectionSwitch.y;
let x_53 : i32 = struct_array[i32(x_50)].leftIndex;
index = x_53;
}
let x_55 : i32 = struct_array[1].leftIndex;
if ((x_55 == 1)) {
x_GLF_color = vec4<f32>(1.0, 0.0, 0.0, 1.0);
} else {
x_GLF_color = vec4<f32>(1.0, 1.0, 1.0, 1.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);
}