xref: /aosp_15_r20/external/skia/tests/sksl/intrinsics/MixFloatES3.hlsl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Workercbuffer _UniformBuffer : register(b0, space0)
2*c8dee2aaSAndroid Build Coastguard Worker{
3*c8dee2aaSAndroid Build Coastguard Worker    float4 _7_colorGreen : packoffset(c0);
4*c8dee2aaSAndroid Build Coastguard Worker    float4 _7_colorRed : packoffset(c1);
5*c8dee2aaSAndroid Build Coastguard Worker    float4 _7_colorBlack : packoffset(c2);
6*c8dee2aaSAndroid Build Coastguard Worker    float4 _7_colorWhite : packoffset(c3);
7*c8dee2aaSAndroid Build Coastguard Worker    float4 _7_testInputs : packoffset(c4);
8*c8dee2aaSAndroid Build Coastguard Worker};
9*c8dee2aaSAndroid Build Coastguard Worker
10*c8dee2aaSAndroid Build Coastguard Worker
11*c8dee2aaSAndroid Build Coastguard Workerstatic float4 sk_FragColor;
12*c8dee2aaSAndroid Build Coastguard Worker
13*c8dee2aaSAndroid Build Coastguard Workerstruct SPIRV_Cross_Output
14*c8dee2aaSAndroid Build Coastguard Worker{
15*c8dee2aaSAndroid Build Coastguard Worker    float4 sk_FragColor : SV_Target0;
16*c8dee2aaSAndroid Build Coastguard Worker};
17*c8dee2aaSAndroid Build Coastguard Worker
18*c8dee2aaSAndroid Build Coastguard Workerfloat4 main(float2 _21)
19*c8dee2aaSAndroid Build Coastguard Worker{
20*c8dee2aaSAndroid Build Coastguard Worker    bool4 _40 = bool4(_7_colorGreen.x != 0.0f, _7_colorGreen.y != 0.0f, _7_colorGreen.z != 0.0f, _7_colorGreen.w != 0.0f);
21*c8dee2aaSAndroid Build Coastguard Worker    bool4 FTFT = _40;
22*c8dee2aaSAndroid Build Coastguard Worker    bool4 _42 = _40.wzyx;
23*c8dee2aaSAndroid Build Coastguard Worker    bool4 TFTF = _42;
24*c8dee2aaSAndroid Build Coastguard Worker    bool _89 = false;
25*c8dee2aaSAndroid Build Coastguard Worker    if ((_40.x ? _7_colorWhite.x : _7_colorBlack.x) == _7_colorBlack.x)
26*c8dee2aaSAndroid Build Coastguard Worker    {
27*c8dee2aaSAndroid Build Coastguard Worker        bool2 _81 = _40.xy;
28*c8dee2aaSAndroid Build Coastguard Worker        float2 _66 = float2(_81.x ? _7_colorWhite.xy.x : _7_colorBlack.xy.x, _81.y ? _7_colorWhite.xy.y : _7_colorBlack.xy.y);
29*c8dee2aaSAndroid Build Coastguard Worker        float2 _86 = float2(_7_colorBlack.x, 1.0f);
30*c8dee2aaSAndroid Build Coastguard Worker        _89 = all(bool2(_66.x == _86.x, _66.y == _86.y));
31*c8dee2aaSAndroid Build Coastguard Worker    }
32*c8dee2aaSAndroid Build Coastguard Worker    else
33*c8dee2aaSAndroid Build Coastguard Worker    {
34*c8dee2aaSAndroid Build Coastguard Worker        _89 = false;
35*c8dee2aaSAndroid Build Coastguard Worker    }
36*c8dee2aaSAndroid Build Coastguard Worker    bool _118 = false;
37*c8dee2aaSAndroid Build Coastguard Worker    if (_89)
38*c8dee2aaSAndroid Build Coastguard Worker    {
39*c8dee2aaSAndroid Build Coastguard Worker        bool3 _108 = _40.xyz;
40*c8dee2aaSAndroid Build Coastguard Worker        float3 _92 = float3(_108.x ? _7_colorWhite.xyz.x : _7_colorBlack.xyz.x, _108.y ? _7_colorWhite.xyz.y : _7_colorBlack.xyz.y, _108.z ? _7_colorWhite.xyz.z : _7_colorBlack.xyz.z);
41*c8dee2aaSAndroid Build Coastguard Worker        float3 _115 = float3(_7_colorBlack.x, 1.0f, _7_colorBlack.z);
42*c8dee2aaSAndroid Build Coastguard Worker        _118 = all(bool3(_92.x == _115.x, _92.y == _115.y, _92.z == _115.z));
43*c8dee2aaSAndroid Build Coastguard Worker    }
44*c8dee2aaSAndroid Build Coastguard Worker    else
45*c8dee2aaSAndroid Build Coastguard Worker    {
46*c8dee2aaSAndroid Build Coastguard Worker        _118 = false;
47*c8dee2aaSAndroid Build Coastguard Worker    }
48*c8dee2aaSAndroid Build Coastguard Worker    bool _139 = false;
49*c8dee2aaSAndroid Build Coastguard Worker    if (_118)
50*c8dee2aaSAndroid Build Coastguard Worker    {
51*c8dee2aaSAndroid Build Coastguard Worker        float4 _121 = float4(_40.x ? _7_colorWhite.x : _7_colorBlack.x, _40.y ? _7_colorWhite.y : _7_colorBlack.y, _40.z ? _7_colorWhite.z : _7_colorBlack.z, _40.w ? _7_colorWhite.w : _7_colorBlack.w);
52*c8dee2aaSAndroid Build Coastguard Worker        float4 _136 = float4(_7_colorBlack.x, 1.0f, _7_colorBlack.z, 1.0f);
53*c8dee2aaSAndroid Build Coastguard Worker        _139 = all(bool4(_121.x == _136.x, _121.y == _136.y, _121.z == _136.z, _121.w == _136.w));
54*c8dee2aaSAndroid Build Coastguard Worker    }
55*c8dee2aaSAndroid Build Coastguard Worker    else
56*c8dee2aaSAndroid Build Coastguard Worker    {
57*c8dee2aaSAndroid Build Coastguard Worker        _139 = false;
58*c8dee2aaSAndroid Build Coastguard Worker    }
59*c8dee2aaSAndroid Build Coastguard Worker    bool _161 = false;
60*c8dee2aaSAndroid Build Coastguard Worker    if (_139)
61*c8dee2aaSAndroid Build Coastguard Worker    {
62*c8dee2aaSAndroid Build Coastguard Worker        _161 = (_42.x ? _7_testInputs.x : _7_colorWhite.x) == _7_testInputs.x;
63*c8dee2aaSAndroid Build Coastguard Worker    }
64*c8dee2aaSAndroid Build Coastguard Worker    else
65*c8dee2aaSAndroid Build Coastguard Worker    {
66*c8dee2aaSAndroid Build Coastguard Worker        _161 = false;
67*c8dee2aaSAndroid Build Coastguard Worker    }
68*c8dee2aaSAndroid Build Coastguard Worker    bool _185 = false;
69*c8dee2aaSAndroid Build Coastguard Worker    if (_161)
70*c8dee2aaSAndroid Build Coastguard Worker    {
71*c8dee2aaSAndroid Build Coastguard Worker        bool2 _178 = _42.xy;
72*c8dee2aaSAndroid Build Coastguard Worker        float2 _164 = float2(_178.x ? _7_testInputs.xy.x : _7_colorWhite.xy.x, _178.y ? _7_testInputs.xy.y : _7_colorWhite.xy.y);
73*c8dee2aaSAndroid Build Coastguard Worker        float2 _182 = float2(_7_testInputs.x, 1.0f);
74*c8dee2aaSAndroid Build Coastguard Worker        _185 = all(bool2(_164.x == _182.x, _164.y == _182.y));
75*c8dee2aaSAndroid Build Coastguard Worker    }
76*c8dee2aaSAndroid Build Coastguard Worker    else
77*c8dee2aaSAndroid Build Coastguard Worker    {
78*c8dee2aaSAndroid Build Coastguard Worker        _185 = false;
79*c8dee2aaSAndroid Build Coastguard Worker    }
80*c8dee2aaSAndroid Build Coastguard Worker    bool _212 = false;
81*c8dee2aaSAndroid Build Coastguard Worker    if (_185)
82*c8dee2aaSAndroid Build Coastguard Worker    {
83*c8dee2aaSAndroid Build Coastguard Worker        bool3 _202 = _42.xyz;
84*c8dee2aaSAndroid Build Coastguard Worker        float3 _188 = float3(_202.x ? _7_testInputs.xyz.x : _7_colorWhite.xyz.x, _202.y ? _7_testInputs.xyz.y : _7_colorWhite.xyz.y, _202.z ? _7_testInputs.xyz.z : _7_colorWhite.xyz.z);
85*c8dee2aaSAndroid Build Coastguard Worker        float3 _209 = float3(_7_testInputs.x, 1.0f, _7_testInputs.z);
86*c8dee2aaSAndroid Build Coastguard Worker        _212 = all(bool3(_188.x == _209.x, _188.y == _209.y, _188.z == _209.z));
87*c8dee2aaSAndroid Build Coastguard Worker    }
88*c8dee2aaSAndroid Build Coastguard Worker    else
89*c8dee2aaSAndroid Build Coastguard Worker    {
90*c8dee2aaSAndroid Build Coastguard Worker        _212 = false;
91*c8dee2aaSAndroid Build Coastguard Worker    }
92*c8dee2aaSAndroid Build Coastguard Worker    bool _233 = false;
93*c8dee2aaSAndroid Build Coastguard Worker    if (_212)
94*c8dee2aaSAndroid Build Coastguard Worker    {
95*c8dee2aaSAndroid Build Coastguard Worker        float4 _215 = float4(_42.x ? _7_testInputs.x : _7_colorWhite.x, _42.y ? _7_testInputs.y : _7_colorWhite.y, _42.z ? _7_testInputs.z : _7_colorWhite.z, _42.w ? _7_testInputs.w : _7_colorWhite.w);
96*c8dee2aaSAndroid Build Coastguard Worker        float4 _230 = float4(_7_testInputs.x, 1.0f, _7_testInputs.z, 1.0f);
97*c8dee2aaSAndroid Build Coastguard Worker        _233 = all(bool4(_215.x == _230.x, _215.y == _230.y, _215.z == _230.z, _215.w == _230.w));
98*c8dee2aaSAndroid Build Coastguard Worker    }
99*c8dee2aaSAndroid Build Coastguard Worker    else
100*c8dee2aaSAndroid Build Coastguard Worker    {
101*c8dee2aaSAndroid Build Coastguard Worker        _233 = false;
102*c8dee2aaSAndroid Build Coastguard Worker    }
103*c8dee2aaSAndroid Build Coastguard Worker    float4 _234 = 0.0f.xxxx;
104*c8dee2aaSAndroid Build Coastguard Worker    if (_233)
105*c8dee2aaSAndroid Build Coastguard Worker    {
106*c8dee2aaSAndroid Build Coastguard Worker        _234 = _7_colorGreen;
107*c8dee2aaSAndroid Build Coastguard Worker    }
108*c8dee2aaSAndroid Build Coastguard Worker    else
109*c8dee2aaSAndroid Build Coastguard Worker    {
110*c8dee2aaSAndroid Build Coastguard Worker        _234 = _7_colorRed;
111*c8dee2aaSAndroid Build Coastguard Worker    }
112*c8dee2aaSAndroid Build Coastguard Worker    return _234;
113*c8dee2aaSAndroid Build Coastguard Worker}
114*c8dee2aaSAndroid Build Coastguard Worker
115*c8dee2aaSAndroid Build Coastguard Workervoid frag_main()
116*c8dee2aaSAndroid Build Coastguard Worker{
117*c8dee2aaSAndroid Build Coastguard Worker    float2 _17 = 0.0f.xx;
118*c8dee2aaSAndroid Build Coastguard Worker    sk_FragColor = main(_17);
119*c8dee2aaSAndroid Build Coastguard Worker}
120*c8dee2aaSAndroid Build Coastguard Worker
121*c8dee2aaSAndroid Build Coastguard WorkerSPIRV_Cross_Output main()
122*c8dee2aaSAndroid Build Coastguard Worker{
123*c8dee2aaSAndroid Build Coastguard Worker    frag_main();
124*c8dee2aaSAndroid Build Coastguard Worker    SPIRV_Cross_Output stage_output;
125*c8dee2aaSAndroid Build Coastguard Worker    stage_output.sk_FragColor = sk_FragColor;
126*c8dee2aaSAndroid Build Coastguard Worker    return stage_output;
127*c8dee2aaSAndroid Build Coastguard Worker}
128