xref: /aosp_15_r20/external/skia/tests/sksl/compute/ModuleStructInExpression.wgsl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1diagnostic(off, derivative_uniformity);
2diagnostic(off, chromium.unreachable_code);
3struct IndirectDispatchArgs {
4  x: i32,
5  y: i32,
6  z: i32,
7};
8var<workgroup> outX: i32;
9var<workgroup> outY: i32;
10var<workgroup> outZ: i32;
11fn one_i() -> i32 {
12  {
13    return 1;
14  }
15}
16fn two_i() -> i32 {
17  {
18    return 2;
19  }
20}
21fn three_i() -> i32 {
22  {
23    return 3;
24  }
25}
26fn _skslMain() {
27  {
28    let _skTemp0 = one_i();
29    let _skTemp1 = two_i();
30    let _skTemp2 = three_i();
31    outX = IndirectDispatchArgs(_skTemp0, _skTemp1, _skTemp2).x;
32    let _skTemp3 = one_i();
33    let _skTemp4 = two_i();
34    let _skTemp5 = three_i();
35    outY = IndirectDispatchArgs(_skTemp3, _skTemp4, _skTemp5).y;
36    let _skTemp6 = one_i();
37    let _skTemp7 = two_i();
38    let _skTemp8 = three_i();
39    outZ = IndirectDispatchArgs(_skTemp6, _skTemp7, _skTemp8).z;
40  }
41}
42@compute @workgroup_size(16, 16, 1) fn main() {
43  _skslMain();
44}
45