xref: /aosp_15_r20/external/skia/resources/sksl/shared/TernaryComplexNesting.sksl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1uniform half4 colorWhite;
2
3noinline bool IsEqual(half4 x, half4 y) {
4    return x == y;
5}
6
7half4 main(float2 coords) {
8    half4 colorBlue  = colorWhite.00ba,
9          colorGreen = colorWhite.0g0a,
10          colorRed   = colorWhite.r00a;
11    half4 result;
12    result = !IsEqual(colorWhite, colorBlue)                                // takes true side
13               ? ( IsEqual(colorGreen, colorRed) ? colorRed : colorGreen)   // takes false side
14               : (!IsEqual(colorRed, colorGreen) ? colorBlue : colorWhite); // not taken
15
16    return  IsEqual(colorRed, colorBlue ) ? colorWhite :
17           !IsEqual(colorRed, colorGreen) ? result :     // is taken
18            IsEqual(colorRed, colorWhite) ? colorBlue :
19                                            colorRed;
20}
21