1*c8dee2aaSAndroid Build Coastguard Workerdiagnostic(off, derivative_uniformity); 2*c8dee2aaSAndroid Build Coastguard Workerdiagnostic(off, chromium.unreachable_code); 3*c8dee2aaSAndroid Build Coastguard Workerstruct FSOut { 4*c8dee2aaSAndroid Build Coastguard Worker @location(0) sk_FragColor: vec4<f32>, 5*c8dee2aaSAndroid Build Coastguard Worker}; 6*c8dee2aaSAndroid Build Coastguard Workerstruct _GlobalUniforms { 7*c8dee2aaSAndroid Build Coastguard Worker colorGreen: vec4<f32>, 8*c8dee2aaSAndroid Build Coastguard Worker colorRed: vec4<f32>, 9*c8dee2aaSAndroid Build Coastguard Worker}; 10*c8dee2aaSAndroid Build Coastguard Worker@binding(0) @group(0) var<uniform> _globalUniforms: _GlobalUniforms; 11*c8dee2aaSAndroid Build Coastguard Workerfn foo_ff2(v: vec2<f32>) -> f32 { 12*c8dee2aaSAndroid Build Coastguard Worker { 13*c8dee2aaSAndroid Build Coastguard Worker return v.x * v.y; 14*c8dee2aaSAndroid Build Coastguard Worker } 15*c8dee2aaSAndroid Build Coastguard Worker} 16*c8dee2aaSAndroid Build Coastguard Workerfn bar_vf(x: ptr<function, f32>) { 17*c8dee2aaSAndroid Build Coastguard Worker { 18*c8dee2aaSAndroid Build Coastguard Worker var y: array<f32, 2>; 19*c8dee2aaSAndroid Build Coastguard Worker y[0] = (*x); 20*c8dee2aaSAndroid Build Coastguard Worker y[1] = (*x) * 2.0; 21*c8dee2aaSAndroid Build Coastguard Worker let _skTemp0 = foo_ff2(vec2<f32>(y[0], y[1])); 22*c8dee2aaSAndroid Build Coastguard Worker (*x) = _skTemp0; 23*c8dee2aaSAndroid Build Coastguard Worker } 24*c8dee2aaSAndroid Build Coastguard Worker} 25*c8dee2aaSAndroid Build Coastguard Workerfn _skslMain(coords: vec2<f32>) -> vec4<f32> { 26*c8dee2aaSAndroid Build Coastguard Worker { 27*c8dee2aaSAndroid Build Coastguard Worker var x: f32 = 10.0; 28*c8dee2aaSAndroid Build Coastguard Worker var _skTemp1: f32 = x; 29*c8dee2aaSAndroid Build Coastguard Worker bar_vf(&_skTemp1); 30*c8dee2aaSAndroid Build Coastguard Worker x = _skTemp1; 31*c8dee2aaSAndroid Build Coastguard Worker return select(_globalUniforms.colorRed, _globalUniforms.colorGreen, vec4<bool>(x == 200.0)); 32*c8dee2aaSAndroid Build Coastguard Worker } 33*c8dee2aaSAndroid Build Coastguard Worker} 34*c8dee2aaSAndroid Build Coastguard Worker@fragment fn main() -> FSOut { 35*c8dee2aaSAndroid Build Coastguard Worker var _stageOut: FSOut; 36*c8dee2aaSAndroid Build Coastguard Worker _stageOut.sk_FragColor = _skslMain(/*fragcoord*/ vec2<f32>()); 37*c8dee2aaSAndroid Build Coastguard Worker return _stageOut; 38*c8dee2aaSAndroid Build Coastguard Worker} 39