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 Workervar<private> glob: i32; 12*c8dee2aaSAndroid Build Coastguard Workerfn block_variable_hides_global_variable_b() -> bool { 13*c8dee2aaSAndroid Build Coastguard Worker { 14*c8dee2aaSAndroid Build Coastguard Worker return glob == 2; 15*c8dee2aaSAndroid Build Coastguard Worker } 16*c8dee2aaSAndroid Build Coastguard Worker} 17*c8dee2aaSAndroid Build Coastguard Workerstruct S { 18*c8dee2aaSAndroid Build Coastguard Worker i: i32, 19*c8dee2aaSAndroid Build Coastguard Worker}; 20*c8dee2aaSAndroid Build Coastguard Workerfn local_variable_hides_struct_b() -> bool { 21*c8dee2aaSAndroid Build Coastguard Worker { 22*c8dee2aaSAndroid Build Coastguard Worker const S: bool = true; 23*c8dee2aaSAndroid Build Coastguard Worker return S; 24*c8dee2aaSAndroid Build Coastguard Worker } 25*c8dee2aaSAndroid Build Coastguard Worker} 26*c8dee2aaSAndroid Build Coastguard Workerfn local_struct_variable_hides_struct_type_b() -> bool { 27*c8dee2aaSAndroid Build Coastguard Worker { 28*c8dee2aaSAndroid Build Coastguard Worker const S: S = S(1); 29*c8dee2aaSAndroid Build Coastguard Worker return S.i == 1; 30*c8dee2aaSAndroid Build Coastguard Worker } 31*c8dee2aaSAndroid Build Coastguard Worker} 32*c8dee2aaSAndroid Build Coastguard Workerfn local_variable_hides_global_variable_b() -> bool { 33*c8dee2aaSAndroid Build Coastguard Worker { 34*c8dee2aaSAndroid Build Coastguard Worker const glob: i32 = 1; 35*c8dee2aaSAndroid Build Coastguard Worker return glob == 1; 36*c8dee2aaSAndroid Build Coastguard Worker } 37*c8dee2aaSAndroid Build Coastguard Worker} 38*c8dee2aaSAndroid Build Coastguard Workerfn _skslMain(coords: vec2<f32>) -> vec4<f32> { 39*c8dee2aaSAndroid Build Coastguard Worker { 40*c8dee2aaSAndroid Build Coastguard Worker glob = 2; 41*c8dee2aaSAndroid Build Coastguard Worker const _0_var: bool = true; 42*c8dee2aaSAndroid Build Coastguard Worker var _skTemp0: vec4<f32>; 43*c8dee2aaSAndroid Build Coastguard Worker var _skTemp1: bool; 44*c8dee2aaSAndroid Build Coastguard Worker var _skTemp2: bool; 45*c8dee2aaSAndroid Build Coastguard Worker var _skTemp3: bool; 46*c8dee2aaSAndroid Build Coastguard Worker var _skTemp4: bool; 47*c8dee2aaSAndroid Build Coastguard Worker if _0_var { 48*c8dee2aaSAndroid Build Coastguard Worker let _skTemp5 = block_variable_hides_global_variable_b(); 49*c8dee2aaSAndroid Build Coastguard Worker _skTemp4 = _skTemp5; 50*c8dee2aaSAndroid Build Coastguard Worker } else { 51*c8dee2aaSAndroid Build Coastguard Worker _skTemp4 = false; 52*c8dee2aaSAndroid Build Coastguard Worker } 53*c8dee2aaSAndroid Build Coastguard Worker if _skTemp4 { 54*c8dee2aaSAndroid Build Coastguard Worker let _skTemp6 = local_variable_hides_struct_b(); 55*c8dee2aaSAndroid Build Coastguard Worker _skTemp3 = _skTemp6; 56*c8dee2aaSAndroid Build Coastguard Worker } else { 57*c8dee2aaSAndroid Build Coastguard Worker _skTemp3 = false; 58*c8dee2aaSAndroid Build Coastguard Worker } 59*c8dee2aaSAndroid Build Coastguard Worker if _skTemp3 { 60*c8dee2aaSAndroid Build Coastguard Worker let _skTemp7 = local_struct_variable_hides_struct_type_b(); 61*c8dee2aaSAndroid Build Coastguard Worker _skTemp2 = _skTemp7; 62*c8dee2aaSAndroid Build Coastguard Worker } else { 63*c8dee2aaSAndroid Build Coastguard Worker _skTemp2 = false; 64*c8dee2aaSAndroid Build Coastguard Worker } 65*c8dee2aaSAndroid Build Coastguard Worker if _skTemp2 { 66*c8dee2aaSAndroid Build Coastguard Worker let _skTemp8 = local_variable_hides_global_variable_b(); 67*c8dee2aaSAndroid Build Coastguard Worker _skTemp1 = _skTemp8; 68*c8dee2aaSAndroid Build Coastguard Worker } else { 69*c8dee2aaSAndroid Build Coastguard Worker _skTemp1 = false; 70*c8dee2aaSAndroid Build Coastguard Worker } 71*c8dee2aaSAndroid Build Coastguard Worker if _skTemp1 { 72*c8dee2aaSAndroid Build Coastguard Worker _skTemp0 = _globalUniforms.colorGreen; 73*c8dee2aaSAndroid Build Coastguard Worker } else { 74*c8dee2aaSAndroid Build Coastguard Worker _skTemp0 = _globalUniforms.colorRed; 75*c8dee2aaSAndroid Build Coastguard Worker } 76*c8dee2aaSAndroid Build Coastguard Worker return _skTemp0; 77*c8dee2aaSAndroid Build Coastguard Worker } 78*c8dee2aaSAndroid Build Coastguard Worker} 79*c8dee2aaSAndroid Build Coastguard Worker@fragment fn main() -> FSOut { 80*c8dee2aaSAndroid Build Coastguard Worker var _stageOut: FSOut; 81*c8dee2aaSAndroid Build Coastguard Worker _stageOut.sk_FragColor = _skslMain(/*fragcoord*/ vec2<f32>()); 82*c8dee2aaSAndroid Build Coastguard Worker return _stageOut; 83*c8dee2aaSAndroid Build Coastguard Worker} 84