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}; 9*c8dee2aaSAndroid Build Coastguard Worker@binding(0) @group(0) var<uniform> _globalUniforms: _GlobalUniforms; 10*c8dee2aaSAndroid Build Coastguard Workerconst kConstant: i32 = 0; 11*c8dee2aaSAndroid Build Coastguard Workerconst kOtherConstant: i32 = 1; 12*c8dee2aaSAndroid Build Coastguard Workerconst kAnotherConstant: i32 = 2; 13*c8dee2aaSAndroid Build Coastguard Workerconst kFloatConstant: f32 = 2.14; 14*c8dee2aaSAndroid Build Coastguard Workerconst kFloatConstantAlias: f32 = kFloatConstant; 15*c8dee2aaSAndroid Build Coastguard Workerconst kConstVec: vec4<f32> = vec4<f32>(1.0, 0.2, 2.14, 1.0); 16*c8dee2aaSAndroid Build Coastguard Workerfn _skslMain(_skParam0: vec2<f32>) -> vec4<f32> { 17*c8dee2aaSAndroid Build Coastguard Worker { 18*c8dee2aaSAndroid Build Coastguard Worker const kLocalFloatConstant: f32 = 3.14; 19*c8dee2aaSAndroid Build Coastguard Worker let kLocalFloatConstantAlias: f32 = kLocalFloatConstant; 20*c8dee2aaSAndroid Build Coastguard Worker let integerInput: i32 = i32(_globalUniforms.colorGreen.y); 21*c8dee2aaSAndroid Build Coastguard Worker if integerInput == kConstant { 22*c8dee2aaSAndroid Build Coastguard Worker { 23*c8dee2aaSAndroid Build Coastguard Worker return vec4<f32>(2.14); 24*c8dee2aaSAndroid Build Coastguard Worker } 25*c8dee2aaSAndroid Build Coastguard Worker } else { 26*c8dee2aaSAndroid Build Coastguard Worker if integerInput == kOtherConstant { 27*c8dee2aaSAndroid Build Coastguard Worker { 28*c8dee2aaSAndroid Build Coastguard Worker return _globalUniforms.colorGreen; 29*c8dee2aaSAndroid Build Coastguard Worker } 30*c8dee2aaSAndroid Build Coastguard Worker } else { 31*c8dee2aaSAndroid Build Coastguard Worker if integerInput == kAnotherConstant { 32*c8dee2aaSAndroid Build Coastguard Worker { 33*c8dee2aaSAndroid Build Coastguard Worker return kConstVec; 34*c8dee2aaSAndroid Build Coastguard Worker } 35*c8dee2aaSAndroid Build Coastguard Worker } else { 36*c8dee2aaSAndroid Build Coastguard Worker if kLocalFloatConstantAlias < (f32(_globalUniforms.colorGreen.x) * kLocalFloatConstant) { 37*c8dee2aaSAndroid Build Coastguard Worker { 38*c8dee2aaSAndroid Build Coastguard Worker return vec4<f32>(3.14); 39*c8dee2aaSAndroid Build Coastguard Worker } 40*c8dee2aaSAndroid Build Coastguard Worker } else { 41*c8dee2aaSAndroid Build Coastguard Worker if kFloatConstantAlias >= (f32(_globalUniforms.colorGreen.x) * kFloatConstantAlias) { 42*c8dee2aaSAndroid Build Coastguard Worker { 43*c8dee2aaSAndroid Build Coastguard Worker return vec4<f32>(0.0); 44*c8dee2aaSAndroid Build Coastguard Worker } 45*c8dee2aaSAndroid Build Coastguard Worker } else { 46*c8dee2aaSAndroid Build Coastguard Worker { 47*c8dee2aaSAndroid Build Coastguard Worker return vec4<f32>(1.0, 0.0, 0.0, 1.0); 48*c8dee2aaSAndroid Build Coastguard Worker } 49*c8dee2aaSAndroid Build Coastguard Worker } 50*c8dee2aaSAndroid Build Coastguard Worker } 51*c8dee2aaSAndroid Build Coastguard Worker } 52*c8dee2aaSAndroid Build Coastguard Worker } 53*c8dee2aaSAndroid Build Coastguard Worker } 54*c8dee2aaSAndroid Build Coastguard Worker } 55*c8dee2aaSAndroid Build Coastguard Worker return vec4<f32>(); 56*c8dee2aaSAndroid Build Coastguard Worker} 57*c8dee2aaSAndroid Build Coastguard Worker@fragment fn main() -> FSOut { 58*c8dee2aaSAndroid Build Coastguard Worker var _stageOut: FSOut; 59*c8dee2aaSAndroid Build Coastguard Worker _stageOut.sk_FragColor = _skslMain(/*fragcoord*/ vec2<f32>()); 60*c8dee2aaSAndroid Build Coastguard Worker return _stageOut; 61*c8dee2aaSAndroid Build Coastguard Worker} 62