xref: /aosp_15_r20/external/skia/resources/sksl/shared/TernaryOneZeroOptimization.sksl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Workeruniform half4 colorGreen, colorRed;
2*c8dee2aaSAndroid Build Coastguard Worker
3*c8dee2aaSAndroid Build Coastguard Workerhalf4 main(float2 coords) {
4*c8dee2aaSAndroid Build Coastguard Worker    bool ok = true;
5*c8dee2aaSAndroid Build Coastguard Worker    bool TRUE = bool(colorGreen.g);
6*c8dee2aaSAndroid Build Coastguard Worker
7*c8dee2aaSAndroid Build Coastguard Worker    ok = ok && (1 == (TRUE ? 1 : 0));
8*c8dee2aaSAndroid Build Coastguard Worker    ok = ok && (1.0 == (TRUE ? 1.0 : 0.0));
9*c8dee2aaSAndroid Build Coastguard Worker
10*c8dee2aaSAndroid Build Coastguard Worker    ok = ok && (bool(TRUE ? 1 : 0));
11*c8dee2aaSAndroid Build Coastguard Worker    ok = ok && (1 == int(TRUE ? 1 : 0));
12*c8dee2aaSAndroid Build Coastguard Worker    ok = ok && (1.0 == float(TRUE ? 1.0 : 0.0));
13*c8dee2aaSAndroid Build Coastguard Worker
14*c8dee2aaSAndroid Build Coastguard Worker    ok = ok && (bool2(true) == bool2(TRUE ? 1 : 0));
15*c8dee2aaSAndroid Build Coastguard Worker    ok = ok && (int2(1) == int2(TRUE ? 1 : 0));
16*c8dee2aaSAndroid Build Coastguard Worker    ok = ok && (float2(1.0) == float2(TRUE ? 1.0 : 0.0));
17*c8dee2aaSAndroid Build Coastguard Worker
18*c8dee2aaSAndroid Build Coastguard Worker    return ok ? colorGreen : colorRed;
19*c8dee2aaSAndroid Build Coastguard Worker}
20