xref: /aosp_15_r20/external/skia/tests/sksl/shared/Overflow.wgsl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1diagnostic(off, derivative_uniformity);
2diagnostic(off, chromium.unreachable_code);
3struct FSOut {
4  @location(0) sk_FragColor: vec4<f32>,
5};
6struct _GlobalUniforms {
7  colorGreen: vec4<f32>,
8};
9@binding(0) @group(0) var<uniform> _globalUniforms: _GlobalUniforms;
10fn _skslMain(coords: vec2<f32>) -> vec4<f32> {
11  {
12    const h: f32 = 1e+09;
13    let _skTemp0 = 1e+36;
14    let hugeH: f32 = ((((((((((_skTemp0 * h) * h) * h) * h) * h) * h) * h) * h) * h) * h) * h;
15    const f: f32 = 1e+09;
16    let _skTemp1 = 1e+36;
17    let hugeF: f32 = ((((((((((_skTemp1 * f) * f) * f) * f) * f) * f) * f) * f) * f) * f) * f;
18    let _skTemp2 = 1073741824;
19    let hugeI: i32 = i32((((((((((((((((((((_skTemp2 * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2);
20    let _skTemp3 = 2147483648u;
21    let hugeU: u32 = ((((((((((((((((((_skTemp3 * 2u) * 2u) * 2u) * 2u) * 2u) * 2u) * 2u) * 2u) * 2u) * 2u) * 2u) * 2u) * 2u) * 2u) * 2u) * 2u) * 2u) * 2u) * 2u;
22    let _skTemp4 = 16384;
23    let hugeS: i32 = ((((((((((((((((_skTemp4 * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2;
24    let _skTemp5 = 32768u;
25    let hugeUS: u32 = (((((((((((((((_skTemp5 * 2u) * 2u) * 2u) * 2u) * 2u) * 2u) * 2u) * 2u) * 2u) * 2u) * 2u) * 2u) * 2u) * 2u) * 2u) * 2u;
26    let _skTemp6 = -2147483648;
27    let hugeNI: i32 = i32(((((((((((((((((((_skTemp6 * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2);
28    let _skTemp7 = -32768;
29    let hugeNS: i32 = (((((((((((((((_skTemp7 * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2) * 2;
30    const i4: vec4<i32> = vec4<i32>(2);
31    let _skTemp8 = vec4<i32>(1073741824);
32    let hugeIvec: vec4<i32> = ((((((((((((((_skTemp8 * i4) * i4) * i4) * i4) * i4) * i4) * i4) * i4) * i4) * i4) * i4) * i4) * i4) * i4) * i4;
33    const u4: vec4<u32> = vec4<u32>(2u);
34    let _skTemp9 = vec4<u32>(2147483648u);
35    let hugeUvec: vec4<u32> = (((((((((((((_skTemp9 * u4) * u4) * u4) * u4) * u4) * u4) * u4) * u4) * u4) * u4) * u4) * u4) * u4) * u4;
36    let _skTemp10 = mat4x4<f32>(1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20);
37    let hugeMxM: mat4x4<f32> = _skTemp10 * mat4x4<f32>(1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20);
38    let _skTemp11 = mat4x4<f32>(1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20);
39    let hugeMxV: vec4<f32> = _skTemp11 * vec4<f32>(1e+20);
40    let _skTemp12 = vec4<f32>(1e+20);
41    let hugeVxM: vec4<f32> = _skTemp12 * mat4x4<f32>(1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20, 1e+20);
42    let _skTemp13 = saturate(hugeH);
43    let _skTemp14 = saturate(f32(hugeF));
44    let _skTemp15 = saturate(f32(hugeI));
45    let _skTemp16 = saturate(f32(hugeU));
46    let _skTemp17 = saturate(f32(hugeS));
47    let _skTemp18 = saturate(f32(hugeUS));
48    let _skTemp19 = saturate(f32(hugeNI));
49    let _skTemp20 = saturate(f32(hugeNS));
50    let _skTemp21 = saturate(vec4<f32>(hugeIvec));
51    let _skTemp22 = saturate(vec4<f32>(hugeUvec));
52    let _skTemp23 = saturate(vec4<f32>(hugeMxM[0]));
53    let _skTemp24 = saturate(vec4<f32>(hugeMxV));
54    let _skTemp25 = saturate(vec4<f32>(hugeVxM));
55    return ((((((((((((_globalUniforms.colorGreen * _skTemp13) * _skTemp14) * _skTemp15) * _skTemp16) * _skTemp17) * _skTemp18) * _skTemp19) * _skTemp20) * _skTemp21) * _skTemp22) * _skTemp23) * _skTemp24) * _skTemp25;
56  }
57}
58@fragment fn main() -> FSOut {
59  var _stageOut: FSOut;
60  _stageOut.sk_FragColor = _skslMain(/*fragcoord*/ vec2<f32>());
61  return _stageOut;
62}
63