xref: /aosp_15_r20/external/skia/tests/sksl/shared/ArrayComparison.wgsl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker### Compilation failed:
2*c8dee2aaSAndroid Build Coastguard Worker
3*c8dee2aaSAndroid Build Coastguard Workererror: Tint compilation failed.
4*c8dee2aaSAndroid Build Coastguard Worker
5*c8dee2aaSAndroid Build Coastguard Workerdiagnostic(off, derivative_uniformity);
6*c8dee2aaSAndroid Build Coastguard Workerdiagnostic(off, chromium.unreachable_code);
7*c8dee2aaSAndroid Build Coastguard Workerstruct FSOut {
8*c8dee2aaSAndroid Build Coastguard Worker  @location(0) sk_FragColor: vec4<f32>,
9*c8dee2aaSAndroid Build Coastguard Worker};
10*c8dee2aaSAndroid Build Coastguard Workerstruct _GlobalUniforms {
11*c8dee2aaSAndroid Build Coastguard Worker  colorGreen: vec4<f32>,
12*c8dee2aaSAndroid Build Coastguard Worker  colorRed: vec4<f32>,
13*c8dee2aaSAndroid Build Coastguard Worker  testArray: array<f32, 5>,
14*c8dee2aaSAndroid Build Coastguard Worker  testArrayNegative: array<f32, 5>,
15*c8dee2aaSAndroid Build Coastguard Worker};
16*c8dee2aaSAndroid Build Coastguard Worker@binding(0) @group(0) var<uniform> _globalUniforms: _GlobalUniforms;
17*c8dee2aaSAndroid Build Coastguard Workerstruct S {
18*c8dee2aaSAndroid Build Coastguard Worker  x: i32,
19*c8dee2aaSAndroid Build Coastguard Worker  y: i32,
20*c8dee2aaSAndroid Build Coastguard Worker};
21*c8dee2aaSAndroid Build Coastguard Workerfn _skslMain(coords: vec2<f32>) -> vec4<f32> {
22*c8dee2aaSAndroid Build Coastguard Worker  {
23*c8dee2aaSAndroid Build Coastguard Worker    const f1: array<f32, 5> = array<f32, 5>(1.0, 2.0, 3.0, 4.0, 5.0);
24*c8dee2aaSAndroid Build Coastguard Worker    const f2: array<f32, 5> = array<f32, 5>(1.0, 2.0, 3.0, 4.0, 5.0);
25*c8dee2aaSAndroid Build Coastguard Worker    const f3: array<f32, 5> = array<f32, 5>(1.0, 2.0, 3.0, -4.0, 5.0);
26*c8dee2aaSAndroid Build Coastguard Worker    const v1: array<vec3<i32>, 2> = array<vec3<i32>, 2>(vec3<i32>(1, 2, 3), vec3<i32>(4, 5, 6));
27*c8dee2aaSAndroid Build Coastguard Worker    const v2: array<vec3<i32>, 2> = array<vec3<i32>, 2>(vec3<i32>(1, 2, 3), vec3<i32>(4, 5, 6));
28*c8dee2aaSAndroid Build Coastguard Worker    const v3: array<vec3<i32>, 2> = array<vec3<i32>, 2>(vec3<i32>(1, 2, 3), vec3<i32>(4, 5, -6));
29*c8dee2aaSAndroid Build Coastguard Worker    const m1: array<mat2x2<f32>, 3> = array<mat2x2<f32>, 3>(mat2x2<f32>(1.0, 0.0, 0.0, 1.0), mat2x2<f32>(2.0, 0.0, 0.0, 2.0), mat2x2<f32>(3.0, 4.0, 5.0, 6.0));
30*c8dee2aaSAndroid Build Coastguard Worker    const m2: array<mat2x2<f32>, 3> = array<mat2x2<f32>, 3>(mat2x2<f32>(1.0, 0.0, 0.0, 1.0), mat2x2<f32>(2.0, 0.0, 0.0, 2.0), mat2x2<f32>(3.0, 4.0, 5.0, 6.0));
31*c8dee2aaSAndroid Build Coastguard Worker    const m3: array<mat2x2<f32>, 3> = array<mat2x2<f32>, 3>(mat2x2<f32>(1.0, 0.0, 0.0, 1.0), mat2x2<f32>(2.0, 3.0, 4.0, 5.0), mat2x2<f32>(6.0, 0.0, 0.0, 6.0));
32*c8dee2aaSAndroid Build Coastguard Worker    const s1: array<S, 3> = array<S, 3>(S(1, 2), S(3, 4), S(5, 6));
33*c8dee2aaSAndroid Build Coastguard Worker    const s2: array<S, 3> = array<S, 3>(S(1, 2), S(0, 0), S(5, 6));
34*c8dee2aaSAndroid Build Coastguard Worker    const s3: array<S, 3> = array<S, 3>(S(1, 2), S(3, 4), S(5, 6));
35*c8dee2aaSAndroid Build Coastguard Worker    return select(_globalUniforms.colorRed, _globalUniforms.colorGreen, vec4<bool>((((((((((((((f1[0] == f2[0]) && (f1[1] == f2[1]) && (f1[2] == f2[2]) && (f1[3] == f2[3]) && (f1[4] == f2[4])) && ((f1[0] != f3[0]) || (f1[1] != f3[1]) || (f1[2] != f3[2]) || (f1[3] != f3[3]) || (f1[4] != f3[4]))) && ((_globalUniforms.testArray[0] != _globalUniforms.testArrayNegative[0]) || (_globalUniforms.testArray[1] != _globalUniforms.testArrayNegative[1]) || (_globalUniforms.testArray[2] != _globalUniforms.testArrayNegative[2]) || (_globalUniforms.testArray[3] != _globalUniforms.testArrayNegative[3]) || (_globalUniforms.testArray[4] != _globalUniforms.testArrayNegative[4]))) && ((_globalUniforms.testArray[0] == f1[0]) && (_globalUniforms.testArray[1] == f1[1]) && (_globalUniforms.testArray[2] == f1[2]) && (_globalUniforms.testArray[3] == f1[3]) && (_globalUniforms.testArray[4] == f1[4]))) && ((_globalUniforms.testArray[0] != f3[0]) || (_globalUniforms.testArray[1] != f3[1]) || (_globalUniforms.testArray[2] != f3[2]) || (_globalUniforms.testArray[3] != f3[3]) || (_globalUniforms.testArray[4] != f3[4]))) && ((f1[0] == _globalUniforms.testArray[0]) && (f1[1] == _globalUniforms.testArray[1]) && (f1[2] == _globalUniforms.testArray[2]) && (f1[3] == _globalUniforms.testArray[3]) && (f1[4] == _globalUniforms.testArray[4]))) && ((f3[0] != _globalUniforms.testArray[0]) || (f3[1] != _globalUniforms.testArray[1]) || (f3[2] != _globalUniforms.testArray[2]) || (f3[3] != _globalUniforms.testArray[3]) || (f3[4] != _globalUniforms.testArray[4]))) && (all(v1[0] == v2[0]) && all(v1[1] == v2[1]))) && (any(v1[0] != v3[0]) || any(v1[1] != v3[1]))) && ((all(m1[0][0] == m2[0][0]) && all(m1[0][1] == m2[0][1])) && (all(m1[1][0] == m2[1][0]) && all(m1[1][1] == m2[1][1])) && (all(m1[2][0] == m2[2][0]) && all(m1[2][1] == m2[2][1])))) && ((any(m1[0][0] != m3[0][0]) || any(m1[0][1] != m3[0][1])) || (any(m1[1][0] != m3[1][0]) || any(m1[1][1] != m3[1][1])) || (any(m1[2][0] != m3[2][0]) || any(m1[2][1] != m3[2][1])))) && (((s1[0].x != s2[0].x) || (s1[0].y != s2[0].y)) || ((s1[1].x != s2[1].x) || (s1[1].y != s2[1].y)) || ((s1[2].x != s2[2].x) || (s1[2].y != s2[2].y)))) && (((s3[0].x == s1[0].x) && (s3[0].y == s1[0].y)) && ((s3[1].x == s1[1].x) && (s3[1].y == s1[1].y)) && ((s3[2].x == s1[2].x) && (s3[2].y == s1[2].y)))));
36*c8dee2aaSAndroid Build Coastguard Worker  }
37*c8dee2aaSAndroid Build Coastguard Worker}
38*c8dee2aaSAndroid Build Coastguard Worker@fragment fn main() -> FSOut {
39*c8dee2aaSAndroid Build Coastguard Worker  var _stageOut: FSOut;
40*c8dee2aaSAndroid Build Coastguard Worker  _stageOut.sk_FragColor = _skslMain(/*fragcoord*/ vec2<f32>());
41*c8dee2aaSAndroid Build Coastguard Worker  return _stageOut;
42*c8dee2aaSAndroid Build Coastguard Worker}
43*c8dee2aaSAndroid Build Coastguard Worker
44*c8dee2aaSAndroid Build Coastguard Worker1 error
45