xref: /aosp_15_r20/external/skia/tests/sksl/shared/PostfixExpressions.hlsl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1cbuffer _UniformBuffer : register(b0, space0)
2{
3    float4 _7_colorGreen : packoffset(c0);
4    float4 _7_colorRed : packoffset(c1);
5};
6
7
8static float4 sk_FragColor;
9
10struct SPIRV_Cross_Output
11{
12    float4 sk_FragColor : SV_Target0;
13};
14
15float4 main(float2 _21)
16{
17    bool ok = true;
18    int i = 5;
19    int _32 = 5 + 1;
20    i = _32;
21    bool _39 = false;
22    if (true)
23    {
24        i = _32 + 1;
25        _39 = _32 == 6;
26    }
27    else
28    {
29        _39 = false;
30    }
31    ok = _39;
32    bool _45 = false;
33    if (_39)
34    {
35        _45 = i == 7;
36    }
37    else
38    {
39        _45 = false;
40    }
41    ok = _45;
42    bool _51 = false;
43    if (_45)
44    {
45        int _48 = i;
46        i = _48 - 1;
47        _51 = _48 == 7;
48    }
49    else
50    {
51        _51 = false;
52    }
53    ok = _51;
54    bool _56 = false;
55    if (_51)
56    {
57        _56 = i == 6;
58    }
59    else
60    {
61        _56 = false;
62    }
63    ok = _56;
64    int _57 = i;
65    int _58 = _57 - 1;
66    i = _58;
67    bool _62 = false;
68    if (_56)
69    {
70        _62 = _58 == 5;
71    }
72    else
73    {
74        _62 = false;
75    }
76    ok = _62;
77    float f = 0.5f;
78    float _67 = 0.5f + 1.0f;
79    f = _67;
80    bool _73 = false;
81    if (_62)
82    {
83        f = _67 + 1.0f;
84        _73 = _67 == 1.5f;
85    }
86    else
87    {
88        _73 = false;
89    }
90    ok = _73;
91    bool _79 = false;
92    if (_73)
93    {
94        _79 = f == 2.5f;
95    }
96    else
97    {
98        _79 = false;
99    }
100    ok = _79;
101    bool _85 = false;
102    if (_79)
103    {
104        float _82 = f;
105        f = _82 - 1.0f;
106        _85 = _82 == 2.5f;
107    }
108    else
109    {
110        _85 = false;
111    }
112    ok = _85;
113    bool _90 = false;
114    if (_85)
115    {
116        _90 = f == 1.5f;
117    }
118    else
119    {
120        _90 = false;
121    }
122    ok = _90;
123    float _91 = f;
124    float _92 = _91 - 1.0f;
125    f = _92;
126    bool _96 = false;
127    if (_90)
128    {
129        _96 = _92 == 0.5f;
130    }
131    else
132    {
133        _96 = false;
134    }
135    ok = _96;
136    float2 f2 = 0.5f.xx;
137    f2.x += 1.0f;
138    bool _110 = false;
139    if (ok)
140    {
141        float _107 = f2.x;
142        f2.x = _107 + 1.0f;
143        _110 = _107 == 1.5f;
144    }
145    else
146    {
147        _110 = false;
148    }
149    ok = _110;
150    bool _116 = false;
151    if (_110)
152    {
153        _116 = f2.x == 2.5f;
154    }
155    else
156    {
157        _116 = false;
158    }
159    ok = _116;
160    bool _123 = false;
161    if (_116)
162    {
163        float _120 = f2.x;
164        f2.x = _120 - 1.0f;
165        _123 = _120 == 2.5f;
166    }
167    else
168    {
169        _123 = false;
170    }
171    ok = _123;
172    bool _129 = false;
173    if (_123)
174    {
175        _129 = f2.x == 1.5f;
176    }
177    else
178    {
179        _129 = false;
180    }
181    ok = _129;
182    f2.x -= 1.0f;
183    bool _139 = false;
184    if (ok)
185    {
186        _139 = f2.x == 0.5f;
187    }
188    else
189    {
190        _139 = false;
191    }
192    ok = _139;
193    float2 _140 = f2;
194    float2 _142 = _140 + 1.0f.xx;
195    f2 = _142;
196    bool _150 = false;
197    if (_139)
198    {
199        f2 = _142 + 1.0f.xx;
200        _150 = all(bool2(_142.x == 1.5f.xx.x, _142.y == 1.5f.xx.y));
201    }
202    else
203    {
204        _150 = false;
205    }
206    ok = _150;
207    bool _157 = false;
208    if (_150)
209    {
210        _157 = all(bool2(f2.x == 2.5f.xx.x, f2.y == 2.5f.xx.y));
211    }
212    else
213    {
214        _157 = false;
215    }
216    ok = _157;
217    bool _164 = false;
218    if (_157)
219    {
220        float2 _160 = f2;
221        f2 = _160 - 1.0f.xx;
222        _164 = all(bool2(_160.x == 2.5f.xx.x, _160.y == 2.5f.xx.y));
223    }
224    else
225    {
226        _164 = false;
227    }
228    ok = _164;
229    bool _170 = false;
230    if (_164)
231    {
232        _170 = all(bool2(f2.x == 1.5f.xx.x, f2.y == 1.5f.xx.y));
233    }
234    else
235    {
236        _170 = false;
237    }
238    ok = _170;
239    float2 _171 = f2;
240    float2 _172 = _171 - 1.0f.xx;
241    f2 = _172;
242    bool _177 = false;
243    if (_170)
244    {
245        _177 = all(bool2(_172.x == 0.5f.xx.x, _172.y == 0.5f.xx.y));
246    }
247    else
248    {
249        _177 = false;
250    }
251    ok = _177;
252    int4 i4 = int4(7, 8, 9, 10);
253    int4 _186 = int4(7, 8, 9, 10) + int4(1, 1, 1, 1);
254    i4 = _186;
255    bool _195 = false;
256    if (_177)
257    {
258        i4 = _186 + int4(1, 1, 1, 1);
259        _195 = all(bool4(_186.x == int4(8, 9, 10, 11).x, _186.y == int4(8, 9, 10, 11).y, _186.z == int4(8, 9, 10, 11).z, _186.w == int4(8, 9, 10, 11).w));
260    }
261    else
262    {
263        _195 = false;
264    }
265    ok = _195;
266    bool _203 = false;
267    if (_195)
268    {
269        _203 = all(bool4(i4.x == int4(9, 10, 11, 12).x, i4.y == int4(9, 10, 11, 12).y, i4.z == int4(9, 10, 11, 12).z, i4.w == int4(9, 10, 11, 12).w));
270    }
271    else
272    {
273        _203 = false;
274    }
275    ok = _203;
276    bool _210 = false;
277    if (_203)
278    {
279        int4 _206 = i4;
280        i4 = _206 - int4(1, 1, 1, 1);
281        _210 = all(bool4(_206.x == int4(9, 10, 11, 12).x, _206.y == int4(9, 10, 11, 12).y, _206.z == int4(9, 10, 11, 12).z, _206.w == int4(9, 10, 11, 12).w));
282    }
283    else
284    {
285        _210 = false;
286    }
287    ok = _210;
288    bool _216 = false;
289    if (_210)
290    {
291        _216 = all(bool4(i4.x == int4(8, 9, 10, 11).x, i4.y == int4(8, 9, 10, 11).y, i4.z == int4(8, 9, 10, 11).z, i4.w == int4(8, 9, 10, 11).w));
292    }
293    else
294    {
295        _216 = false;
296    }
297    ok = _216;
298    int4 _217 = i4;
299    int4 _218 = _217 - int4(1, 1, 1, 1);
300    i4 = _218;
301    bool _223 = false;
302    if (_216)
303    {
304        _223 = all(bool4(_218.x == int4(7, 8, 9, 10).x, _218.y == int4(7, 8, 9, 10).y, _218.z == int4(7, 8, 9, 10).z, _218.w == int4(7, 8, 9, 10).w));
305    }
306    else
307    {
308        _223 = false;
309    }
310    ok = _223;
311    float3x3 m3x3 = float3x3(float3(1.0f, 2.0f, 3.0f), float3(4.0f, 5.0f, 6.0f), float3(7.0f, 8.0f, 9.0f));
312    float3 _242 = float3(1.0f, 2.0f, 3.0f) + 1.0f.xxx;
313    float3 _243 = float3(4.0f, 5.0f, 6.0f) + 1.0f.xxx;
314    float3 _244 = float3(7.0f, 8.0f, 9.0f) + 1.0f.xxx;
315    m3x3 = float3x3(_242, _243, _244);
316    bool _266 = false;
317    if (_223)
318    {
319        m3x3 = float3x3(_242 + 1.0f.xxx, _243 + 1.0f.xxx, _244 + 1.0f.xxx);
320        _266 = (all(bool3(_242.x == float3(2.0f, 3.0f, 4.0f).x, _242.y == float3(2.0f, 3.0f, 4.0f).y, _242.z == float3(2.0f, 3.0f, 4.0f).z)) && all(bool3(_243.x == float3(5.0f, 6.0f, 7.0f).x, _243.y == float3(5.0f, 6.0f, 7.0f).y, _243.z == float3(5.0f, 6.0f, 7.0f).z))) && all(bool3(_244.x == float3(8.0f, 9.0f, 10.0f).x, _244.y == float3(8.0f, 9.0f, 10.0f).y, _244.z == float3(8.0f, 9.0f, 10.0f).z));
321    }
322    else
323    {
324        _266 = false;
325    }
326    ok = _266;
327    bool _286 = false;
328    if (_266)
329    {
330        _286 = (all(bool3(m3x3[0].x == float3(3.0f, 4.0f, 5.0f).x, m3x3[0].y == float3(3.0f, 4.0f, 5.0f).y, m3x3[0].z == float3(3.0f, 4.0f, 5.0f).z)) && all(bool3(m3x3[1].x == float3(6.0f, 7.0f, 8.0f).x, m3x3[1].y == float3(6.0f, 7.0f, 8.0f).y, m3x3[1].z == float3(6.0f, 7.0f, 8.0f).z))) && all(bool3(m3x3[2].x == float3(9.0f, 10.0f, 11.0f).x, m3x3[2].y == float3(9.0f, 10.0f, 11.0f).y, m3x3[2].z == float3(9.0f, 10.0f, 11.0f).z));
331    }
332    else
333    {
334        _286 = false;
335    }
336    ok = _286;
337    bool _305 = false;
338    if (_286)
339    {
340        float3x3 _289 = m3x3;
341        m3x3 = float3x3(_289[0] - 1.0f.xxx, _289[1] - 1.0f.xxx, _289[2] - 1.0f.xxx);
342        _305 = (all(bool3(_289[0].x == float3(3.0f, 4.0f, 5.0f).x, _289[0].y == float3(3.0f, 4.0f, 5.0f).y, _289[0].z == float3(3.0f, 4.0f, 5.0f).z)) && all(bool3(_289[1].x == float3(6.0f, 7.0f, 8.0f).x, _289[1].y == float3(6.0f, 7.0f, 8.0f).y, _289[1].z == float3(6.0f, 7.0f, 8.0f).z))) && all(bool3(_289[2].x == float3(9.0f, 10.0f, 11.0f).x, _289[2].y == float3(9.0f, 10.0f, 11.0f).y, _289[2].z == float3(9.0f, 10.0f, 11.0f).z));
343    }
344    else
345    {
346        _305 = false;
347    }
348    ok = _305;
349    bool _320 = false;
350    if (_305)
351    {
352        _320 = (all(bool3(m3x3[0].x == float3(2.0f, 3.0f, 4.0f).x, m3x3[0].y == float3(2.0f, 3.0f, 4.0f).y, m3x3[0].z == float3(2.0f, 3.0f, 4.0f).z)) && all(bool3(m3x3[1].x == float3(5.0f, 6.0f, 7.0f).x, m3x3[1].y == float3(5.0f, 6.0f, 7.0f).y, m3x3[1].z == float3(5.0f, 6.0f, 7.0f).z))) && all(bool3(m3x3[2].x == float3(8.0f, 9.0f, 10.0f).x, m3x3[2].y == float3(8.0f, 9.0f, 10.0f).y, m3x3[2].z == float3(8.0f, 9.0f, 10.0f).z));
353    }
354    else
355    {
356        _320 = false;
357    }
358    ok = _320;
359    float3x3 _321 = m3x3;
360    float3 _323 = _321[0] - 1.0f.xxx;
361    float3 _325 = _321[1] - 1.0f.xxx;
362    float3 _327 = _321[2] - 1.0f.xxx;
363    m3x3 = float3x3(_323, _325, _327);
364    bool _339 = false;
365    if (_320)
366    {
367        _339 = (all(bool3(_323.x == float3(1.0f, 2.0f, 3.0f).x, _323.y == float3(1.0f, 2.0f, 3.0f).y, _323.z == float3(1.0f, 2.0f, 3.0f).z)) && all(bool3(_325.x == float3(4.0f, 5.0f, 6.0f).x, _325.y == float3(4.0f, 5.0f, 6.0f).y, _325.z == float3(4.0f, 5.0f, 6.0f).z))) && all(bool3(_327.x == float3(7.0f, 8.0f, 9.0f).x, _327.y == float3(7.0f, 8.0f, 9.0f).y, _327.z == float3(7.0f, 8.0f, 9.0f).z));
368    }
369    else
370    {
371        _339 = false;
372    }
373    ok = _339;
374    float4 _340 = 0.0f.xxxx;
375    if (_339)
376    {
377        _340 = _7_colorGreen;
378    }
379    else
380    {
381        _340 = _7_colorRed;
382    }
383    return _340;
384}
385
386void frag_main()
387{
388    float2 _17 = 0.0f.xx;
389    sk_FragColor = main(_17);
390}
391
392SPIRV_Cross_Output main()
393{
394    frag_main();
395    SPIRV_Cross_Output stage_output;
396    stage_output.sk_FragColor = sk_FragColor;
397    return stage_output;
398}
399