xref: /aosp_15_r20/external/skia/tests/sksl/shared/ArrayComparison.hlsl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Workerstruct S
2*c8dee2aaSAndroid Build Coastguard Worker{
3*c8dee2aaSAndroid Build Coastguard Worker    int x;
4*c8dee2aaSAndroid Build Coastguard Worker    int y;
5*c8dee2aaSAndroid Build Coastguard Worker};
6*c8dee2aaSAndroid Build Coastguard Worker
7*c8dee2aaSAndroid Build Coastguard Workercbuffer _UniformBuffer : register(b0, space0)
8*c8dee2aaSAndroid Build Coastguard Worker{
9*c8dee2aaSAndroid Build Coastguard Worker    float4 _7_colorGreen : packoffset(c0);
10*c8dee2aaSAndroid Build Coastguard Worker    float4 _7_colorRed : packoffset(c1);
11*c8dee2aaSAndroid Build Coastguard Worker    float _7_testArray[5] : packoffset(c2);
12*c8dee2aaSAndroid Build Coastguard Worker    float _7_testArrayNegative[5] : packoffset(c7);
13*c8dee2aaSAndroid Build Coastguard Worker};
14*c8dee2aaSAndroid Build Coastguard Worker
15*c8dee2aaSAndroid Build Coastguard Worker
16*c8dee2aaSAndroid Build Coastguard Workerstatic float4 sk_FragColor;
17*c8dee2aaSAndroid Build Coastguard Worker
18*c8dee2aaSAndroid Build Coastguard Workerstruct SPIRV_Cross_Output
19*c8dee2aaSAndroid Build Coastguard Worker{
20*c8dee2aaSAndroid Build Coastguard Worker    float4 sk_FragColor : SV_Target0;
21*c8dee2aaSAndroid Build Coastguard Worker};
22*c8dee2aaSAndroid Build Coastguard Worker
23*c8dee2aaSAndroid Build Coastguard Workerfloat4 main(float2 _24)
24*c8dee2aaSAndroid Build Coastguard Worker{
25*c8dee2aaSAndroid Build Coastguard Worker    float _33[5] = { 1.0f, 2.0f, 3.0f, 4.0f, 5.0f };
26*c8dee2aaSAndroid Build Coastguard Worker    float f1[5] = _33;
27*c8dee2aaSAndroid Build Coastguard Worker    float f2[5] = _33;
28*c8dee2aaSAndroid Build Coastguard Worker    float _37[5] = { 1.0f, 2.0f, 3.0f, -4.0f, 5.0f };
29*c8dee2aaSAndroid Build Coastguard Worker    float f3[5] = _37;
30*c8dee2aaSAndroid Build Coastguard Worker    int3 _49[2] = { int3(1, 2, 3), int3(4, 5, 6) };
31*c8dee2aaSAndroid Build Coastguard Worker    int3 v1[2] = _49;
32*c8dee2aaSAndroid Build Coastguard Worker    int3 v2[2] = _49;
33*c8dee2aaSAndroid Build Coastguard Worker    int3 _54[2] = { int3(1, 2, 3), int3(4, 5, -6) };
34*c8dee2aaSAndroid Build Coastguard Worker    int3 v3[2] = _54;
35*c8dee2aaSAndroid Build Coastguard Worker    float2x2 _69[3] = { float2x2(float2(1.0f, 0.0f), float2(0.0f, 1.0f)), float2x2(float2(2.0f, 0.0f), float2(0.0f, 2.0f)), float2x2(float2(3.0f, 4.0f), float2(5.0f, 6.0f)) };
36*c8dee2aaSAndroid Build Coastguard Worker    float2x2 m1[3] = _69;
37*c8dee2aaSAndroid Build Coastguard Worker    float2x2 m2[3] = _69;
38*c8dee2aaSAndroid Build Coastguard Worker    float2x2 _78[3] = { float2x2(float2(1.0f, 0.0f), float2(0.0f, 1.0f)), float2x2(float2(2.0f, 3.0f), float2(4.0f, 5.0f)), float2x2(float2(6.0f, 0.0f), float2(0.0f, 6.0f)) };
39*c8dee2aaSAndroid Build Coastguard Worker    float2x2 m3[3] = _78;
40*c8dee2aaSAndroid Build Coastguard Worker    S _83 = { 1, 2 };
41*c8dee2aaSAndroid Build Coastguard Worker    S _84 = { 3, 4 };
42*c8dee2aaSAndroid Build Coastguard Worker    S _85 = { 5, 6 };
43*c8dee2aaSAndroid Build Coastguard Worker    S _86[3] = { _83, _84, _85 };
44*c8dee2aaSAndroid Build Coastguard Worker    S s1[3] = _86;
45*c8dee2aaSAndroid Build Coastguard Worker    S _89 = { 0, 0 };
46*c8dee2aaSAndroid Build Coastguard Worker    S _90[3] = { _83, _89, _85 };
47*c8dee2aaSAndroid Build Coastguard Worker    S s2[3] = _90;
48*c8dee2aaSAndroid Build Coastguard Worker    S s3[3] = _86;
49*c8dee2aaSAndroid Build Coastguard Worker    bool _106 = false;
50*c8dee2aaSAndroid Build Coastguard Worker    if (true && (true && (true && (true && true))))
51*c8dee2aaSAndroid Build Coastguard Worker    {
52*c8dee2aaSAndroid Build Coastguard Worker        _106 = false || ((4.0f != (-4.0f)) || (false || (false || false)));
53*c8dee2aaSAndroid Build Coastguard Worker    }
54*c8dee2aaSAndroid Build Coastguard Worker    else
55*c8dee2aaSAndroid Build Coastguard Worker    {
56*c8dee2aaSAndroid Build Coastguard Worker        _106 = false;
57*c8dee2aaSAndroid Build Coastguard Worker    }
58*c8dee2aaSAndroid Build Coastguard Worker    bool _133 = false;
59*c8dee2aaSAndroid Build Coastguard Worker    if (_106)
60*c8dee2aaSAndroid Build Coastguard Worker    {
61*c8dee2aaSAndroid Build Coastguard Worker        _133 = (_7_testArray[4] != _7_testArrayNegative[4]) || ((_7_testArray[3] != _7_testArrayNegative[3]) || ((_7_testArray[2] != _7_testArrayNegative[2]) || ((_7_testArray[1] != _7_testArrayNegative[1]) || (_7_testArray[0] != _7_testArrayNegative[0]))));
62*c8dee2aaSAndroid Build Coastguard Worker    }
63*c8dee2aaSAndroid Build Coastguard Worker    else
64*c8dee2aaSAndroid Build Coastguard Worker    {
65*c8dee2aaSAndroid Build Coastguard Worker        _133 = false;
66*c8dee2aaSAndroid Build Coastguard Worker    }
67*c8dee2aaSAndroid Build Coastguard Worker    bool _152 = false;
68*c8dee2aaSAndroid Build Coastguard Worker    if (_133)
69*c8dee2aaSAndroid Build Coastguard Worker    {
70*c8dee2aaSAndroid Build Coastguard Worker        _152 = (_7_testArray[4] == 5.0f) && ((_7_testArray[3] == 4.0f) && ((_7_testArray[2] == 3.0f) && ((_7_testArray[1] == 2.0f) && (_7_testArray[0] == 1.0f))));
71*c8dee2aaSAndroid Build Coastguard Worker    }
72*c8dee2aaSAndroid Build Coastguard Worker    else
73*c8dee2aaSAndroid Build Coastguard Worker    {
74*c8dee2aaSAndroid Build Coastguard Worker        _152 = false;
75*c8dee2aaSAndroid Build Coastguard Worker    }
76*c8dee2aaSAndroid Build Coastguard Worker    bool _171 = false;
77*c8dee2aaSAndroid Build Coastguard Worker    if (_152)
78*c8dee2aaSAndroid Build Coastguard Worker    {
79*c8dee2aaSAndroid Build Coastguard Worker        _171 = (_7_testArray[4] != 5.0f) || ((_7_testArray[3] != (-4.0f)) || ((_7_testArray[2] != 3.0f) || ((_7_testArray[1] != 2.0f) || (_7_testArray[0] != 1.0f))));
80*c8dee2aaSAndroid Build Coastguard Worker    }
81*c8dee2aaSAndroid Build Coastguard Worker    else
82*c8dee2aaSAndroid Build Coastguard Worker    {
83*c8dee2aaSAndroid Build Coastguard Worker        _171 = false;
84*c8dee2aaSAndroid Build Coastguard Worker    }
85*c8dee2aaSAndroid Build Coastguard Worker    bool _190 = false;
86*c8dee2aaSAndroid Build Coastguard Worker    if (_171)
87*c8dee2aaSAndroid Build Coastguard Worker    {
88*c8dee2aaSAndroid Build Coastguard Worker        _190 = (5.0f == _7_testArray[4]) && ((4.0f == _7_testArray[3]) && ((3.0f == _7_testArray[2]) && ((2.0f == _7_testArray[1]) && (1.0f == _7_testArray[0]))));
89*c8dee2aaSAndroid Build Coastguard Worker    }
90*c8dee2aaSAndroid Build Coastguard Worker    else
91*c8dee2aaSAndroid Build Coastguard Worker    {
92*c8dee2aaSAndroid Build Coastguard Worker        _190 = false;
93*c8dee2aaSAndroid Build Coastguard Worker    }
94*c8dee2aaSAndroid Build Coastguard Worker    bool _209 = false;
95*c8dee2aaSAndroid Build Coastguard Worker    if (_190)
96*c8dee2aaSAndroid Build Coastguard Worker    {
97*c8dee2aaSAndroid Build Coastguard Worker        _209 = (5.0f != _7_testArray[4]) || (((-4.0f) != _7_testArray[3]) || ((3.0f != _7_testArray[2]) || ((2.0f != _7_testArray[1]) || (1.0f != _7_testArray[0]))));
98*c8dee2aaSAndroid Build Coastguard Worker    }
99*c8dee2aaSAndroid Build Coastguard Worker    else
100*c8dee2aaSAndroid Build Coastguard Worker    {
101*c8dee2aaSAndroid Build Coastguard Worker        _209 = false;
102*c8dee2aaSAndroid Build Coastguard Worker    }
103*c8dee2aaSAndroid Build Coastguard Worker    bool _213 = false;
104*c8dee2aaSAndroid Build Coastguard Worker    if (_209)
105*c8dee2aaSAndroid Build Coastguard Worker    {
106*c8dee2aaSAndroid Build Coastguard Worker        _213 = true && true;
107*c8dee2aaSAndroid Build Coastguard Worker    }
108*c8dee2aaSAndroid Build Coastguard Worker    else
109*c8dee2aaSAndroid Build Coastguard Worker    {
110*c8dee2aaSAndroid Build Coastguard Worker        _213 = false;
111*c8dee2aaSAndroid Build Coastguard Worker    }
112*c8dee2aaSAndroid Build Coastguard Worker    bool _220 = false;
113*c8dee2aaSAndroid Build Coastguard Worker    if (_213)
114*c8dee2aaSAndroid Build Coastguard Worker    {
115*c8dee2aaSAndroid Build Coastguard Worker        _220 = any(bool3(int3(4, 5, 6).x != int3(4, 5, -6).x, int3(4, 5, 6).y != int3(4, 5, -6).y, int3(4, 5, 6).z != int3(4, 5, -6).z)) || false;
116*c8dee2aaSAndroid Build Coastguard Worker    }
117*c8dee2aaSAndroid Build Coastguard Worker    else
118*c8dee2aaSAndroid Build Coastguard Worker    {
119*c8dee2aaSAndroid Build Coastguard Worker        _220 = false;
120*c8dee2aaSAndroid Build Coastguard Worker    }
121*c8dee2aaSAndroid Build Coastguard Worker    bool _241 = false;
122*c8dee2aaSAndroid Build Coastguard Worker    if (_220)
123*c8dee2aaSAndroid Build Coastguard Worker    {
124*c8dee2aaSAndroid Build Coastguard Worker        _241 = (all(bool2(float2(3.0f, 4.0f).x == float2(3.0f, 4.0f).x, float2(3.0f, 4.0f).y == float2(3.0f, 4.0f).y)) && all(bool2(float2(5.0f, 6.0f).x == float2(5.0f, 6.0f).x, float2(5.0f, 6.0f).y == float2(5.0f, 6.0f).y))) && ((all(bool2(float2(2.0f, 0.0f).x == float2(2.0f, 0.0f).x, float2(2.0f, 0.0f).y == float2(2.0f, 0.0f).y)) && all(bool2(float2(0.0f, 2.0f).x == float2(0.0f, 2.0f).x, float2(0.0f, 2.0f).y == float2(0.0f, 2.0f).y))) && (all(bool2(float2(1.0f, 0.0f).x == float2(1.0f, 0.0f).x, float2(1.0f, 0.0f).y == float2(1.0f, 0.0f).y)) && all(bool2(float2(0.0f, 1.0f).x == float2(0.0f, 1.0f).x, float2(0.0f, 1.0f).y == float2(0.0f, 1.0f).y))));
125*c8dee2aaSAndroid Build Coastguard Worker    }
126*c8dee2aaSAndroid Build Coastguard Worker    else
127*c8dee2aaSAndroid Build Coastguard Worker    {
128*c8dee2aaSAndroid Build Coastguard Worker        _241 = false;
129*c8dee2aaSAndroid Build Coastguard Worker    }
130*c8dee2aaSAndroid Build Coastguard Worker    bool _261 = false;
131*c8dee2aaSAndroid Build Coastguard Worker    if (_241)
132*c8dee2aaSAndroid Build Coastguard Worker    {
133*c8dee2aaSAndroid Build Coastguard Worker        _261 = (any(bool2(float2(3.0f, 4.0f).x != float2(6.0f, 0.0f).x, float2(3.0f, 4.0f).y != float2(6.0f, 0.0f).y)) || any(bool2(float2(5.0f, 6.0f).x != float2(0.0f, 6.0f).x, float2(5.0f, 6.0f).y != float2(0.0f, 6.0f).y))) || ((any(bool2(float2(2.0f, 0.0f).x != float2(2.0f, 3.0f).x, float2(2.0f, 0.0f).y != float2(2.0f, 3.0f).y)) || any(bool2(float2(0.0f, 2.0f).x != float2(4.0f, 5.0f).x, float2(0.0f, 2.0f).y != float2(4.0f, 5.0f).y))) || (any(bool2(float2(1.0f, 0.0f).x != float2(1.0f, 0.0f).x, float2(1.0f, 0.0f).y != float2(1.0f, 0.0f).y)) || any(bool2(float2(0.0f, 1.0f).x != float2(0.0f, 1.0f).x, float2(0.0f, 1.0f).y != float2(0.0f, 1.0f).y))));
134*c8dee2aaSAndroid Build Coastguard Worker    }
135*c8dee2aaSAndroid Build Coastguard Worker    else
136*c8dee2aaSAndroid Build Coastguard Worker    {
137*c8dee2aaSAndroid Build Coastguard Worker        _261 = false;
138*c8dee2aaSAndroid Build Coastguard Worker    }
139*c8dee2aaSAndroid Build Coastguard Worker    bool _271 = false;
140*c8dee2aaSAndroid Build Coastguard Worker    if (_261)
141*c8dee2aaSAndroid Build Coastguard Worker    {
142*c8dee2aaSAndroid Build Coastguard Worker        _271 = (false || false) || (((4 != 0) || (3 != 0)) || (false || false));
143*c8dee2aaSAndroid Build Coastguard Worker    }
144*c8dee2aaSAndroid Build Coastguard Worker    else
145*c8dee2aaSAndroid Build Coastguard Worker    {
146*c8dee2aaSAndroid Build Coastguard Worker        _271 = false;
147*c8dee2aaSAndroid Build Coastguard Worker    }
148*c8dee2aaSAndroid Build Coastguard Worker    bool _279 = false;
149*c8dee2aaSAndroid Build Coastguard Worker    if (_271)
150*c8dee2aaSAndroid Build Coastguard Worker    {
151*c8dee2aaSAndroid Build Coastguard Worker        _279 = (true && true) && ((true && true) && (true && true));
152*c8dee2aaSAndroid Build Coastguard Worker    }
153*c8dee2aaSAndroid Build Coastguard Worker    else
154*c8dee2aaSAndroid Build Coastguard Worker    {
155*c8dee2aaSAndroid Build Coastguard Worker        _279 = false;
156*c8dee2aaSAndroid Build Coastguard Worker    }
157*c8dee2aaSAndroid Build Coastguard Worker    float4 _280 = 0.0f.xxxx;
158*c8dee2aaSAndroid Build Coastguard Worker    if (_279)
159*c8dee2aaSAndroid Build Coastguard Worker    {
160*c8dee2aaSAndroid Build Coastguard Worker        _280 = _7_colorGreen;
161*c8dee2aaSAndroid Build Coastguard Worker    }
162*c8dee2aaSAndroid Build Coastguard Worker    else
163*c8dee2aaSAndroid Build Coastguard Worker    {
164*c8dee2aaSAndroid Build Coastguard Worker        _280 = _7_colorRed;
165*c8dee2aaSAndroid Build Coastguard Worker    }
166*c8dee2aaSAndroid Build Coastguard Worker    return _280;
167*c8dee2aaSAndroid Build Coastguard Worker}
168*c8dee2aaSAndroid Build Coastguard Worker
169*c8dee2aaSAndroid Build Coastguard Workervoid frag_main()
170*c8dee2aaSAndroid Build Coastguard Worker{
171*c8dee2aaSAndroid Build Coastguard Worker    float2 _20 = 0.0f.xx;
172*c8dee2aaSAndroid Build Coastguard Worker    sk_FragColor = main(_20);
173*c8dee2aaSAndroid Build Coastguard Worker}
174*c8dee2aaSAndroid Build Coastguard Worker
175*c8dee2aaSAndroid Build Coastguard WorkerSPIRV_Cross_Output main()
176*c8dee2aaSAndroid Build Coastguard Worker{
177*c8dee2aaSAndroid Build Coastguard Worker    frag_main();
178*c8dee2aaSAndroid Build Coastguard Worker    SPIRV_Cross_Output stage_output;
179*c8dee2aaSAndroid Build Coastguard Worker    stage_output.sk_FragColor = sk_FragColor;
180*c8dee2aaSAndroid Build Coastguard Worker    return stage_output;
181*c8dee2aaSAndroid Build Coastguard Worker}
182