xref: /aosp_15_r20/external/skia/tests/sksl/intrinsics/IsNan.hlsl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1cbuffer _UniformBuffer : register(b0, space0)
2{
3    float4 _7_testInputs : packoffset(c0);
4    float4 _7_colorGreen : packoffset(c1);
5    float4 _7_colorRed : packoffset(c2);
6};
7
8
9static float4 sk_FragColor;
10
11struct SPIRV_Cross_Output
12{
13    float4 sk_FragColor : SV_Target0;
14};
15
16float4 main(float2 _21)
17{
18    float4 _32 = 0.0f.xxxx / _7_testInputs.yyyy;
19    float4 valueIsNaN = _32;
20    float4 _38 = 1.0f.xxxx / _7_testInputs;
21    float4 valueIsNumber = _38;
22    bool _49 = false;
23    if (isnan(_32.x))
24    {
25        _49 = all(isnan(_32.xy));
26    }
27    else
28    {
29        _49 = false;
30    }
31    bool _57 = false;
32    if (_49)
33    {
34        _57 = all(isnan(_32.xyz));
35    }
36    else
37    {
38        _57 = false;
39    }
40    bool _63 = false;
41    if (_57)
42    {
43        _63 = all(isnan(_32));
44    }
45    else
46    {
47        _63 = false;
48    }
49    bool _69 = false;
50    if (_63)
51    {
52        _69 = !isnan(_38.x);
53    }
54    else
55    {
56        _69 = false;
57    }
58    bool _76 = false;
59    if (_69)
60    {
61        _76 = !any(isnan(_38.xy));
62    }
63    else
64    {
65        _76 = false;
66    }
67    bool _83 = false;
68    if (_76)
69    {
70        _83 = !any(isnan(_38.xyz));
71    }
72    else
73    {
74        _83 = false;
75    }
76    bool _89 = false;
77    if (_83)
78    {
79        _89 = !any(isnan(_38));
80    }
81    else
82    {
83        _89 = false;
84    }
85    float4 _90 = 0.0f.xxxx;
86    if (_89)
87    {
88        _90 = _7_colorGreen;
89    }
90    else
91    {
92        _90 = _7_colorRed;
93    }
94    return _90;
95}
96
97void frag_main()
98{
99    float2 _17 = 0.0f.xx;
100    sk_FragColor = main(_17);
101}
102
103SPIRV_Cross_Output main()
104{
105    frag_main();
106    SPIRV_Cross_Output stage_output;
107    stage_output.sk_FragColor = sk_FragColor;
108    return stage_output;
109}
110