struct FSIn { @builtin(front_facing) sk_Clockwise: bool, }; struct FSOut { @location(0) sk_FragColor: vec4, }; struct _GlobalUniforms { uFloat: f32, }; @binding(0) @group(0) var _globalUniforms: _GlobalUniforms; fn _outParamHelper_0_one_out_param_vh(h: ptr) { var _var0: f32; one_out_param_vh(&_var0); (*h) = _var0; } fn _outParamHelper_1_one_out_param_vh(x: ptr) { var _var0: f32; one_out_param_vh(&_var0); (*x) = _var0; } fn _outParamHelper_2_one_out_param_indirect_vh(x: ptr) { var _var0: f32; one_out_param_indirect_vh(&_var0); (*x) = _var0; } fn _outParamHelper_3_various_parameter_types_vhhh(_stageOut: ptr, _var0: f32, x: ptr, _unused2: ptr) { var _var1: f32; var _var2: f32 = (*x); various_parameter_types_vhhh(_stageOut, _var0, &_var1, &_var2); (*x) = _var1; (*x) = _var2; } fn _outParamHelper_4_various_parameter_types_vhhh(_stageOut: ptr, _var0: f32, v: ptr>, _unused2: ptr>) { var _var1: f32; var _var2: f32 = (*v).x; various_parameter_types_vhhh(_stageOut, _var0, &_var1, &_var2); (*v).x = _var1; (*v).x = _var2; } fn _outParamHelper_5_various_parameter_types_vhhh(_stageOut: ptr, _var0: f32, v: ptr>, _unused2: ptr>) { var _var1: f32; var _var2: f32 = (*v).y; various_parameter_types_vhhh(_stageOut, _var0, &_var1, &_var2); (*v).y = _var1; (*v).y = _var2; } fn _outParamHelper_6_various_parameter_types_vhhh(_stageOut: ptr, _var0: f32, v: ptr>, _unused2: ptr>) { var _var1: f32; var _var2: f32 = (*v).y; various_parameter_types_vhhh(_stageOut, _var0, &_var1, &_var2); (*v).x = _var1; (*v).y = _var2; } fn _outParamHelper_7_various_parameter_types_vhhh(_stageOut: ptr, _var0: f32, s: ptr, x: ptr) { var _var1: f32; var _var2: f32 = (*x); various_parameter_types_vhhh(_stageOut, _var0, &_var1, &_var2); (*s).v.x = _var1; (*x) = _var2; } fn _outParamHelper_8_various_parameter_types_vhhh(_stageOut: ptr, _var0: f32, s: ptr, x: ptr) { var _var1: f32; var _var2: f32 = (*x); various_parameter_types_vhhh(_stageOut, _var0, &_var1, &_var2); (*s).v.y = _var1; (*x) = _var2; } fn various_parameter_types_vhhh(_stageOut: ptr, a: f32, b: ptr, c: ptr) { (*_stageOut).sk_FragColor = vec4(a, (*b), (*c), _globalUniforms.uFloat); (*b) = a; (*c) = _globalUniforms.uFloat; } fn one_out_param_vh(h: ptr) { (*h) = 2.0; } fn one_out_param_indirect_vh(h: ptr) { _outParamHelper_0_one_out_param_vh(&(*h)); } struct S { v: vec4, }; fn main(_stageOut: ptr) { var x: f32 = 1.0; _outParamHelper_1_one_out_param_vh(&x); _outParamHelper_2_one_out_param_indirect_vh(&x); _outParamHelper_3_various_parameter_types_vhhh(_stageOut, x + 1.0, &x, &x); var v: vec4; _outParamHelper_4_various_parameter_types_vhhh(_stageOut, x + 1.0, &v, &v); _outParamHelper_5_various_parameter_types_vhhh(_stageOut, x + 1.0, &v, &v); _outParamHelper_6_various_parameter_types_vhhh(_stageOut, x + 1.0, &v, &v); var s: S; _outParamHelper_7_various_parameter_types_vhhh(_stageOut, x + 1.0, &s, &x); _outParamHelper_8_various_parameter_types_vhhh(_stageOut, x + 1.0, &s, &x); } @fragment fn fragmentMain(_stageIn: FSIn) -> FSOut { var _stageOut: FSOut; main(&_stageOut); return _stageOut; }