diagnostic(off, derivative_uniformity); diagnostic(off, chromium.unreachable_code); struct FSIn { @location(2) @interpolate(flat, either) bufferIndex: i32, }; struct FSOut { @location(0) sk_FragColor: vec4, }; struct storageBuffer { offset: u32, inputData: array, }; @group(0) @binding(0) var _storage0 : storageBuffer; struct outputBuffer { outputData: array, }; @group(0) @binding(1) var _storage1 : outputBuffer; struct SomeData { a: vec4, b: vec2, }; fn _skslMain(_stageIn: FSIn, coords: vec2) -> vec4 { { let _skTemp2 = _storage0.offset; let _skTemp3 = _storage0.offset; _storage1.outputData[_skTemp2] = _storage0.inputData[_skTemp3]; return vec4(_storage0.inputData[_stageIn.bufferIndex].a * _storage0.inputData[_stageIn.bufferIndex].b.x); } } @fragment fn main(_stageIn: FSIn) -> FSOut { var _stageOut: FSOut; _stageOut.sk_FragColor = _skslMain(_stageIn, /*fragcoord*/ vec2()); return _stageOut; }