xref: /aosp_15_r20/external/skia/tests/sksl/intrinsics/MinUint.hlsl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Workercbuffer _UniformBuffer : register(b0, space0)
2*c8dee2aaSAndroid Build Coastguard Worker{
3*c8dee2aaSAndroid Build Coastguard Worker    float4 _7_testInputs : packoffset(c0);
4*c8dee2aaSAndroid Build Coastguard Worker    float4 _7_colorGreen : packoffset(c1);
5*c8dee2aaSAndroid Build Coastguard Worker    float4 _7_colorRed : packoffset(c2);
6*c8dee2aaSAndroid Build Coastguard Worker};
7*c8dee2aaSAndroid Build Coastguard Worker
8*c8dee2aaSAndroid Build Coastguard Worker
9*c8dee2aaSAndroid Build Coastguard Workerstatic float4 sk_FragColor;
10*c8dee2aaSAndroid Build Coastguard Worker
11*c8dee2aaSAndroid Build Coastguard Workerstruct SPIRV_Cross_Output
12*c8dee2aaSAndroid Build Coastguard Worker{
13*c8dee2aaSAndroid Build Coastguard Worker    float4 sk_FragColor : SV_Target0;
14*c8dee2aaSAndroid Build Coastguard Worker};
15*c8dee2aaSAndroid Build Coastguard Worker
16*c8dee2aaSAndroid Build Coastguard Workerfloat4 main(float2 _21)
17*c8dee2aaSAndroid Build Coastguard Worker{
18*c8dee2aaSAndroid Build Coastguard Worker    float4 _34 = abs(_7_testInputs) * 100.0f;
19*c8dee2aaSAndroid Build Coastguard Worker    uint4 _43 = uint4(uint(_34.x), uint(_34.y), uint(_34.z), uint(_34.w));
20*c8dee2aaSAndroid Build Coastguard Worker    uint4 uintValues = _43;
21*c8dee2aaSAndroid Build Coastguard Worker    float4 _48 = _7_colorGreen * 100.0f;
22*c8dee2aaSAndroid Build Coastguard Worker    uint4 _57 = uint4(uint(_48.x), uint(_48.y), uint(_48.z), uint(_48.w));
23*c8dee2aaSAndroid Build Coastguard Worker    uint4 uintGreen = _57;
24*c8dee2aaSAndroid Build Coastguard Worker    uint4 expectedA = uint4(50u, 0u, 50u, 50u);
25*c8dee2aaSAndroid Build Coastguard Worker    uint4 expectedB = uint4(0u, 0u, 0u, 100u);
26*c8dee2aaSAndroid Build Coastguard Worker    uint _68 = _43.x;
27*c8dee2aaSAndroid Build Coastguard Worker    bool _80 = false;
28*c8dee2aaSAndroid Build Coastguard Worker    if (min(_68, 50u) == 50u)
29*c8dee2aaSAndroid Build Coastguard Worker    {
30*c8dee2aaSAndroid Build Coastguard Worker        uint2 _72 = min(_43.xy, uint2(50u, 50u));
31*c8dee2aaSAndroid Build Coastguard Worker        _80 = all(bool2(_72.x == uint4(50u, 0u, 50u, 50u).xy.x, _72.y == uint4(50u, 0u, 50u, 50u).xy.y));
32*c8dee2aaSAndroid Build Coastguard Worker    }
33*c8dee2aaSAndroid Build Coastguard Worker    else
34*c8dee2aaSAndroid Build Coastguard Worker    {
35*c8dee2aaSAndroid Build Coastguard Worker        _80 = false;
36*c8dee2aaSAndroid Build Coastguard Worker    }
37*c8dee2aaSAndroid Build Coastguard Worker    bool _91 = false;
38*c8dee2aaSAndroid Build Coastguard Worker    if (_80)
39*c8dee2aaSAndroid Build Coastguard Worker    {
40*c8dee2aaSAndroid Build Coastguard Worker        uint3 _83 = min(_43.xyz, uint3(50u, 50u, 50u));
41*c8dee2aaSAndroid Build Coastguard Worker        _91 = all(bool3(_83.x == uint4(50u, 0u, 50u, 50u).xyz.x, _83.y == uint4(50u, 0u, 50u, 50u).xyz.y, _83.z == uint4(50u, 0u, 50u, 50u).xyz.z));
42*c8dee2aaSAndroid Build Coastguard Worker    }
43*c8dee2aaSAndroid Build Coastguard Worker    else
44*c8dee2aaSAndroid Build Coastguard Worker    {
45*c8dee2aaSAndroid Build Coastguard Worker        _91 = false;
46*c8dee2aaSAndroid Build Coastguard Worker    }
47*c8dee2aaSAndroid Build Coastguard Worker    bool _99 = false;
48*c8dee2aaSAndroid Build Coastguard Worker    if (_91)
49*c8dee2aaSAndroid Build Coastguard Worker    {
50*c8dee2aaSAndroid Build Coastguard Worker        uint4 _94 = min(_43, uint4(50u, 50u, 50u, 50u));
51*c8dee2aaSAndroid Build Coastguard Worker        _99 = all(bool4(_94.x == uint4(50u, 0u, 50u, 50u).x, _94.y == uint4(50u, 0u, 50u, 50u).y, _94.z == uint4(50u, 0u, 50u, 50u).z, _94.w == uint4(50u, 0u, 50u, 50u).w));
52*c8dee2aaSAndroid Build Coastguard Worker    }
53*c8dee2aaSAndroid Build Coastguard Worker    else
54*c8dee2aaSAndroid Build Coastguard Worker    {
55*c8dee2aaSAndroid Build Coastguard Worker        _99 = false;
56*c8dee2aaSAndroid Build Coastguard Worker    }
57*c8dee2aaSAndroid Build Coastguard Worker    bool _103 = false;
58*c8dee2aaSAndroid Build Coastguard Worker    if (_99)
59*c8dee2aaSAndroid Build Coastguard Worker    {
60*c8dee2aaSAndroid Build Coastguard Worker        _103 = true;
61*c8dee2aaSAndroid Build Coastguard Worker    }
62*c8dee2aaSAndroid Build Coastguard Worker    else
63*c8dee2aaSAndroid Build Coastguard Worker    {
64*c8dee2aaSAndroid Build Coastguard Worker        _103 = false;
65*c8dee2aaSAndroid Build Coastguard Worker    }
66*c8dee2aaSAndroid Build Coastguard Worker    bool _110 = false;
67*c8dee2aaSAndroid Build Coastguard Worker    if (_103)
68*c8dee2aaSAndroid Build Coastguard Worker    {
69*c8dee2aaSAndroid Build Coastguard Worker        _110 = all(bool2(uint2(50u, 0u).x == uint4(50u, 0u, 50u, 50u).xy.x, uint2(50u, 0u).y == uint4(50u, 0u, 50u, 50u).xy.y));
70*c8dee2aaSAndroid Build Coastguard Worker    }
71*c8dee2aaSAndroid Build Coastguard Worker    else
72*c8dee2aaSAndroid Build Coastguard Worker    {
73*c8dee2aaSAndroid Build Coastguard Worker        _110 = false;
74*c8dee2aaSAndroid Build Coastguard Worker    }
75*c8dee2aaSAndroid Build Coastguard Worker    bool _117 = false;
76*c8dee2aaSAndroid Build Coastguard Worker    if (_110)
77*c8dee2aaSAndroid Build Coastguard Worker    {
78*c8dee2aaSAndroid Build Coastguard Worker        _117 = all(bool3(uint3(50u, 0u, 50u).x == uint4(50u, 0u, 50u, 50u).xyz.x, uint3(50u, 0u, 50u).y == uint4(50u, 0u, 50u, 50u).xyz.y, uint3(50u, 0u, 50u).z == uint4(50u, 0u, 50u, 50u).xyz.z));
79*c8dee2aaSAndroid Build Coastguard Worker    }
80*c8dee2aaSAndroid Build Coastguard Worker    else
81*c8dee2aaSAndroid Build Coastguard Worker    {
82*c8dee2aaSAndroid Build Coastguard Worker        _117 = false;
83*c8dee2aaSAndroid Build Coastguard Worker    }
84*c8dee2aaSAndroid Build Coastguard Worker    bool _120 = false;
85*c8dee2aaSAndroid Build Coastguard Worker    if (_117)
86*c8dee2aaSAndroid Build Coastguard Worker    {
87*c8dee2aaSAndroid Build Coastguard Worker        _120 = true;
88*c8dee2aaSAndroid Build Coastguard Worker    }
89*c8dee2aaSAndroid Build Coastguard Worker    else
90*c8dee2aaSAndroid Build Coastguard Worker    {
91*c8dee2aaSAndroid Build Coastguard Worker        _120 = false;
92*c8dee2aaSAndroid Build Coastguard Worker    }
93*c8dee2aaSAndroid Build Coastguard Worker    bool _126 = false;
94*c8dee2aaSAndroid Build Coastguard Worker    if (_120)
95*c8dee2aaSAndroid Build Coastguard Worker    {
96*c8dee2aaSAndroid Build Coastguard Worker        _126 = min(_68, _57.x) == 0u;
97*c8dee2aaSAndroid Build Coastguard Worker    }
98*c8dee2aaSAndroid Build Coastguard Worker    else
99*c8dee2aaSAndroid Build Coastguard Worker    {
100*c8dee2aaSAndroid Build Coastguard Worker        _126 = false;
101*c8dee2aaSAndroid Build Coastguard Worker    }
102*c8dee2aaSAndroid Build Coastguard Worker    bool _135 = false;
103*c8dee2aaSAndroid Build Coastguard Worker    if (_126)
104*c8dee2aaSAndroid Build Coastguard Worker    {
105*c8dee2aaSAndroid Build Coastguard Worker        uint2 _129 = min(_43.xy, _57.xy);
106*c8dee2aaSAndroid Build Coastguard Worker        _135 = all(bool2(_129.x == uint4(0u, 0u, 0u, 100u).xy.x, _129.y == uint4(0u, 0u, 0u, 100u).xy.y));
107*c8dee2aaSAndroid Build Coastguard Worker    }
108*c8dee2aaSAndroid Build Coastguard Worker    else
109*c8dee2aaSAndroid Build Coastguard Worker    {
110*c8dee2aaSAndroid Build Coastguard Worker        _135 = false;
111*c8dee2aaSAndroid Build Coastguard Worker    }
112*c8dee2aaSAndroid Build Coastguard Worker    bool _144 = false;
113*c8dee2aaSAndroid Build Coastguard Worker    if (_135)
114*c8dee2aaSAndroid Build Coastguard Worker    {
115*c8dee2aaSAndroid Build Coastguard Worker        uint3 _138 = min(_43.xyz, _57.xyz);
116*c8dee2aaSAndroid Build Coastguard Worker        _144 = all(bool3(_138.x == uint4(0u, 0u, 0u, 100u).xyz.x, _138.y == uint4(0u, 0u, 0u, 100u).xyz.y, _138.z == uint4(0u, 0u, 0u, 100u).xyz.z));
117*c8dee2aaSAndroid Build Coastguard Worker    }
118*c8dee2aaSAndroid Build Coastguard Worker    else
119*c8dee2aaSAndroid Build Coastguard Worker    {
120*c8dee2aaSAndroid Build Coastguard Worker        _144 = false;
121*c8dee2aaSAndroid Build Coastguard Worker    }
122*c8dee2aaSAndroid Build Coastguard Worker    bool _150 = false;
123*c8dee2aaSAndroid Build Coastguard Worker    if (_144)
124*c8dee2aaSAndroid Build Coastguard Worker    {
125*c8dee2aaSAndroid Build Coastguard Worker        uint4 _147 = min(_43, _57);
126*c8dee2aaSAndroid Build Coastguard Worker        _150 = all(bool4(_147.x == uint4(0u, 0u, 0u, 100u).x, _147.y == uint4(0u, 0u, 0u, 100u).y, _147.z == uint4(0u, 0u, 0u, 100u).z, _147.w == uint4(0u, 0u, 0u, 100u).w));
127*c8dee2aaSAndroid Build Coastguard Worker    }
128*c8dee2aaSAndroid Build Coastguard Worker    else
129*c8dee2aaSAndroid Build Coastguard Worker    {
130*c8dee2aaSAndroid Build Coastguard Worker        _150 = false;
131*c8dee2aaSAndroid Build Coastguard Worker    }
132*c8dee2aaSAndroid Build Coastguard Worker    bool _153 = false;
133*c8dee2aaSAndroid Build Coastguard Worker    if (_150)
134*c8dee2aaSAndroid Build Coastguard Worker    {
135*c8dee2aaSAndroid Build Coastguard Worker        _153 = true;
136*c8dee2aaSAndroid Build Coastguard Worker    }
137*c8dee2aaSAndroid Build Coastguard Worker    else
138*c8dee2aaSAndroid Build Coastguard Worker    {
139*c8dee2aaSAndroid Build Coastguard Worker        _153 = false;
140*c8dee2aaSAndroid Build Coastguard Worker    }
141*c8dee2aaSAndroid Build Coastguard Worker    bool _160 = false;
142*c8dee2aaSAndroid Build Coastguard Worker    if (_153)
143*c8dee2aaSAndroid Build Coastguard Worker    {
144*c8dee2aaSAndroid Build Coastguard Worker        _160 = all(bool2(uint2(0u, 0u).x == uint4(0u, 0u, 0u, 100u).xy.x, uint2(0u, 0u).y == uint4(0u, 0u, 0u, 100u).xy.y));
145*c8dee2aaSAndroid Build Coastguard Worker    }
146*c8dee2aaSAndroid Build Coastguard Worker    else
147*c8dee2aaSAndroid Build Coastguard Worker    {
148*c8dee2aaSAndroid Build Coastguard Worker        _160 = false;
149*c8dee2aaSAndroid Build Coastguard Worker    }
150*c8dee2aaSAndroid Build Coastguard Worker    bool _167 = false;
151*c8dee2aaSAndroid Build Coastguard Worker    if (_160)
152*c8dee2aaSAndroid Build Coastguard Worker    {
153*c8dee2aaSAndroid Build Coastguard Worker        _167 = all(bool3(uint3(0u, 0u, 0u).x == uint4(0u, 0u, 0u, 100u).xyz.x, uint3(0u, 0u, 0u).y == uint4(0u, 0u, 0u, 100u).xyz.y, uint3(0u, 0u, 0u).z == uint4(0u, 0u, 0u, 100u).xyz.z));
154*c8dee2aaSAndroid Build Coastguard Worker    }
155*c8dee2aaSAndroid Build Coastguard Worker    else
156*c8dee2aaSAndroid Build Coastguard Worker    {
157*c8dee2aaSAndroid Build Coastguard Worker        _167 = false;
158*c8dee2aaSAndroid Build Coastguard Worker    }
159*c8dee2aaSAndroid Build Coastguard Worker    bool _170 = false;
160*c8dee2aaSAndroid Build Coastguard Worker    if (_167)
161*c8dee2aaSAndroid Build Coastguard Worker    {
162*c8dee2aaSAndroid Build Coastguard Worker        _170 = true;
163*c8dee2aaSAndroid Build Coastguard Worker    }
164*c8dee2aaSAndroid Build Coastguard Worker    else
165*c8dee2aaSAndroid Build Coastguard Worker    {
166*c8dee2aaSAndroid Build Coastguard Worker        _170 = false;
167*c8dee2aaSAndroid Build Coastguard Worker    }
168*c8dee2aaSAndroid Build Coastguard Worker    float4 _171 = 0.0f.xxxx;
169*c8dee2aaSAndroid Build Coastguard Worker    if (_170)
170*c8dee2aaSAndroid Build Coastguard Worker    {
171*c8dee2aaSAndroid Build Coastguard Worker        _171 = _7_colorGreen;
172*c8dee2aaSAndroid Build Coastguard Worker    }
173*c8dee2aaSAndroid Build Coastguard Worker    else
174*c8dee2aaSAndroid Build Coastguard Worker    {
175*c8dee2aaSAndroid Build Coastguard Worker        _171 = _7_colorRed;
176*c8dee2aaSAndroid Build Coastguard Worker    }
177*c8dee2aaSAndroid Build Coastguard Worker    return _171;
178*c8dee2aaSAndroid Build Coastguard Worker}
179*c8dee2aaSAndroid Build Coastguard Worker
180*c8dee2aaSAndroid Build Coastguard Workervoid frag_main()
181*c8dee2aaSAndroid Build Coastguard Worker{
182*c8dee2aaSAndroid Build Coastguard Worker    float2 _17 = 0.0f.xx;
183*c8dee2aaSAndroid Build Coastguard Worker    sk_FragColor = main(_17);
184*c8dee2aaSAndroid Build Coastguard Worker}
185*c8dee2aaSAndroid Build Coastguard Worker
186*c8dee2aaSAndroid Build Coastguard WorkerSPIRV_Cross_Output main()
187*c8dee2aaSAndroid Build Coastguard Worker{
188*c8dee2aaSAndroid Build Coastguard Worker    frag_main();
189*c8dee2aaSAndroid Build Coastguard Worker    SPIRV_Cross_Output stage_output;
190*c8dee2aaSAndroid Build Coastguard Worker    stage_output.sk_FragColor = sk_FragColor;
191*c8dee2aaSAndroid Build Coastguard Worker    return stage_output;
192*c8dee2aaSAndroid Build Coastguard Worker}
193