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