xref: /aosp_15_r20/external/skia/resources/sksl/shared/OperatorsES3.sksl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Workeruniform half4 colorGreen, colorRed;
2*c8dee2aaSAndroid Build Coastguard Workeruniform float unknownInput;
3*c8dee2aaSAndroid Build Coastguard Worker
4*c8dee2aaSAndroid Build Coastguard Workerhalf4 main(float2 coords) {
5*c8dee2aaSAndroid Build Coastguard Worker    float x = 1, y = 2;
6*c8dee2aaSAndroid Build Coastguard Worker    int z = 3U;
7*c8dee2aaSAndroid Build Coastguard Worker    x = x - x + y * x * x * (y - x);
8*c8dee2aaSAndroid Build Coastguard Worker    y = x / y / x;
9*c8dee2aaSAndroid Build Coastguard Worker    z = (z / 2u % 3 << 4) >> 2 << 1;
10*c8dee2aaSAndroid Build Coastguard Worker    bool b = (x > 4) == x < 2 || 2 >= unknownInput && y <= x;
11*c8dee2aaSAndroid Build Coastguard Worker    bool c = unknownInput > 2;
12*c8dee2aaSAndroid Build Coastguard Worker    bool d = b ^^ c;
13*c8dee2aaSAndroid Build Coastguard Worker    bool e = b && c;
14*c8dee2aaSAndroid Build Coastguard Worker    bool f = b || c;
15*c8dee2aaSAndroid Build Coastguard Worker    x += 12;
16*c8dee2aaSAndroid Build Coastguard Worker    x -= 12;
17*c8dee2aaSAndroid Build Coastguard Worker    x *= y /= 10;
18*c8dee2aaSAndroid Build Coastguard Worker    z |= 0;
19*c8dee2aaSAndroid Build Coastguard Worker    z &= -1;
20*c8dee2aaSAndroid Build Coastguard Worker    z ^= 0;
21*c8dee2aaSAndroid Build Coastguard Worker    z >>= 2;
22*c8dee2aaSAndroid Build Coastguard Worker    z <<= 4;
23*c8dee2aaSAndroid Build Coastguard Worker    z %= 5;
24*c8dee2aaSAndroid Build Coastguard Worker    x = (colorGreen.xy, 6);
25*c8dee2aaSAndroid Build Coastguard Worker    y = (float(b) * float(c) * float(d) * float(e) * float(f), 6.0);
26*c8dee2aaSAndroid Build Coastguard Worker    z = (colorRed.zw, 6);
27*c8dee2aaSAndroid Build Coastguard Worker    int2 w = int2(~5);
28*c8dee2aaSAndroid Build Coastguard Worker    w = ~w;
29*c8dee2aaSAndroid Build Coastguard Worker
30*c8dee2aaSAndroid Build Coastguard Worker    return (w.x == 5 && w.y == 5 && x == 6 && y == 6 && z == 6) ? colorGreen : colorRed;
31*c8dee2aaSAndroid Build Coastguard Worker}
32