blob: 0913fb79fb6e7a9de1adbfe0d5ca14991ece4d94 [file] [log] [blame]
struct FSIn {
@builtin(front_facing) sk_Clockwise: bool,
};
struct FSOut {
@location(0) sk_FragColor: vec4<f32>,
};
struct _GlobalUniforms {
uFloat: f32,
};
@binding(0) @group(0) var<uniform> _globalUniforms: _GlobalUniforms;
fn _outParamHelper_0_one_out_param_vh(h: ptr<function, f32>) {
var _var0: f32;
one_out_param_vh(&_var0);
(*h) = _var0;
}
fn _outParamHelper_1_one_out_param_vh(x: ptr<function, f32>) {
var _var0: f32;
one_out_param_vh(&_var0);
(*x) = _var0;
}
fn _outParamHelper_2_one_out_param_indirect_vh(x: ptr<function, f32>) {
var _var0: f32;
one_out_param_indirect_vh(&_var0);
(*x) = _var0;
}
fn _outParamHelper_3_various_parameter_types_vhhh(_stageOut: ptr<function, FSOut>, _var0: f32, x: ptr<function, f32>, _unused2: ptr<function, f32>) {
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<function, FSOut>, _var0: f32, v: ptr<function, vec4<f32>>, _unused2: ptr<function, vec4<f32>>) {
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<function, FSOut>, _var0: f32, v: ptr<function, vec4<f32>>, _unused2: ptr<function, vec4<f32>>) {
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<function, FSOut>, _var0: f32, v: ptr<function, vec4<f32>>, _unused2: ptr<function, vec4<f32>>) {
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<function, FSOut>, _var0: f32, s: ptr<function, S>, x: ptr<function, f32>) {
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<function, FSOut>, _var0: f32, s: ptr<function, S>, x: ptr<function, f32>) {
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<function, FSOut>, a: f32, b: ptr<function, f32>, c: ptr<function, f32>) {
(*_stageOut).sk_FragColor = vec4<f32>(a, (*b), (*c), _globalUniforms.uFloat);
(*b) = a;
(*c) = _globalUniforms.uFloat;
}
fn one_out_param_vh(h: ptr<function, f32>) {
(*h) = 2.0;
}
fn one_out_param_indirect_vh(h: ptr<function, f32>) {
_outParamHelper_0_one_out_param_vh(&(*h));
}
struct S {
v: vec4<f32>,
};
fn main(_stageOut: ptr<function, FSOut>) {
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<f32>;
_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;
}