xref: /aosp_15_r20/external/skia/tests/sksl/shared/PostfixExpressions.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  colorRed: vec4<f32>,
9};
10@binding(0) @group(0) var<uniform> _globalUniforms: _GlobalUniforms;
11fn _skslMain(c: vec2<f32>) -> vec4<f32> {
12  {
13    var ok: bool = true;
14    var i: i32 = 5;
15    i = i + i32(1);
16    var _skTemp0: bool;
17    if ok {
18      let _skTemp1 = i;
19      i = i + i32(1);
20      _skTemp0 = (_skTemp1 == 6);
21    } else {
22      _skTemp0 = false;
23    }
24    ok = _skTemp0;
25    ok = ok && (i == 7);
26    var _skTemp2: bool;
27    if ok {
28      let _skTemp3 = i;
29      i = i - i32(1);
30      _skTemp2 = (_skTemp3 == 7);
31    } else {
32      _skTemp2 = false;
33    }
34    ok = _skTemp2;
35    ok = ok && (i == 6);
36    i = i - i32(1);
37    ok = ok && (i == 5);
38    var f: f32 = 0.5;
39    f = f + f32(1);
40    var _skTemp4: bool;
41    if ok {
42      let _skTemp5 = f;
43      f = f + f32(1);
44      _skTemp4 = (_skTemp5 == 1.5);
45    } else {
46      _skTemp4 = false;
47    }
48    ok = _skTemp4;
49    ok = ok && (f == 2.5);
50    var _skTemp6: bool;
51    if ok {
52      let _skTemp7 = f;
53      f = f - f32(1);
54      _skTemp6 = (_skTemp7 == 2.5);
55    } else {
56      _skTemp6 = false;
57    }
58    ok = _skTemp6;
59    ok = ok && (f == 1.5);
60    f = f - f32(1);
61    ok = ok && (f == 0.5);
62    var f2: vec2<f32> = vec2<f32>(0.5);
63    f2.x = f2.x + f32(1);
64    var _skTemp8: bool;
65    if ok {
66      let _skTemp9 = f2.x;
67      f2.x = f2.x + f32(1);
68      _skTemp8 = (_skTemp9 == 1.5);
69    } else {
70      _skTemp8 = false;
71    }
72    ok = _skTemp8;
73    ok = ok && (f2.x == 2.5);
74    var _skTemp10: bool;
75    if ok {
76      let _skTemp11 = f2.x;
77      f2.x = f2.x - f32(1);
78      _skTemp10 = (_skTemp11 == 2.5);
79    } else {
80      _skTemp10 = false;
81    }
82    ok = _skTemp10;
83    ok = ok && (f2.x == 1.5);
84    f2.x = f2.x - f32(1);
85    ok = ok && (f2.x == 0.5);
86    f2 = f2 + vec2<f32>(1, 1);
87    var _skTemp12: bool;
88    if ok {
89      let _skTemp13 = f2;
90      f2 = f2 + vec2<f32>(1, 1);
91      _skTemp12 = all(_skTemp13 == vec2<f32>(1.5));
92    } else {
93      _skTemp12 = false;
94    }
95    ok = _skTemp12;
96    ok = ok && all(f2 == vec2<f32>(2.5));
97    var _skTemp14: bool;
98    if ok {
99      let _skTemp15 = f2;
100      f2 = f2 - vec2<f32>(1, 1);
101      _skTemp14 = all(_skTemp15 == vec2<f32>(2.5));
102    } else {
103      _skTemp14 = false;
104    }
105    ok = _skTemp14;
106    ok = ok && all(f2 == vec2<f32>(1.5));
107    f2 = f2 - vec2<f32>(1, 1);
108    ok = ok && all(f2 == vec2<f32>(0.5));
109    var i4: vec4<i32> = vec4<i32>(7, 8, 9, 10);
110    i4 = i4 + vec4<i32>(1, 1, 1, 1);
111    var _skTemp16: bool;
112    if ok {
113      let _skTemp17 = i4;
114      i4 = i4 + vec4<i32>(1, 1, 1, 1);
115      _skTemp16 = all(_skTemp17 == vec4<i32>(8, 9, 10, 11));
116    } else {
117      _skTemp16 = false;
118    }
119    ok = _skTemp16;
120    ok = ok && all(i4 == vec4<i32>(9, 10, 11, 12));
121    var _skTemp18: bool;
122    if ok {
123      let _skTemp19 = i4;
124      i4 = i4 - vec4<i32>(1, 1, 1, 1);
125      _skTemp18 = all(_skTemp19 == vec4<i32>(9, 10, 11, 12));
126    } else {
127      _skTemp18 = false;
128    }
129    ok = _skTemp18;
130    ok = ok && all(i4 == vec4<i32>(8, 9, 10, 11));
131    i4 = i4 - vec4<i32>(1, 1, 1, 1);
132    ok = ok && all(i4 == vec4<i32>(7, 8, 9, 10));
133    var m3x3: mat3x3<f32> = mat3x3<f32>(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0);
134    m3x3 = m3x3 + mat3x3<f32>(1, 1, 1, 1, 1, 1, 1, 1, 1);
135    var _skTemp20: bool;
136    if ok {
137      let _skTemp21 = m3x3;
138      m3x3 = m3x3 + mat3x3<f32>(1, 1, 1, 1, 1, 1, 1, 1, 1);
139      let _skTemp22 = _skTemp21;
140      const _skTemp23 = mat3x3<f32>(2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0);
141      _skTemp20 = (all(_skTemp22[0] == _skTemp23[0]) && all(_skTemp22[1] == _skTemp23[1]) && all(_skTemp22[2] == _skTemp23[2]));
142    } else {
143      _skTemp20 = false;
144    }
145    ok = _skTemp20;
146    const _skTemp24 = mat3x3<f32>(3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0);
147    ok = ok && (all(m3x3[0] == _skTemp24[0]) && all(m3x3[1] == _skTemp24[1]) && all(m3x3[2] == _skTemp24[2]));
148    var _skTemp25: bool;
149    if ok {
150      let _skTemp26 = m3x3;
151      m3x3 = m3x3 - mat3x3<f32>(1, 1, 1, 1, 1, 1, 1, 1, 1);
152      let _skTemp27 = _skTemp26;
153      const _skTemp28 = mat3x3<f32>(3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0);
154      _skTemp25 = (all(_skTemp27[0] == _skTemp28[0]) && all(_skTemp27[1] == _skTemp28[1]) && all(_skTemp27[2] == _skTemp28[2]));
155    } else {
156      _skTemp25 = false;
157    }
158    ok = _skTemp25;
159    const _skTemp29 = mat3x3<f32>(2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0);
160    ok = ok && (all(m3x3[0] == _skTemp29[0]) && all(m3x3[1] == _skTemp29[1]) && all(m3x3[2] == _skTemp29[2]));
161    m3x3 = m3x3 - mat3x3<f32>(1, 1, 1, 1, 1, 1, 1, 1, 1);
162    const _skTemp30 = mat3x3<f32>(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0);
163    ok = ok && (all(m3x3[0] == _skTemp30[0]) && all(m3x3[1] == _skTemp30[1]) && all(m3x3[2] == _skTemp30[2]));
164    return select(_globalUniforms.colorRed, _globalUniforms.colorGreen, vec4<bool>(ok));
165  }
166}
167@fragment fn main() -> FSOut {
168  var _stageOut: FSOut;
169  _stageOut.sk_FragColor = _skslMain(/*fragcoord*/ vec2<f32>());
170  return _stageOut;
171}
172