xref: /aosp_15_r20/external/skia/tests/sksl/intrinsics/MixFloatES2.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    float4 expectedBW = float4(0.5f, 0.5f, 0.5f, 1.0f);
21*c8dee2aaSAndroid Build Coastguard Worker    float4 expectedWT = float4(1.0f, 0.5f, 1.0f, 2.25f);
22*c8dee2aaSAndroid Build Coastguard Worker    float4 _33 = lerp(_7_colorGreen, _7_colorRed, 0.0f.xxxx);
23*c8dee2aaSAndroid Build Coastguard Worker    bool _60 = false;
24*c8dee2aaSAndroid Build Coastguard Worker    if (all(bool4(_33.x == float4(0.0f, 1.0f, 0.0f, 1.0f).x, _33.y == float4(0.0f, 1.0f, 0.0f, 1.0f).y, _33.z == float4(0.0f, 1.0f, 0.0f, 1.0f).z, _33.w == float4(0.0f, 1.0f, 0.0f, 1.0f).w)))
25*c8dee2aaSAndroid Build Coastguard Worker    {
26*c8dee2aaSAndroid Build Coastguard Worker        float4 _49 = lerp(_7_colorGreen, _7_colorRed, 0.25f.xxxx);
27*c8dee2aaSAndroid Build Coastguard Worker        _60 = all(bool4(_49.x == float4(0.25f, 0.75f, 0.0f, 1.0f).x, _49.y == float4(0.25f, 0.75f, 0.0f, 1.0f).y, _49.z == float4(0.25f, 0.75f, 0.0f, 1.0f).z, _49.w == float4(0.25f, 0.75f, 0.0f, 1.0f).w));
28*c8dee2aaSAndroid Build Coastguard Worker    }
29*c8dee2aaSAndroid Build Coastguard Worker    else
30*c8dee2aaSAndroid Build Coastguard Worker    {
31*c8dee2aaSAndroid Build Coastguard Worker        _60 = false;
32*c8dee2aaSAndroid Build Coastguard Worker    }
33*c8dee2aaSAndroid Build Coastguard Worker    bool _72 = false;
34*c8dee2aaSAndroid Build Coastguard Worker    if (_60)
35*c8dee2aaSAndroid Build Coastguard Worker    {
36*c8dee2aaSAndroid Build Coastguard Worker        float4 _63 = lerp(_7_colorGreen, _7_colorRed, 0.75f.xxxx);
37*c8dee2aaSAndroid Build Coastguard Worker        _72 = all(bool4(_63.x == float4(0.75f, 0.25f, 0.0f, 1.0f).x, _63.y == float4(0.75f, 0.25f, 0.0f, 1.0f).y, _63.z == float4(0.75f, 0.25f, 0.0f, 1.0f).z, _63.w == float4(0.75f, 0.25f, 0.0f, 1.0f).w));
38*c8dee2aaSAndroid Build Coastguard Worker    }
39*c8dee2aaSAndroid Build Coastguard Worker    else
40*c8dee2aaSAndroid Build Coastguard Worker    {
41*c8dee2aaSAndroid Build Coastguard Worker        _72 = false;
42*c8dee2aaSAndroid Build Coastguard Worker    }
43*c8dee2aaSAndroid Build Coastguard Worker    bool _84 = false;
44*c8dee2aaSAndroid Build Coastguard Worker    if (_72)
45*c8dee2aaSAndroid Build Coastguard Worker    {
46*c8dee2aaSAndroid Build Coastguard Worker        float4 _75 = lerp(_7_colorGreen, _7_colorRed, 1.0f.xxxx);
47*c8dee2aaSAndroid Build Coastguard Worker        _84 = all(bool4(_75.x == float4(1.0f, 0.0f, 0.0f, 1.0f).x, _75.y == float4(1.0f, 0.0f, 0.0f, 1.0f).y, _75.z == float4(1.0f, 0.0f, 0.0f, 1.0f).z, _75.w == float4(1.0f, 0.0f, 0.0f, 1.0f).w));
48*c8dee2aaSAndroid Build Coastguard Worker    }
49*c8dee2aaSAndroid Build Coastguard Worker    else
50*c8dee2aaSAndroid Build Coastguard Worker    {
51*c8dee2aaSAndroid Build Coastguard Worker        _84 = false;
52*c8dee2aaSAndroid Build Coastguard Worker    }
53*c8dee2aaSAndroid Build Coastguard Worker    bool _97 = false;
54*c8dee2aaSAndroid Build Coastguard Worker    if (_84)
55*c8dee2aaSAndroid Build Coastguard Worker    {
56*c8dee2aaSAndroid Build Coastguard Worker        _97 = lerp(_7_colorBlack.x, _7_colorWhite.x, 0.5f) == 0.5f;
57*c8dee2aaSAndroid Build Coastguard Worker    }
58*c8dee2aaSAndroid Build Coastguard Worker    else
59*c8dee2aaSAndroid Build Coastguard Worker    {
60*c8dee2aaSAndroid Build Coastguard Worker        _97 = false;
61*c8dee2aaSAndroid Build Coastguard Worker    }
62*c8dee2aaSAndroid Build Coastguard Worker    bool _112 = false;
63*c8dee2aaSAndroid Build Coastguard Worker    if (_97)
64*c8dee2aaSAndroid Build Coastguard Worker    {
65*c8dee2aaSAndroid Build Coastguard Worker        float2 _100 = lerp(_7_colorBlack.xy, _7_colorWhite.xy, 0.5f.xx);
66*c8dee2aaSAndroid Build Coastguard Worker        _112 = all(bool2(_100.x == float4(0.5f, 0.5f, 0.5f, 1.0f).xy.x, _100.y == float4(0.5f, 0.5f, 0.5f, 1.0f).xy.y));
67*c8dee2aaSAndroid Build Coastguard Worker    }
68*c8dee2aaSAndroid Build Coastguard Worker    else
69*c8dee2aaSAndroid Build Coastguard Worker    {
70*c8dee2aaSAndroid Build Coastguard Worker        _112 = false;
71*c8dee2aaSAndroid Build Coastguard Worker    }
72*c8dee2aaSAndroid Build Coastguard Worker    bool _128 = false;
73*c8dee2aaSAndroid Build Coastguard Worker    if (_112)
74*c8dee2aaSAndroid Build Coastguard Worker    {
75*c8dee2aaSAndroid Build Coastguard Worker        float3 _115 = lerp(_7_colorBlack.xyz, _7_colorWhite.xyz, 0.5f.xxx);
76*c8dee2aaSAndroid Build Coastguard Worker        _128 = all(bool3(_115.x == float4(0.5f, 0.5f, 0.5f, 1.0f).xyz.x, _115.y == float4(0.5f, 0.5f, 0.5f, 1.0f).xyz.y, _115.z == float4(0.5f, 0.5f, 0.5f, 1.0f).xyz.z));
77*c8dee2aaSAndroid Build Coastguard Worker    }
78*c8dee2aaSAndroid Build Coastguard Worker    else
79*c8dee2aaSAndroid Build Coastguard Worker    {
80*c8dee2aaSAndroid Build Coastguard Worker        _128 = false;
81*c8dee2aaSAndroid Build Coastguard Worker    }
82*c8dee2aaSAndroid Build Coastguard Worker    bool _139 = false;
83*c8dee2aaSAndroid Build Coastguard Worker    if (_128)
84*c8dee2aaSAndroid Build Coastguard Worker    {
85*c8dee2aaSAndroid Build Coastguard Worker        float4 _131 = lerp(_7_colorBlack, _7_colorWhite, 0.5f.xxxx);
86*c8dee2aaSAndroid Build Coastguard Worker        _139 = all(bool4(_131.x == float4(0.5f, 0.5f, 0.5f, 1.0f).x, _131.y == float4(0.5f, 0.5f, 0.5f, 1.0f).y, _131.z == float4(0.5f, 0.5f, 0.5f, 1.0f).z, _131.w == float4(0.5f, 0.5f, 0.5f, 1.0f).w));
87*c8dee2aaSAndroid Build Coastguard Worker    }
88*c8dee2aaSAndroid Build Coastguard Worker    else
89*c8dee2aaSAndroid Build Coastguard Worker    {
90*c8dee2aaSAndroid Build Coastguard Worker        _139 = false;
91*c8dee2aaSAndroid Build Coastguard Worker    }
92*c8dee2aaSAndroid Build Coastguard Worker    bool _143 = false;
93*c8dee2aaSAndroid Build Coastguard Worker    if (_139)
94*c8dee2aaSAndroid Build Coastguard Worker    {
95*c8dee2aaSAndroid Build Coastguard Worker        _143 = true;
96*c8dee2aaSAndroid Build Coastguard Worker    }
97*c8dee2aaSAndroid Build Coastguard Worker    else
98*c8dee2aaSAndroid Build Coastguard Worker    {
99*c8dee2aaSAndroid Build Coastguard Worker        _143 = false;
100*c8dee2aaSAndroid Build Coastguard Worker    }
101*c8dee2aaSAndroid Build Coastguard Worker    bool _149 = false;
102*c8dee2aaSAndroid Build Coastguard Worker    if (_143)
103*c8dee2aaSAndroid Build Coastguard Worker    {
104*c8dee2aaSAndroid Build Coastguard Worker        _149 = all(bool2(0.5f.xx.x == float4(0.5f, 0.5f, 0.5f, 1.0f).xy.x, 0.5f.xx.y == float4(0.5f, 0.5f, 0.5f, 1.0f).xy.y));
105*c8dee2aaSAndroid Build Coastguard Worker    }
106*c8dee2aaSAndroid Build Coastguard Worker    else
107*c8dee2aaSAndroid Build Coastguard Worker    {
108*c8dee2aaSAndroid Build Coastguard Worker        _149 = false;
109*c8dee2aaSAndroid Build Coastguard Worker    }
110*c8dee2aaSAndroid Build Coastguard Worker    bool _155 = false;
111*c8dee2aaSAndroid Build Coastguard Worker    if (_149)
112*c8dee2aaSAndroid Build Coastguard Worker    {
113*c8dee2aaSAndroid Build Coastguard Worker        _155 = all(bool3(0.5f.xxx.x == float4(0.5f, 0.5f, 0.5f, 1.0f).xyz.x, 0.5f.xxx.y == float4(0.5f, 0.5f, 0.5f, 1.0f).xyz.y, 0.5f.xxx.z == float4(0.5f, 0.5f, 0.5f, 1.0f).xyz.z));
114*c8dee2aaSAndroid Build Coastguard Worker    }
115*c8dee2aaSAndroid Build Coastguard Worker    else
116*c8dee2aaSAndroid Build Coastguard Worker    {
117*c8dee2aaSAndroid Build Coastguard Worker        _155 = false;
118*c8dee2aaSAndroid Build Coastguard Worker    }
119*c8dee2aaSAndroid Build Coastguard Worker    bool _158 = false;
120*c8dee2aaSAndroid Build Coastguard Worker    if (_155)
121*c8dee2aaSAndroid Build Coastguard Worker    {
122*c8dee2aaSAndroid Build Coastguard Worker        _158 = true;
123*c8dee2aaSAndroid Build Coastguard Worker    }
124*c8dee2aaSAndroid Build Coastguard Worker    else
125*c8dee2aaSAndroid Build Coastguard Worker    {
126*c8dee2aaSAndroid Build Coastguard Worker        _158 = false;
127*c8dee2aaSAndroid Build Coastguard Worker    }
128*c8dee2aaSAndroid Build Coastguard Worker    bool _170 = false;
129*c8dee2aaSAndroid Build Coastguard Worker    if (_158)
130*c8dee2aaSAndroid Build Coastguard Worker    {
131*c8dee2aaSAndroid Build Coastguard Worker        _170 = lerp(_7_colorWhite.x, _7_testInputs.x, 0.0f) == 1.0f;
132*c8dee2aaSAndroid Build Coastguard Worker    }
133*c8dee2aaSAndroid Build Coastguard Worker    else
134*c8dee2aaSAndroid Build Coastguard Worker    {
135*c8dee2aaSAndroid Build Coastguard Worker        _170 = false;
136*c8dee2aaSAndroid Build Coastguard Worker    }
137*c8dee2aaSAndroid Build Coastguard Worker    bool _184 = false;
138*c8dee2aaSAndroid Build Coastguard Worker    if (_170)
139*c8dee2aaSAndroid Build Coastguard Worker    {
140*c8dee2aaSAndroid Build Coastguard Worker        float2 _173 = lerp(_7_colorWhite.xy, _7_testInputs.xy, float2(0.0f, 0.5f));
141*c8dee2aaSAndroid Build Coastguard Worker        _184 = all(bool2(_173.x == float4(1.0f, 0.5f, 1.0f, 2.25f).xy.x, _173.y == float4(1.0f, 0.5f, 1.0f, 2.25f).xy.y));
142*c8dee2aaSAndroid Build Coastguard Worker    }
143*c8dee2aaSAndroid Build Coastguard Worker    else
144*c8dee2aaSAndroid Build Coastguard Worker    {
145*c8dee2aaSAndroid Build Coastguard Worker        _184 = false;
146*c8dee2aaSAndroid Build Coastguard Worker    }
147*c8dee2aaSAndroid Build Coastguard Worker    bool _198 = false;
148*c8dee2aaSAndroid Build Coastguard Worker    if (_184)
149*c8dee2aaSAndroid Build Coastguard Worker    {
150*c8dee2aaSAndroid Build Coastguard Worker        float3 _187 = lerp(_7_colorWhite.xyz, _7_testInputs.xyz, float3(0.0f, 0.5f, 0.0f));
151*c8dee2aaSAndroid Build Coastguard Worker        _198 = all(bool3(_187.x == float4(1.0f, 0.5f, 1.0f, 2.25f).xyz.x, _187.y == float4(1.0f, 0.5f, 1.0f, 2.25f).xyz.y, _187.z == float4(1.0f, 0.5f, 1.0f, 2.25f).xyz.z));
152*c8dee2aaSAndroid Build Coastguard Worker    }
153*c8dee2aaSAndroid Build Coastguard Worker    else
154*c8dee2aaSAndroid Build Coastguard Worker    {
155*c8dee2aaSAndroid Build Coastguard Worker        _198 = false;
156*c8dee2aaSAndroid Build Coastguard Worker    }
157*c8dee2aaSAndroid Build Coastguard Worker    bool _209 = false;
158*c8dee2aaSAndroid Build Coastguard Worker    if (_198)
159*c8dee2aaSAndroid Build Coastguard Worker    {
160*c8dee2aaSAndroid Build Coastguard Worker        float4 _201 = lerp(_7_colorWhite, _7_testInputs, float4(0.0f, 0.5f, 0.0f, 1.0f));
161*c8dee2aaSAndroid Build Coastguard Worker        _209 = all(bool4(_201.x == float4(1.0f, 0.5f, 1.0f, 2.25f).x, _201.y == float4(1.0f, 0.5f, 1.0f, 2.25f).y, _201.z == float4(1.0f, 0.5f, 1.0f, 2.25f).z, _201.w == float4(1.0f, 0.5f, 1.0f, 2.25f).w));
162*c8dee2aaSAndroid Build Coastguard Worker    }
163*c8dee2aaSAndroid Build Coastguard Worker    else
164*c8dee2aaSAndroid Build Coastguard Worker    {
165*c8dee2aaSAndroid Build Coastguard Worker        _209 = false;
166*c8dee2aaSAndroid Build Coastguard Worker    }
167*c8dee2aaSAndroid Build Coastguard Worker    bool _212 = false;
168*c8dee2aaSAndroid Build Coastguard Worker    if (_209)
169*c8dee2aaSAndroid Build Coastguard Worker    {
170*c8dee2aaSAndroid Build Coastguard Worker        _212 = true;
171*c8dee2aaSAndroid Build Coastguard Worker    }
172*c8dee2aaSAndroid Build Coastguard Worker    else
173*c8dee2aaSAndroid Build Coastguard Worker    {
174*c8dee2aaSAndroid Build Coastguard Worker        _212 = false;
175*c8dee2aaSAndroid Build Coastguard Worker    }
176*c8dee2aaSAndroid Build Coastguard Worker    bool _219 = false;
177*c8dee2aaSAndroid Build Coastguard Worker    if (_212)
178*c8dee2aaSAndroid Build Coastguard Worker    {
179*c8dee2aaSAndroid Build Coastguard Worker        _219 = all(bool2(float2(1.0f, 0.5f).x == float4(1.0f, 0.5f, 1.0f, 2.25f).xy.x, float2(1.0f, 0.5f).y == float4(1.0f, 0.5f, 1.0f, 2.25f).xy.y));
180*c8dee2aaSAndroid Build Coastguard Worker    }
181*c8dee2aaSAndroid Build Coastguard Worker    else
182*c8dee2aaSAndroid Build Coastguard Worker    {
183*c8dee2aaSAndroid Build Coastguard Worker        _219 = false;
184*c8dee2aaSAndroid Build Coastguard Worker    }
185*c8dee2aaSAndroid Build Coastguard Worker    bool _226 = false;
186*c8dee2aaSAndroid Build Coastguard Worker    if (_219)
187*c8dee2aaSAndroid Build Coastguard Worker    {
188*c8dee2aaSAndroid Build Coastguard Worker        _226 = all(bool3(float3(1.0f, 0.5f, 1.0f).x == float4(1.0f, 0.5f, 1.0f, 2.25f).xyz.x, float3(1.0f, 0.5f, 1.0f).y == float4(1.0f, 0.5f, 1.0f, 2.25f).xyz.y, float3(1.0f, 0.5f, 1.0f).z == float4(1.0f, 0.5f, 1.0f, 2.25f).xyz.z));
189*c8dee2aaSAndroid Build Coastguard Worker    }
190*c8dee2aaSAndroid Build Coastguard Worker    else
191*c8dee2aaSAndroid Build Coastguard Worker    {
192*c8dee2aaSAndroid Build Coastguard Worker        _226 = false;
193*c8dee2aaSAndroid Build Coastguard Worker    }
194*c8dee2aaSAndroid Build Coastguard Worker    bool _229 = false;
195*c8dee2aaSAndroid Build Coastguard Worker    if (_226)
196*c8dee2aaSAndroid Build Coastguard Worker    {
197*c8dee2aaSAndroid Build Coastguard Worker        _229 = true;
198*c8dee2aaSAndroid Build Coastguard Worker    }
199*c8dee2aaSAndroid Build Coastguard Worker    else
200*c8dee2aaSAndroid Build Coastguard Worker    {
201*c8dee2aaSAndroid Build Coastguard Worker        _229 = false;
202*c8dee2aaSAndroid Build Coastguard Worker    }
203*c8dee2aaSAndroid Build Coastguard Worker    float4 _230 = 0.0f.xxxx;
204*c8dee2aaSAndroid Build Coastguard Worker    if (_229)
205*c8dee2aaSAndroid Build Coastguard Worker    {
206*c8dee2aaSAndroid Build Coastguard Worker        _230 = _7_colorGreen;
207*c8dee2aaSAndroid Build Coastguard Worker    }
208*c8dee2aaSAndroid Build Coastguard Worker    else
209*c8dee2aaSAndroid Build Coastguard Worker    {
210*c8dee2aaSAndroid Build Coastguard Worker        _230 = _7_colorRed;
211*c8dee2aaSAndroid Build Coastguard Worker    }
212*c8dee2aaSAndroid Build Coastguard Worker    return _230;
213*c8dee2aaSAndroid Build Coastguard Worker}
214*c8dee2aaSAndroid Build Coastguard Worker
215*c8dee2aaSAndroid Build Coastguard Workervoid frag_main()
216*c8dee2aaSAndroid Build Coastguard Worker{
217*c8dee2aaSAndroid Build Coastguard Worker    float2 _17 = 0.0f.xx;
218*c8dee2aaSAndroid Build Coastguard Worker    sk_FragColor = main(_17);
219*c8dee2aaSAndroid Build Coastguard Worker}
220*c8dee2aaSAndroid Build Coastguard Worker
221*c8dee2aaSAndroid Build Coastguard WorkerSPIRV_Cross_Output main()
222*c8dee2aaSAndroid Build Coastguard Worker{
223*c8dee2aaSAndroid Build Coastguard Worker    frag_main();
224*c8dee2aaSAndroid Build Coastguard Worker    SPIRV_Cross_Output stage_output;
225*c8dee2aaSAndroid Build Coastguard Worker    stage_output.sk_FragColor = sk_FragColor;
226*c8dee2aaSAndroid Build Coastguard Worker    return stage_output;
227*c8dee2aaSAndroid Build Coastguard Worker}
228