xref: /aosp_15_r20/external/skia/tests/sksl/shared/NumberConversions.metal (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1#include <metal_stdlib>
2#include <simd/simd.h>
3#ifdef __clang__
4#pragma clang diagnostic ignored "-Wall"
5#endif
6using namespace metal;
7struct Uniforms {
8    float unknownInput;
9};
10struct Inputs {
11};
12struct Outputs {
13    half4 sk_FragColor [[color(0)]];
14};
15fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
16    Outputs _out;
17    (void)_out;
18    bool b = true;
19    short s = short(_uniforms.unknownInput);
20    int i = int(_uniforms.unknownInput);
21    ushort us = ushort(_uniforms.unknownInput);
22    uint ui = uint(_uniforms.unknownInput);
23    half h = half(_uniforms.unknownInput);
24    float f = _uniforms.unknownInput;
25    short s2s = s;
26    short i2s = short(i);
27    short us2s = short(us);
28    short ui2s = short(ui);
29    short h2s = short(h);
30    short f2s = short(f);
31    short b2s = short(b);
32    int s2i = int(s);
33    int i2i = i;
34    int us2i = int(us);
35    int ui2i = int(ui);
36    int h2i = int(h);
37    int f2i = int(f);
38    int b2i = int(b);
39    ushort s2us = ushort(s);
40    ushort i2us = ushort(i);
41    ushort us2us = us;
42    ushort ui2us = ushort(ui);
43    ushort h2us = ushort(h);
44    ushort f2us = ushort(f);
45    ushort b2us = ushort(b);
46    uint s2ui = uint(s);
47    uint i2ui = uint(i);
48    uint us2ui = uint(us);
49    uint ui2ui = ui;
50    uint h2ui = uint(h);
51    uint f2ui = uint(f);
52    uint b2ui = uint(b);
53    float s2f = float(s);
54    float i2f = float(i);
55    float us2f = float(us);
56    float ui2f = float(ui);
57    float h2f = float(h);
58    float f2f = f;
59    float b2f = float(b);
60    _out.sk_FragColor.x = (((((((((((((((((((((half(s) + half(i)) + half(us)) + half(ui)) + h) + half(f)) + half(s2s)) + half(i2s)) + half(us2s)) + half(ui2s)) + half(h2s)) + half(f2s)) + half(b2s)) + half(s2i)) + half(i2i)) + half(us2i)) + half(ui2i)) + half(h2i)) + half(f2i)) + half(b2i)) + half(s2us)) + half(i2us)) + half(us2us);
61    _out.sk_FragColor.x = _out.sk_FragColor.x + (((((((((((((((((half(ui2us) + half(h2us)) + half(f2us)) + half(b2us)) + half(s2ui)) + half(i2ui)) + half(us2ui)) + half(ui2ui)) + half(h2ui)) + half(f2ui)) + half(b2ui)) + half(s2f)) + half(i2f)) + half(us2f)) + half(ui2f)) + half(h2f)) + half(f2f)) + half(b2f));
62    return _out;
63}
64