xref: /aosp_15_r20/external/skia/tests/sksl/folding/ShortCircuitBoolFolding.glsl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1
2uniform vec4 colorRed;
3uniform vec4 colorGreen;
4uniform float unknownInput;
5vec4 main() {
6    bool _0_expr = unknownInput > 0.0;
7    int _1_ok = 0;
8    int _2_bad = 0;
9    if (_0_expr) {
10        ++_1_ok;
11    } else {
12        ++_2_bad;
13    }
14    {
15        ++_1_ok;
16    }
17    if (true ^^ _0_expr) {
18        ++_2_bad;
19    } else {
20        ++_1_ok;
21    }
22    if (_0_expr) {
23        ++_1_ok;
24    } else {
25        ++_2_bad;
26    }
27    {
28        ++_1_ok;
29    }
30    if (_0_expr) {
31        ++_1_ok;
32    } else {
33        ++_2_bad;
34    }
35    if (_0_expr) {
36        ++_1_ok;
37    } else {
38        ++_2_bad;
39    }
40    if (false == _0_expr) {
41        ++_2_bad;
42    } else {
43        ++_1_ok;
44    }
45    if (true != _0_expr) {
46        ++_2_bad;
47    } else {
48        ++_1_ok;
49    }
50    if (_0_expr) {
51        ++_1_ok;
52    } else {
53        ++_2_bad;
54    }
55    if (_0_expr) {
56        ++_1_ok;
57    } else {
58        ++_2_bad;
59    }
60    {
61        ++_1_ok;
62    }
63    if (_0_expr ^^ true) {
64        ++_2_bad;
65    } else {
66        ++_1_ok;
67    }
68    if (_0_expr) {
69        ++_1_ok;
70    } else {
71        ++_2_bad;
72    }
73    {
74        ++_1_ok;
75    }
76    if (_0_expr) {
77        ++_1_ok;
78    } else {
79        ++_2_bad;
80    }
81    if (_0_expr) {
82        ++_1_ok;
83    } else {
84        ++_2_bad;
85    }
86    if (_0_expr == false) {
87        ++_2_bad;
88    } else {
89        ++_1_ok;
90    }
91    if (_0_expr != true) {
92        ++_2_bad;
93    } else {
94        ++_1_ok;
95    }
96    if (_0_expr) {
97        ++_1_ok;
98    } else {
99        ++_2_bad;
100    }
101    float _3_a = unknownInput + 2.0;
102    float _4_b = unknownInput * 2.0;
103    if (_3_a == _4_b) {
104        ++_2_bad;
105    } else {
106        ++_1_ok;
107    }
108    bool(_3_a = _4_b) || true;
109    if (_3_a == _4_b) {
110        ++_1_ok;
111    } else {
112        ++_2_bad;
113    }
114    return _1_ok == 22 && _2_bad == 0 ? colorGreen : colorRed;
115}
116