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 testBlock { 7*c8dee2aaSAndroid Build Coastguard Worker @size(16) s: f32, 8*c8dee2aaSAndroid Build Coastguard Worker @size(32) m: _skMatrix22, 9*c8dee2aaSAndroid Build Coastguard Worker @size(32) a: array<_skArrayElement_f, 2>, 10*c8dee2aaSAndroid Build Coastguard Worker am: array<_skArrayElement_f22, 2>, 11*c8dee2aaSAndroid Build Coastguard Worker}; 12*c8dee2aaSAndroid Build Coastguard Worker@group(0) @binding(123) var<uniform> test : array<testBlock, 2>; 13*c8dee2aaSAndroid Build Coastguard Workerfn _skslMain(_stageOut: ptr<function, FSOut>) { 14*c8dee2aaSAndroid Build Coastguard Worker { 15*c8dee2aaSAndroid Build Coastguard Worker (*_stageOut).sk_FragColor = vec4<f32>(f32(test[0].s), f32(_skUnpacked_test_m[1][1].x), f32(_skUnpacked_test_a[0][1]), f32(_skUnpacked_test_am[1][1][0].y)); 16*c8dee2aaSAndroid Build Coastguard Worker } 17*c8dee2aaSAndroid Build Coastguard Worker} 18*c8dee2aaSAndroid Build Coastguard Worker@fragment fn main() -> FSOut { 19*c8dee2aaSAndroid Build Coastguard Worker _skInitializePolyfilledUniforms(); 20*c8dee2aaSAndroid Build Coastguard Worker var _stageOut: FSOut; 21*c8dee2aaSAndroid Build Coastguard Worker _skslMain(&_stageOut); 22*c8dee2aaSAndroid Build Coastguard Worker return _stageOut; 23*c8dee2aaSAndroid Build Coastguard Worker} 24*c8dee2aaSAndroid Build Coastguard Workerstruct _skArrayElement_f { 25*c8dee2aaSAndroid Build Coastguard Worker @size(16) e : f32 26*c8dee2aaSAndroid Build Coastguard Worker}; 27*c8dee2aaSAndroid Build Coastguard Workervar<private> _skUnpacked_test_a: array<array<f32, 2>, 2>; 28*c8dee2aaSAndroid Build Coastguard Workerstruct _skArrayElement_f22 { 29*c8dee2aaSAndroid Build Coastguard Worker e : _skMatrix22 30*c8dee2aaSAndroid Build Coastguard Worker}; 31*c8dee2aaSAndroid Build Coastguard Workerstruct _skRow2 { 32*c8dee2aaSAndroid Build Coastguard Worker @size(16) r : vec2<f32> 33*c8dee2aaSAndroid Build Coastguard Worker}; 34*c8dee2aaSAndroid Build Coastguard Workerstruct _skMatrix22 { 35*c8dee2aaSAndroid Build Coastguard Worker c : array<_skRow2, 2> 36*c8dee2aaSAndroid Build Coastguard Worker}; 37*c8dee2aaSAndroid Build Coastguard Workervar<private> _skUnpacked_test_am: array<array<mat2x2<f32>, 2>, 2>; 38*c8dee2aaSAndroid Build Coastguard Workervar<private> _skUnpacked_test_m: array<mat2x2<f32>, 2>; 39*c8dee2aaSAndroid Build Coastguard Workerfn _skInitializePolyfilledUniforms() { 40*c8dee2aaSAndroid Build Coastguard Worker _skUnpacked_test_a[0] = array<f32, 2>(test[0].a[0].e, test[0].a[1].e); 41*c8dee2aaSAndroid Build Coastguard Worker _skUnpacked_test_a[1] = array<f32, 2>(test[1].a[0].e, test[1].a[1].e); 42*c8dee2aaSAndroid Build Coastguard Worker _skUnpacked_test_am[0] = array<mat2x2<f32>, 2>(mat2x2<f32>(test[0].am[0].e.c[0].r, test[0].am[0].e.c[1].r), mat2x2<f32>(test[0].am[1].e.c[0].r, test[0].am[1].e.c[1].r)); 43*c8dee2aaSAndroid Build Coastguard Worker _skUnpacked_test_am[1] = array<mat2x2<f32>, 2>(mat2x2<f32>(test[1].am[0].e.c[0].r, test[1].am[0].e.c[1].r), mat2x2<f32>(test[1].am[1].e.c[0].r, test[1].am[1].e.c[1].r)); 44*c8dee2aaSAndroid Build Coastguard Worker _skUnpacked_test_m[0] = mat2x2<f32>(test[0].m.c[0].r, test[0].m.c[1].r); 45*c8dee2aaSAndroid Build Coastguard Worker _skUnpacked_test_m[1] = mat2x2<f32>(test[1].m.c[0].r, test[1].m.c[1].r); 46*c8dee2aaSAndroid Build Coastguard Worker} 47