xref: /aosp_15_r20/external/skia/resources/sksl/shared/NumberConversions.sksl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Workeruniform float unknownInput;
2*c8dee2aaSAndroid Build Coastguard Worker
3*c8dee2aaSAndroid Build Coastguard Workervoid main() {
4*c8dee2aaSAndroid Build Coastguard Worker    bool b = true;
5*c8dee2aaSAndroid Build Coastguard Worker    short s = short(unknownInput);
6*c8dee2aaSAndroid Build Coastguard Worker    int i = int(unknownInput);
7*c8dee2aaSAndroid Build Coastguard Worker    ushort us = ushort(unknownInput);
8*c8dee2aaSAndroid Build Coastguard Worker    uint ui = uint(unknownInput);
9*c8dee2aaSAndroid Build Coastguard Worker    half h = half(unknownInput);
10*c8dee2aaSAndroid Build Coastguard Worker    float f = unknownInput;
11*c8dee2aaSAndroid Build Coastguard Worker    short s2s = s;
12*c8dee2aaSAndroid Build Coastguard Worker    short i2s = short(i);
13*c8dee2aaSAndroid Build Coastguard Worker    short us2s = short(us);
14*c8dee2aaSAndroid Build Coastguard Worker    short ui2s = short(ui);
15*c8dee2aaSAndroid Build Coastguard Worker    short h2s = short(h);
16*c8dee2aaSAndroid Build Coastguard Worker    short f2s = short(f);
17*c8dee2aaSAndroid Build Coastguard Worker    short b2s = short(b);
18*c8dee2aaSAndroid Build Coastguard Worker    int s2i = s;
19*c8dee2aaSAndroid Build Coastguard Worker    int i2i = i;
20*c8dee2aaSAndroid Build Coastguard Worker    int us2i = int(us);
21*c8dee2aaSAndroid Build Coastguard Worker    int ui2i = int(ui);
22*c8dee2aaSAndroid Build Coastguard Worker    int h2i = int(h);
23*c8dee2aaSAndroid Build Coastguard Worker    int f2i = int(f);
24*c8dee2aaSAndroid Build Coastguard Worker    int b2i = int(b);
25*c8dee2aaSAndroid Build Coastguard Worker    ushort s2us = ushort(s);
26*c8dee2aaSAndroid Build Coastguard Worker    ushort i2us = ushort(i);
27*c8dee2aaSAndroid Build Coastguard Worker    ushort us2us = us;
28*c8dee2aaSAndroid Build Coastguard Worker    ushort ui2us = ushort(ui);
29*c8dee2aaSAndroid Build Coastguard Worker    ushort h2us = ushort(h);
30*c8dee2aaSAndroid Build Coastguard Worker    ushort f2us = ushort(f);
31*c8dee2aaSAndroid Build Coastguard Worker    ushort b2us = ushort(b);
32*c8dee2aaSAndroid Build Coastguard Worker    uint s2ui = uint(s);
33*c8dee2aaSAndroid Build Coastguard Worker    uint i2ui = uint(i);
34*c8dee2aaSAndroid Build Coastguard Worker    uint us2ui = us;
35*c8dee2aaSAndroid Build Coastguard Worker    uint ui2ui = ui;
36*c8dee2aaSAndroid Build Coastguard Worker    uint h2ui = uint(h);
37*c8dee2aaSAndroid Build Coastguard Worker    uint f2ui = uint(f);
38*c8dee2aaSAndroid Build Coastguard Worker    uint b2ui = uint(b);
39*c8dee2aaSAndroid Build Coastguard Worker    float s2f = float(s);
40*c8dee2aaSAndroid Build Coastguard Worker    float i2f = float(i);
41*c8dee2aaSAndroid Build Coastguard Worker    float us2f = float(us);
42*c8dee2aaSAndroid Build Coastguard Worker    float ui2f = float(ui);
43*c8dee2aaSAndroid Build Coastguard Worker    float h2f = float(h);
44*c8dee2aaSAndroid Build Coastguard Worker    float f2f = float(f);
45*c8dee2aaSAndroid Build Coastguard Worker    float b2f = float(b);
46*c8dee2aaSAndroid Build Coastguard Worker
47*c8dee2aaSAndroid Build Coastguard Worker    sk_FragColor.r = half(s) + half(i) + half(us) + half(ui) + half(h) + half(f) + half(s2s) +
48*c8dee2aaSAndroid Build Coastguard Worker                     half(i2s) + half(us2s) + half(ui2s) + half(h2s) + half(f2s) + half(b2s) +
49*c8dee2aaSAndroid Build Coastguard Worker                     half(s2i) + half(i2i) + half(us2i) + half(ui2i) + half(h2i) + half(f2i) +
50*c8dee2aaSAndroid Build Coastguard Worker                     half(b2i) + half(s2us) + half(i2us) + half(us2us);
51*c8dee2aaSAndroid Build Coastguard Worker    sk_FragColor.r += half(ui2us) + half(h2us) + half(f2us) + half(b2us) + half(s2ui) + half(i2ui) +
52*c8dee2aaSAndroid Build Coastguard Worker                      half(us2ui) + half(ui2ui) + half(h2ui) + half(f2ui) + half(b2ui) + half(s2f) +
53*c8dee2aaSAndroid Build Coastguard Worker                      half(i2f) + half(us2f) + half(ui2f) + half(h2f) + half(f2f) + half(b2f);
54*c8dee2aaSAndroid Build Coastguard Worker}
55