xref: /aosp_15_r20/external/skia/tests/sksl/shared/StructComparison.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};
15*c8dee2aaSAndroid Build Coastguard Worker@binding(0) @group(0) var<uniform> _globalUniforms: _GlobalUniforms;
16*c8dee2aaSAndroid Build Coastguard Workerstruct S {
17*c8dee2aaSAndroid Build Coastguard Worker  x: i32,
18*c8dee2aaSAndroid Build Coastguard Worker  y: i32,
19*c8dee2aaSAndroid Build Coastguard Worker  m: mat2x2<f32>,
20*c8dee2aaSAndroid Build Coastguard Worker  a: array<f32, 5>,
21*c8dee2aaSAndroid Build Coastguard Worker};
22*c8dee2aaSAndroid Build Coastguard Workerfn _skslMain(coords: vec2<f32>) -> vec4<f32> {
23*c8dee2aaSAndroid Build Coastguard Worker  {
24*c8dee2aaSAndroid Build Coastguard Worker    const R_array: array<f32, 5> = array<f32, 5>(1.0, 2.0, 3.0, 4.0, 5.0);
25*c8dee2aaSAndroid Build Coastguard Worker    let s1: S = S(1, 2, mat2x2<f32>(1.0, 0.0, 0.0, 1.0), R_array);
26*c8dee2aaSAndroid Build Coastguard Worker    let s2: S = S(1, 2, mat2x2<f32>(1.0, 0.0, 0.0, 1.0), _globalUniforms.testArray);
27*c8dee2aaSAndroid Build Coastguard Worker    const s3: S = S(1, 2, mat2x2<f32>(2.0, 0.0, 0.0, 2.0), array<f32, 5>(1.0, 2.0, 3.0, 4.0, 5.0));
28*c8dee2aaSAndroid Build Coastguard Worker    return select(_globalUniforms.colorRed, _globalUniforms.colorGreen, vec4<bool>(((s1.x == s2.x) && (s1.y == s2.y) && (all(s1.m[0] == s2.m[0]) && all(s1.m[1] == s2.m[1])) && ((s1.a[0] == s2.a[0]) && (s1.a[1] == s2.a[1]) && (s1.a[2] == s2.a[2]) && (s1.a[3] == s2.a[3]) && (s1.a[4] == s2.a[4]))) && ((s1.x != s3.x) || (s1.y != s3.y) || (any(s1.m[0] != s3.m[0]) || any(s1.m[1] != s3.m[1])) || ((s1.a[0] != s3.a[0]) || (s1.a[1] != s3.a[1]) || (s1.a[2] != s3.a[2]) || (s1.a[3] != s3.a[3]) || (s1.a[4] != s3.a[4])))));
29*c8dee2aaSAndroid Build Coastguard Worker  }
30*c8dee2aaSAndroid Build Coastguard Worker}
31*c8dee2aaSAndroid Build Coastguard Worker@fragment fn main() -> FSOut {
32*c8dee2aaSAndroid Build Coastguard Worker  var _stageOut: FSOut;
33*c8dee2aaSAndroid Build Coastguard Worker  _stageOut.sk_FragColor = _skslMain(/*fragcoord*/ vec2<f32>());
34*c8dee2aaSAndroid Build Coastguard Worker  return _stageOut;
35*c8dee2aaSAndroid Build Coastguard Worker}
36*c8dee2aaSAndroid Build Coastguard Worker
37*c8dee2aaSAndroid Build Coastguard Worker1 error
38