mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-14 07:36:15 +00:00
writer/msl: Wrap each array type in a struct
This allows them to be used in various places that WGSL allows, such as function return types and parameters, and as the type of the RHS of an assignment. Fixed: tint:814 Fixed: tint:820 Change-Id: Idb6a901b9a34e96bb9733cc158191e7b3bafaa0e Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/52844 Auto-Submit: James Price <jrprice@google.com> Kokoro: Kokoro <noreply+kokoro@google.com> Commit-Queue: James Price <jrprice@google.com> Reviewed-by: Ben Clayton <bclayton@google.com>
This commit is contained in:
committed by
Tint LUCI CQ
parent
5c0820c76b
commit
94ac078990
21
test/array/function_parameter.wgsl
Normal file
21
test/array/function_parameter.wgsl
Normal file
@@ -0,0 +1,21 @@
|
||||
fn f1(a : array<f32, 4>) -> f32 {
|
||||
return a[3];
|
||||
}
|
||||
|
||||
fn f2(a : array<array<f32, 4>, 3>) -> f32 {
|
||||
return a[2][3];
|
||||
}
|
||||
|
||||
fn f3(a : array<array<array<f32, 4>, 3>, 2>) -> f32 {
|
||||
return a[1][2][3];
|
||||
}
|
||||
|
||||
[[stage(compute)]]
|
||||
fn main() {
|
||||
let a1 : array<f32, 4> = array<f32, 4>();
|
||||
let a2 : array<array<f32, 4>, 3> = array<array<f32, 4>, 3>();
|
||||
let a3 : array<array<array<f32, 4>, 3>, 2> = array<array<array<f32, 4>, 3>, 2>();
|
||||
let v1 : f32 = f1(a1);
|
||||
let v2 : f32 = f2(a2);
|
||||
let v3 : f32 = f3(a3);
|
||||
}
|
||||
Reference in New Issue
Block a user