• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1struct FSIn {
2    @builtin(front_facing) sk_Clockwise: bool,
3};
4struct FSOut {
5    @location(0) sk_FragColor: vec4<f32>,
6};
7struct _GlobalUniforms {
8    uFloat: f32,
9};
10@binding(0) @group(0) var<uniform> _globalUniforms: _GlobalUniforms;
11fn _outParamHelper_0_one_out_param_vh(h: ptr<function, f32>) {
12    var _var0: f32;
13    one_out_param_vh(&_var0);
14    (*h) = _var0;
15}
16fn _outParamHelper_1_one_out_param_vh(x: ptr<function, f32>) {
17    var _var0: f32;
18    one_out_param_vh(&_var0);
19    (*x) = _var0;
20}
21fn _outParamHelper_2_one_out_param_indirect_vh(x: ptr<function, f32>) {
22    var _var0: f32;
23    one_out_param_indirect_vh(&_var0);
24    (*x) = _var0;
25}
26fn _outParamHelper_3_various_parameter_types_vhhh(_stageOut: ptr<function, FSOut>, _var0: f32, x: ptr<function, f32>, _unused2: ptr<function, f32>) {
27    var _var1: f32;
28    var _var2: f32 = (*x);
29    various_parameter_types_vhhh(_stageOut, _var0, &_var1, &_var2);
30    (*x) = _var1;
31    (*x) = _var2;
32}
33fn _outParamHelper_4_various_parameter_types_vhhh(_stageOut: ptr<function, FSOut>, _var0: f32, v: ptr<function, vec4<f32>>, _unused2: ptr<function, vec4<f32>>) {
34    var _var1: f32;
35    var _var2: f32 = (*v).x;
36    various_parameter_types_vhhh(_stageOut, _var0, &_var1, &_var2);
37    (*v).x = _var1;
38    (*v).x = _var2;
39}
40fn _outParamHelper_5_various_parameter_types_vhhh(_stageOut: ptr<function, FSOut>, _var0: f32, v: ptr<function, vec4<f32>>, _unused2: ptr<function, vec4<f32>>) {
41    var _var1: f32;
42    var _var2: f32 = (*v).y;
43    various_parameter_types_vhhh(_stageOut, _var0, &_var1, &_var2);
44    (*v).y = _var1;
45    (*v).y = _var2;
46}
47fn _outParamHelper_6_various_parameter_types_vhhh(_stageOut: ptr<function, FSOut>, _var0: f32, v: ptr<function, vec4<f32>>, _unused2: ptr<function, vec4<f32>>) {
48    var _var1: f32;
49    var _var2: f32 = (*v).y;
50    various_parameter_types_vhhh(_stageOut, _var0, &_var1, &_var2);
51    (*v).x = _var1;
52    (*v).y = _var2;
53}
54fn _outParamHelper_7_various_parameter_types_vhhh(_stageOut: ptr<function, FSOut>, _var0: f32, s: ptr<function, S>, x: ptr<function, f32>) {
55    var _var1: f32;
56    var _var2: f32 = (*x);
57    various_parameter_types_vhhh(_stageOut, _var0, &_var1, &_var2);
58    (*s).v.x = _var1;
59    (*x) = _var2;
60}
61fn _outParamHelper_8_various_parameter_types_vhhh(_stageOut: ptr<function, FSOut>, _var0: f32, s: ptr<function, S>, x: ptr<function, f32>) {
62    var _var1: f32;
63    var _var2: f32 = (*x);
64    various_parameter_types_vhhh(_stageOut, _var0, &_var1, &_var2);
65    (*s).v.y = _var1;
66    (*x) = _var2;
67}
68fn various_parameter_types_vhhh(_stageOut: ptr<function, FSOut>, a: f32, b: ptr<function, f32>, c: ptr<function, f32>) {
69    (*_stageOut).sk_FragColor = vec4<f32>(a, (*b), (*c), _globalUniforms.uFloat);
70    (*b) = a;
71    (*c) = _globalUniforms.uFloat;
72}
73fn one_out_param_vh(h: ptr<function, f32>) {
74    (*h) = 2.0;
75}
76fn one_out_param_indirect_vh(h: ptr<function, f32>) {
77    _outParamHelper_0_one_out_param_vh(&(*h));
78}
79struct S {
80    v: vec4<f32>,
81};
82fn main(_stageOut: ptr<function, FSOut>) {
83    var x: f32 = 1.0;
84    _outParamHelper_1_one_out_param_vh(&x);
85    _outParamHelper_2_one_out_param_indirect_vh(&x);
86    _outParamHelper_3_various_parameter_types_vhhh(_stageOut, x + 1.0, &x, &x);
87    var v: vec4<f32>;
88    _outParamHelper_4_various_parameter_types_vhhh(_stageOut, x + 1.0, &v, &v);
89    _outParamHelper_5_various_parameter_types_vhhh(_stageOut, x + 1.0, &v, &v);
90    _outParamHelper_6_various_parameter_types_vhhh(_stageOut, x + 1.0, &v, &v);
91    var s: S;
92    _outParamHelper_7_various_parameter_types_vhhh(_stageOut, x + 1.0, &s, &x);
93    _outParamHelper_8_various_parameter_types_vhhh(_stageOut, x + 1.0, &s, &x);
94}
95@fragment fn fragmentMain(_stageIn: FSIn) -> FSOut {
96    var _stageOut: FSOut;
97    main(&_stageOut);
98    return _stageOut;
99}
100