dawn-cmake/test/array/assign_to_function_var.wgsl...

42 lines
903 B
WebGPU Shading Language

type ArrayType = [[stride(16)]] array<i32, 4>;
[[block]]
struct S {
arr : ArrayType;
};
var<private> src_private : ArrayType;
var<workgroup> src_workgroup : ArrayType;
[[group(0), binding(0)]] var<uniform> src_uniform : S;
[[group(0), binding(1)]] var<storage> src_storage : [[access(read_write)]] S;
fn ret_arr() -> ArrayType {
return ArrayType();
}
fn ret_struct_arr() -> S {
return S();
}
fn foo(src_param : ArrayType) {
var src_function : ArrayType;
var dst : ArrayType;
dst = ArrayType(1, 2, 3, 3);
dst = src_param;
dst = ret_arr();
let src_let : ArrayType = ArrayType();
dst = src_let;
dst = src_function;
dst = src_private;
dst = src_workgroup;
dst = ret_struct_arr().arr;
dst = src_uniform.arr;
dst = src_storage.arr;
var dst_nested : array<array<array<i32, 2>, 3>, 4>;
var src_nested : array<array<array<i32, 2>, 3>, 4>;
dst_nested = src_nested;
}