1*c8dee2aaSAndroid Build Coastguard Workerdiagnostic(off, derivative_uniformity); 2*c8dee2aaSAndroid Build Coastguard Workerdiagnostic(off, chromium.unreachable_code); 3*c8dee2aaSAndroid Build Coastguard Workerstruct FSIn { 4*c8dee2aaSAndroid Build Coastguard Worker @location(2) @interpolate(flat, either) bufferIndex: i32, 5*c8dee2aaSAndroid Build Coastguard Worker}; 6*c8dee2aaSAndroid Build Coastguard Workerstruct FSOut { 7*c8dee2aaSAndroid Build Coastguard Worker @location(0) sk_FragColor: vec4<f32>, 8*c8dee2aaSAndroid Build Coastguard Worker}; 9*c8dee2aaSAndroid Build Coastguard Workerstruct storageBuffer { 10*c8dee2aaSAndroid Build Coastguard Worker offset: u32, 11*c8dee2aaSAndroid Build Coastguard Worker inputData: array<SomeData>, 12*c8dee2aaSAndroid Build Coastguard Worker}; 13*c8dee2aaSAndroid Build Coastguard Worker@group(0) @binding(0) var<storage, read> _storage0 : storageBuffer; 14*c8dee2aaSAndroid Build Coastguard Workerstruct outputBuffer { 15*c8dee2aaSAndroid Build Coastguard Worker outputData: array<SomeData>, 16*c8dee2aaSAndroid Build Coastguard Worker}; 17*c8dee2aaSAndroid Build Coastguard Worker@group(0) @binding(1) var<storage, read_write> _storage1 : outputBuffer; 18*c8dee2aaSAndroid Build Coastguard Workerstruct SomeData { 19*c8dee2aaSAndroid Build Coastguard Worker a: vec4<f32>, 20*c8dee2aaSAndroid Build Coastguard Worker b: vec2<f32>, 21*c8dee2aaSAndroid Build Coastguard Worker}; 22*c8dee2aaSAndroid Build Coastguard Workerfn _skslMain(_stageIn: FSIn, coords: vec2<f32>) -> vec4<f32> { 23*c8dee2aaSAndroid Build Coastguard Worker { 24*c8dee2aaSAndroid Build Coastguard Worker let _skTemp2 = _storage0.offset; 25*c8dee2aaSAndroid Build Coastguard Worker let _skTemp3 = _storage0.offset; 26*c8dee2aaSAndroid Build Coastguard Worker _storage1.outputData[_skTemp2] = _storage0.inputData[_skTemp3]; 27*c8dee2aaSAndroid Build Coastguard Worker return vec4<f32>(_storage0.inputData[_stageIn.bufferIndex].a * _storage0.inputData[_stageIn.bufferIndex].b.x); 28*c8dee2aaSAndroid Build Coastguard Worker } 29*c8dee2aaSAndroid Build Coastguard Worker} 30*c8dee2aaSAndroid Build Coastguard Worker@fragment fn main(_stageIn: FSIn) -> FSOut { 31*c8dee2aaSAndroid Build Coastguard Worker var _stageOut: FSOut; 32*c8dee2aaSAndroid Build Coastguard Worker _stageOut.sk_FragColor = _skslMain(_stageIn, /*fragcoord*/ vec2<f32>()); 33*c8dee2aaSAndroid Build Coastguard Worker return _stageOut; 34*c8dee2aaSAndroid Build Coastguard Worker} 35