xref: /aosp_15_r20/external/skia/tests/sksl/shared/MatrixOpEqualsES3.hlsl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Workercbuffer _UniformBuffer : register(b0, space0)
2*c8dee2aaSAndroid Build Coastguard Worker{
3*c8dee2aaSAndroid Build Coastguard Worker    float4 _8_colorRed : packoffset(c0);
4*c8dee2aaSAndroid Build Coastguard Worker    float4 _8_colorGreen : packoffset(c1);
5*c8dee2aaSAndroid Build Coastguard Worker};
6*c8dee2aaSAndroid Build Coastguard Worker
7*c8dee2aaSAndroid Build Coastguard Worker
8*c8dee2aaSAndroid Build Coastguard Workerstatic float4 sk_FragColor;
9*c8dee2aaSAndroid Build Coastguard Worker
10*c8dee2aaSAndroid Build Coastguard Workerstruct SPIRV_Cross_Output
11*c8dee2aaSAndroid Build Coastguard Worker{
12*c8dee2aaSAndroid Build Coastguard Worker    float4 sk_FragColor : SV_Target0;
13*c8dee2aaSAndroid Build Coastguard Worker};
14*c8dee2aaSAndroid Build Coastguard Worker
15*c8dee2aaSAndroid Build Coastguard Workerbool test_matrix_op_matrix_half_b()
16*c8dee2aaSAndroid Build Coastguard Worker{
17*c8dee2aaSAndroid Build Coastguard Worker    bool ok = true;
18*c8dee2aaSAndroid Build Coastguard Worker    float3x2 splat_4 = float3x2(4.0f.xx, 4.0f.xx, 4.0f.xx);
19*c8dee2aaSAndroid Build Coastguard Worker    float3x2 m = float3x2(float2(2.0f, 0.0f), float2(0.0f, 2.0f), 0.0f.xx);
20*c8dee2aaSAndroid Build Coastguard Worker    float2 _38 = float2(2.0f, 0.0f) + 4.0f.xx;
21*c8dee2aaSAndroid Build Coastguard Worker    float2 _39 = float2(0.0f, 2.0f) + 4.0f.xx;
22*c8dee2aaSAndroid Build Coastguard Worker    float2 _40 = 0.0f.xx + 4.0f.xx;
23*c8dee2aaSAndroid Build Coastguard Worker    m = float3x2(_38, _39, _40);
24*c8dee2aaSAndroid Build Coastguard Worker    bool _58 = false;
25*c8dee2aaSAndroid Build Coastguard Worker    if (true)
26*c8dee2aaSAndroid Build Coastguard Worker    {
27*c8dee2aaSAndroid Build Coastguard Worker        _58 = (all(bool2(_38.x == float2(6.0f, 4.0f).x, _38.y == float2(6.0f, 4.0f).y)) && all(bool2(_39.x == float2(4.0f, 6.0f).x, _39.y == float2(4.0f, 6.0f).y))) && all(bool2(_40.x == 4.0f.xx.x, _40.y == 4.0f.xx.y));
28*c8dee2aaSAndroid Build Coastguard Worker    }
29*c8dee2aaSAndroid Build Coastguard Worker    else
30*c8dee2aaSAndroid Build Coastguard Worker    {
31*c8dee2aaSAndroid Build Coastguard Worker        _58 = false;
32*c8dee2aaSAndroid Build Coastguard Worker    }
33*c8dee2aaSAndroid Build Coastguard Worker    ok = _58;
34*c8dee2aaSAndroid Build Coastguard Worker    m = float3x2(float2(2.0f, 0.0f), float2(0.0f, 2.0f), 0.0f.xx);
35*c8dee2aaSAndroid Build Coastguard Worker    float2 _59 = float2(2.0f, 0.0f) - 4.0f.xx;
36*c8dee2aaSAndroid Build Coastguard Worker    float2 _60 = float2(0.0f, 2.0f) - 4.0f.xx;
37*c8dee2aaSAndroid Build Coastguard Worker    float2 _61 = 0.0f.xx - 4.0f.xx;
38*c8dee2aaSAndroid Build Coastguard Worker    m = float3x2(_59, _60, _61);
39*c8dee2aaSAndroid Build Coastguard Worker    bool _79 = false;
40*c8dee2aaSAndroid Build Coastguard Worker    if (_58)
41*c8dee2aaSAndroid Build Coastguard Worker    {
42*c8dee2aaSAndroid Build Coastguard Worker        _79 = (all(bool2(_59.x == float2(-2.0f, -4.0f).x, _59.y == float2(-2.0f, -4.0f).y)) && all(bool2(_60.x == float2(-4.0f, -2.0f).x, _60.y == float2(-4.0f, -2.0f).y))) && all(bool2(_61.x == (-4.0f).xx.x, _61.y == (-4.0f).xx.y));
43*c8dee2aaSAndroid Build Coastguard Worker    }
44*c8dee2aaSAndroid Build Coastguard Worker    else
45*c8dee2aaSAndroid Build Coastguard Worker    {
46*c8dee2aaSAndroid Build Coastguard Worker        _79 = false;
47*c8dee2aaSAndroid Build Coastguard Worker    }
48*c8dee2aaSAndroid Build Coastguard Worker    ok = _79;
49*c8dee2aaSAndroid Build Coastguard Worker    m = float3x2(float2(2.0f, 0.0f), float2(0.0f, 2.0f), 0.0f.xx);
50*c8dee2aaSAndroid Build Coastguard Worker    float2 _80 = float2(2.0f, 0.0f) / 4.0f.xx;
51*c8dee2aaSAndroid Build Coastguard Worker    float2 _81 = float2(0.0f, 2.0f) / 4.0f.xx;
52*c8dee2aaSAndroid Build Coastguard Worker    float2 _82 = 0.0f.xx / 4.0f.xx;
53*c8dee2aaSAndroid Build Coastguard Worker    m = float3x2(_80, _81, _82);
54*c8dee2aaSAndroid Build Coastguard Worker    bool _98 = false;
55*c8dee2aaSAndroid Build Coastguard Worker    if (_79)
56*c8dee2aaSAndroid Build Coastguard Worker    {
57*c8dee2aaSAndroid Build Coastguard Worker        _98 = (all(bool2(_80.x == float2(0.5f, 0.0f).x, _80.y == float2(0.5f, 0.0f).y)) && all(bool2(_81.x == float2(0.0f, 0.5f).x, _81.y == float2(0.0f, 0.5f).y))) && all(bool2(_82.x == 0.0f.xx.x, _82.y == 0.0f.xx.y));
58*c8dee2aaSAndroid Build Coastguard Worker    }
59*c8dee2aaSAndroid Build Coastguard Worker    else
60*c8dee2aaSAndroid Build Coastguard Worker    {
61*c8dee2aaSAndroid Build Coastguard Worker        _98 = false;
62*c8dee2aaSAndroid Build Coastguard Worker    }
63*c8dee2aaSAndroid Build Coastguard Worker    ok = _98;
64*c8dee2aaSAndroid Build Coastguard Worker    float2x3 splat_4_1 = float2x3(4.0f.xxx, 4.0f.xxx);
65*c8dee2aaSAndroid Build Coastguard Worker    float2x3 m_1 = float2x3(4.0f.xxx, 4.0f.xxx);
66*c8dee2aaSAndroid Build Coastguard Worker    float3 _109 = 4.0f.xxx + float3(2.0f, 0.0f, 0.0f);
67*c8dee2aaSAndroid Build Coastguard Worker    float3 _110 = 4.0f.xxx + float3(0.0f, 2.0f, 0.0f);
68*c8dee2aaSAndroid Build Coastguard Worker    m_1 = float2x3(_109, _110);
69*c8dee2aaSAndroid Build Coastguard Worker    bool _123 = false;
70*c8dee2aaSAndroid Build Coastguard Worker    if (_98)
71*c8dee2aaSAndroid Build Coastguard Worker    {
72*c8dee2aaSAndroid Build Coastguard Worker        _123 = all(bool3(_109.x == float3(6.0f, 4.0f, 4.0f).x, _109.y == float3(6.0f, 4.0f, 4.0f).y, _109.z == float3(6.0f, 4.0f, 4.0f).z)) && all(bool3(_110.x == float3(4.0f, 6.0f, 4.0f).x, _110.y == float3(4.0f, 6.0f, 4.0f).y, _110.z == float3(4.0f, 6.0f, 4.0f).z));
73*c8dee2aaSAndroid Build Coastguard Worker    }
74*c8dee2aaSAndroid Build Coastguard Worker    else
75*c8dee2aaSAndroid Build Coastguard Worker    {
76*c8dee2aaSAndroid Build Coastguard Worker        _123 = false;
77*c8dee2aaSAndroid Build Coastguard Worker    }
78*c8dee2aaSAndroid Build Coastguard Worker    ok = _123;
79*c8dee2aaSAndroid Build Coastguard Worker    m_1 = float2x3(4.0f.xxx, 4.0f.xxx);
80*c8dee2aaSAndroid Build Coastguard Worker    float3 _124 = 4.0f.xxx - float3(2.0f, 0.0f, 0.0f);
81*c8dee2aaSAndroid Build Coastguard Worker    float3 _125 = 4.0f.xxx - float3(0.0f, 2.0f, 0.0f);
82*c8dee2aaSAndroid Build Coastguard Worker    m_1 = float2x3(_124, _125);
83*c8dee2aaSAndroid Build Coastguard Worker    bool _137 = false;
84*c8dee2aaSAndroid Build Coastguard Worker    if (_123)
85*c8dee2aaSAndroid Build Coastguard Worker    {
86*c8dee2aaSAndroid Build Coastguard Worker        _137 = all(bool3(_124.x == float3(2.0f, 4.0f, 4.0f).x, _124.y == float3(2.0f, 4.0f, 4.0f).y, _124.z == float3(2.0f, 4.0f, 4.0f).z)) && all(bool3(_125.x == float3(4.0f, 2.0f, 4.0f).x, _125.y == float3(4.0f, 2.0f, 4.0f).y, _125.z == float3(4.0f, 2.0f, 4.0f).z));
87*c8dee2aaSAndroid Build Coastguard Worker    }
88*c8dee2aaSAndroid Build Coastguard Worker    else
89*c8dee2aaSAndroid Build Coastguard Worker    {
90*c8dee2aaSAndroid Build Coastguard Worker        _137 = false;
91*c8dee2aaSAndroid Build Coastguard Worker    }
92*c8dee2aaSAndroid Build Coastguard Worker    ok = _137;
93*c8dee2aaSAndroid Build Coastguard Worker    m_1 = float2x3(4.0f.xxx, 4.0f.xxx);
94*c8dee2aaSAndroid Build Coastguard Worker    float3 _140 = 4.0f.xxx / 2.0f.xxx;
95*c8dee2aaSAndroid Build Coastguard Worker    float3 _141 = 4.0f.xxx / 2.0f.xxx;
96*c8dee2aaSAndroid Build Coastguard Worker    m_1 = float2x3(_140, _141);
97*c8dee2aaSAndroid Build Coastguard Worker    bool _150 = false;
98*c8dee2aaSAndroid Build Coastguard Worker    if (_137)
99*c8dee2aaSAndroid Build Coastguard Worker    {
100*c8dee2aaSAndroid Build Coastguard Worker        _150 = all(bool3(_140.x == 2.0f.xxx.x, _140.y == 2.0f.xxx.y, _140.z == 2.0f.xxx.z)) && all(bool3(_141.x == 2.0f.xxx.x, _141.y == 2.0f.xxx.y, _141.z == 2.0f.xxx.z));
101*c8dee2aaSAndroid Build Coastguard Worker    }
102*c8dee2aaSAndroid Build Coastguard Worker    else
103*c8dee2aaSAndroid Build Coastguard Worker    {
104*c8dee2aaSAndroid Build Coastguard Worker        _150 = false;
105*c8dee2aaSAndroid Build Coastguard Worker    }
106*c8dee2aaSAndroid Build Coastguard Worker    ok = _150;
107*c8dee2aaSAndroid Build Coastguard Worker    float4x3 m_2 = float4x3(float3(1.0f, 2.0f, 3.0f), float3(4.0f, 5.0f, 6.0f), float3(7.0f, 8.0f, 9.0f), float3(10.0f, 11.0f, 12.0f));
108*c8dee2aaSAndroid Build Coastguard Worker    float3 _177 = float3(1.0f, 2.0f, 3.0f) + float3(16.0f, 15.0f, 14.0f);
109*c8dee2aaSAndroid Build Coastguard Worker    float3 _178 = float3(4.0f, 5.0f, 6.0f) + float3(13.0f, 12.0f, 11.0f);
110*c8dee2aaSAndroid Build Coastguard Worker    float3 _179 = float3(7.0f, 8.0f, 9.0f) + float3(10.0f, 9.0f, 8.0f);
111*c8dee2aaSAndroid Build Coastguard Worker    float3 _180 = float3(10.0f, 11.0f, 12.0f) + float3(7.0f, 6.0f, 5.0f);
112*c8dee2aaSAndroid Build Coastguard Worker    m_2 = float4x3(_177, _178, _179, _180);
113*c8dee2aaSAndroid Build Coastguard Worker    bool _198 = false;
114*c8dee2aaSAndroid Build Coastguard Worker    if (_150)
115*c8dee2aaSAndroid Build Coastguard Worker    {
116*c8dee2aaSAndroid Build Coastguard Worker        _198 = ((all(bool3(_177.x == 17.0f.xxx.x, _177.y == 17.0f.xxx.y, _177.z == 17.0f.xxx.z)) && all(bool3(_178.x == 17.0f.xxx.x, _178.y == 17.0f.xxx.y, _178.z == 17.0f.xxx.z))) && all(bool3(_179.x == 17.0f.xxx.x, _179.y == 17.0f.xxx.y, _179.z == 17.0f.xxx.z))) && all(bool3(_180.x == 17.0f.xxx.x, _180.y == 17.0f.xxx.y, _180.z == 17.0f.xxx.z));
117*c8dee2aaSAndroid Build Coastguard Worker    }
118*c8dee2aaSAndroid Build Coastguard Worker    else
119*c8dee2aaSAndroid Build Coastguard Worker    {
120*c8dee2aaSAndroid Build Coastguard Worker        _198 = false;
121*c8dee2aaSAndroid Build Coastguard Worker    }
122*c8dee2aaSAndroid Build Coastguard Worker    ok = _198;
123*c8dee2aaSAndroid Build Coastguard Worker    float4x2 m_3 = float4x2(float2(10.0f, 20.0f), float2(30.0f, 40.0f), float2(50.0f, 60.0f), float2(70.0f, 80.0f));
124*c8dee2aaSAndroid Build Coastguard Worker    float2 _219 = float2(10.0f, 20.0f) - float2(1.0f, 2.0f);
125*c8dee2aaSAndroid Build Coastguard Worker    float2 _220 = float2(30.0f, 40.0f) - float2(3.0f, 4.0f);
126*c8dee2aaSAndroid Build Coastguard Worker    float2 _221 = float2(50.0f, 60.0f) - float2(5.0f, 6.0f);
127*c8dee2aaSAndroid Build Coastguard Worker    float2 _222 = float2(70.0f, 80.0f) - float2(7.0f, 8.0f);
128*c8dee2aaSAndroid Build Coastguard Worker    m_3 = float4x2(_219, _220, _221, _222);
129*c8dee2aaSAndroid Build Coastguard Worker    bool _249 = false;
130*c8dee2aaSAndroid Build Coastguard Worker    if (_198)
131*c8dee2aaSAndroid Build Coastguard Worker    {
132*c8dee2aaSAndroid Build Coastguard Worker        _249 = ((all(bool2(_219.x == float2(9.0f, 18.0f).x, _219.y == float2(9.0f, 18.0f).y)) && all(bool2(_220.x == float2(27.0f, 36.0f).x, _220.y == float2(27.0f, 36.0f).y))) && all(bool2(_221.x == float2(45.0f, 54.0f).x, _221.y == float2(45.0f, 54.0f).y))) && all(bool2(_222.x == float2(63.0f, 72.0f).x, _222.y == float2(63.0f, 72.0f).y));
133*c8dee2aaSAndroid Build Coastguard Worker    }
134*c8dee2aaSAndroid Build Coastguard Worker    else
135*c8dee2aaSAndroid Build Coastguard Worker    {
136*c8dee2aaSAndroid Build Coastguard Worker        _249 = false;
137*c8dee2aaSAndroid Build Coastguard Worker    }
138*c8dee2aaSAndroid Build Coastguard Worker    ok = _249;
139*c8dee2aaSAndroid Build Coastguard Worker    float2x4 m_4 = float2x4(float4(10.0f, 20.0f, 30.0f, 40.0f), float4(10.0f, 20.0f, 30.0f, 40.0f));
140*c8dee2aaSAndroid Build Coastguard Worker    float4 _258 = float4(10.0f, 20.0f, 30.0f, 40.0f) / 10.0f.xxxx;
141*c8dee2aaSAndroid Build Coastguard Worker    float4 _259 = float4(10.0f, 20.0f, 30.0f, 40.0f) / 5.0f.xxxx;
142*c8dee2aaSAndroid Build Coastguard Worker    m_4 = float2x4(_258, _259);
143*c8dee2aaSAndroid Build Coastguard Worker    bool _272 = false;
144*c8dee2aaSAndroid Build Coastguard Worker    if (_249)
145*c8dee2aaSAndroid Build Coastguard Worker    {
146*c8dee2aaSAndroid Build Coastguard Worker        _272 = all(bool4(_258.x == float4(1.0f, 2.0f, 3.0f, 4.0f).x, _258.y == float4(1.0f, 2.0f, 3.0f, 4.0f).y, _258.z == float4(1.0f, 2.0f, 3.0f, 4.0f).z, _258.w == float4(1.0f, 2.0f, 3.0f, 4.0f).w)) && all(bool4(_259.x == float4(2.0f, 4.0f, 6.0f, 8.0f).x, _259.y == float4(2.0f, 4.0f, 6.0f, 8.0f).y, _259.z == float4(2.0f, 4.0f, 6.0f, 8.0f).z, _259.w == float4(2.0f, 4.0f, 6.0f, 8.0f).w));
147*c8dee2aaSAndroid Build Coastguard Worker    }
148*c8dee2aaSAndroid Build Coastguard Worker    else
149*c8dee2aaSAndroid Build Coastguard Worker    {
150*c8dee2aaSAndroid Build Coastguard Worker        _272 = false;
151*c8dee2aaSAndroid Build Coastguard Worker    }
152*c8dee2aaSAndroid Build Coastguard Worker    ok = _272;
153*c8dee2aaSAndroid Build Coastguard Worker    float2x3 m_5 = float2x3(float3(7.0f, 9.0f, 11.0f), float3(8.0f, 10.0f, 12.0f));
154*c8dee2aaSAndroid Build Coastguard Worker    float2x3 _281 = mul(float2x2(float2(1.0f, 4.0f), float2(2.0f, 5.0f)), float2x3(float3(7.0f, 9.0f, 11.0f), float3(8.0f, 10.0f, 12.0f)));
155*c8dee2aaSAndroid Build Coastguard Worker    m_5 = _281;
156*c8dee2aaSAndroid Build Coastguard Worker    bool _299 = false;
157*c8dee2aaSAndroid Build Coastguard Worker    if (_272)
158*c8dee2aaSAndroid Build Coastguard Worker    {
159*c8dee2aaSAndroid Build Coastguard Worker        float3 _292 = _281[0];
160*c8dee2aaSAndroid Build Coastguard Worker        float3 _295 = _281[1];
161*c8dee2aaSAndroid Build Coastguard Worker        _299 = all(bool3(_292.x == float3(39.0f, 49.0f, 59.0f).x, _292.y == float3(39.0f, 49.0f, 59.0f).y, _292.z == float3(39.0f, 49.0f, 59.0f).z)) && all(bool3(_295.x == float3(54.0f, 68.0f, 82.0f).x, _295.y == float3(54.0f, 68.0f, 82.0f).y, _295.z == float3(54.0f, 68.0f, 82.0f).z));
162*c8dee2aaSAndroid Build Coastguard Worker    }
163*c8dee2aaSAndroid Build Coastguard Worker    else
164*c8dee2aaSAndroid Build Coastguard Worker    {
165*c8dee2aaSAndroid Build Coastguard Worker        _299 = false;
166*c8dee2aaSAndroid Build Coastguard Worker    }
167*c8dee2aaSAndroid Build Coastguard Worker    ok = _299;
168*c8dee2aaSAndroid Build Coastguard Worker    return _299;
169*c8dee2aaSAndroid Build Coastguard Worker}
170*c8dee2aaSAndroid Build Coastguard Worker
171*c8dee2aaSAndroid Build Coastguard Workerfloat4 main(float2 _301)
172*c8dee2aaSAndroid Build Coastguard Worker{
173*c8dee2aaSAndroid Build Coastguard Worker    bool _RESERVED_IDENTIFIER_FIXUP_0_ok = true;
174*c8dee2aaSAndroid Build Coastguard Worker    float3x2 _RESERVED_IDENTIFIER_FIXUP_1_splat_4 = float3x2(4.0f.xx, 4.0f.xx, 4.0f.xx);
175*c8dee2aaSAndroid Build Coastguard Worker    float3x2 _RESERVED_IDENTIFIER_FIXUP_2_m = float3x2(float2(2.0f, 0.0f), float2(0.0f, 2.0f), 0.0f.xx);
176*c8dee2aaSAndroid Build Coastguard Worker    float2 _306 = float2(2.0f, 0.0f) + 4.0f.xx;
177*c8dee2aaSAndroid Build Coastguard Worker    float2 _307 = float2(0.0f, 2.0f) + 4.0f.xx;
178*c8dee2aaSAndroid Build Coastguard Worker    float2 _308 = 0.0f.xx + 4.0f.xx;
179*c8dee2aaSAndroid Build Coastguard Worker    _RESERVED_IDENTIFIER_FIXUP_2_m = float3x2(_306, _307, _308);
180*c8dee2aaSAndroid Build Coastguard Worker    bool _320 = false;
181*c8dee2aaSAndroid Build Coastguard Worker    if (true)
182*c8dee2aaSAndroid Build Coastguard Worker    {
183*c8dee2aaSAndroid Build Coastguard Worker        _320 = (all(bool2(_306.x == float2(6.0f, 4.0f).x, _306.y == float2(6.0f, 4.0f).y)) && all(bool2(_307.x == float2(4.0f, 6.0f).x, _307.y == float2(4.0f, 6.0f).y))) && all(bool2(_308.x == 4.0f.xx.x, _308.y == 4.0f.xx.y));
184*c8dee2aaSAndroid Build Coastguard Worker    }
185*c8dee2aaSAndroid Build Coastguard Worker    else
186*c8dee2aaSAndroid Build Coastguard Worker    {
187*c8dee2aaSAndroid Build Coastguard Worker        _320 = false;
188*c8dee2aaSAndroid Build Coastguard Worker    }
189*c8dee2aaSAndroid Build Coastguard Worker    _RESERVED_IDENTIFIER_FIXUP_0_ok = _320;
190*c8dee2aaSAndroid Build Coastguard Worker    _RESERVED_IDENTIFIER_FIXUP_2_m = float3x2(float2(2.0f, 0.0f), float2(0.0f, 2.0f), 0.0f.xx);
191*c8dee2aaSAndroid Build Coastguard Worker    float2 _321 = float2(2.0f, 0.0f) - 4.0f.xx;
192*c8dee2aaSAndroid Build Coastguard Worker    float2 _322 = float2(0.0f, 2.0f) - 4.0f.xx;
193*c8dee2aaSAndroid Build Coastguard Worker    float2 _323 = 0.0f.xx - 4.0f.xx;
194*c8dee2aaSAndroid Build Coastguard Worker    _RESERVED_IDENTIFIER_FIXUP_2_m = float3x2(_321, _322, _323);
195*c8dee2aaSAndroid Build Coastguard Worker    bool _335 = false;
196*c8dee2aaSAndroid Build Coastguard Worker    if (_320)
197*c8dee2aaSAndroid Build Coastguard Worker    {
198*c8dee2aaSAndroid Build Coastguard Worker        _335 = (all(bool2(_321.x == float2(-2.0f, -4.0f).x, _321.y == float2(-2.0f, -4.0f).y)) && all(bool2(_322.x == float2(-4.0f, -2.0f).x, _322.y == float2(-4.0f, -2.0f).y))) && all(bool2(_323.x == (-4.0f).xx.x, _323.y == (-4.0f).xx.y));
199*c8dee2aaSAndroid Build Coastguard Worker    }
200*c8dee2aaSAndroid Build Coastguard Worker    else
201*c8dee2aaSAndroid Build Coastguard Worker    {
202*c8dee2aaSAndroid Build Coastguard Worker        _335 = false;
203*c8dee2aaSAndroid Build Coastguard Worker    }
204*c8dee2aaSAndroid Build Coastguard Worker    _RESERVED_IDENTIFIER_FIXUP_0_ok = _335;
205*c8dee2aaSAndroid Build Coastguard Worker    _RESERVED_IDENTIFIER_FIXUP_2_m = float3x2(float2(2.0f, 0.0f), float2(0.0f, 2.0f), 0.0f.xx);
206*c8dee2aaSAndroid Build Coastguard Worker    float2 _336 = float2(2.0f, 0.0f) / 4.0f.xx;
207*c8dee2aaSAndroid Build Coastguard Worker    float2 _337 = float2(0.0f, 2.0f) / 4.0f.xx;
208*c8dee2aaSAndroid Build Coastguard Worker    float2 _338 = 0.0f.xx / 4.0f.xx;
209*c8dee2aaSAndroid Build Coastguard Worker    _RESERVED_IDENTIFIER_FIXUP_2_m = float3x2(_336, _337, _338);
210*c8dee2aaSAndroid Build Coastguard Worker    bool _350 = false;
211*c8dee2aaSAndroid Build Coastguard Worker    if (_335)
212*c8dee2aaSAndroid Build Coastguard Worker    {
213*c8dee2aaSAndroid Build Coastguard Worker        _350 = (all(bool2(_336.x == float2(0.5f, 0.0f).x, _336.y == float2(0.5f, 0.0f).y)) && all(bool2(_337.x == float2(0.0f, 0.5f).x, _337.y == float2(0.0f, 0.5f).y))) && all(bool2(_338.x == 0.0f.xx.x, _338.y == 0.0f.xx.y));
214*c8dee2aaSAndroid Build Coastguard Worker    }
215*c8dee2aaSAndroid Build Coastguard Worker    else
216*c8dee2aaSAndroid Build Coastguard Worker    {
217*c8dee2aaSAndroid Build Coastguard Worker        _350 = false;
218*c8dee2aaSAndroid Build Coastguard Worker    }
219*c8dee2aaSAndroid Build Coastguard Worker    _RESERVED_IDENTIFIER_FIXUP_0_ok = _350;
220*c8dee2aaSAndroid Build Coastguard Worker    float2x3 _RESERVED_IDENTIFIER_FIXUP_3_splat_4 = float2x3(4.0f.xxx, 4.0f.xxx);
221*c8dee2aaSAndroid Build Coastguard Worker    float2x3 _RESERVED_IDENTIFIER_FIXUP_4_m = float2x3(4.0f.xxx, 4.0f.xxx);
222*c8dee2aaSAndroid Build Coastguard Worker    float3 _353 = 4.0f.xxx + float3(2.0f, 0.0f, 0.0f);
223*c8dee2aaSAndroid Build Coastguard Worker    float3 _354 = 4.0f.xxx + float3(0.0f, 2.0f, 0.0f);
224*c8dee2aaSAndroid Build Coastguard Worker    _RESERVED_IDENTIFIER_FIXUP_4_m = float2x3(_353, _354);
225*c8dee2aaSAndroid Build Coastguard Worker    bool _363 = false;
226*c8dee2aaSAndroid Build Coastguard Worker    if (_350)
227*c8dee2aaSAndroid Build Coastguard Worker    {
228*c8dee2aaSAndroid Build Coastguard Worker        _363 = all(bool3(_353.x == float3(6.0f, 4.0f, 4.0f).x, _353.y == float3(6.0f, 4.0f, 4.0f).y, _353.z == float3(6.0f, 4.0f, 4.0f).z)) && all(bool3(_354.x == float3(4.0f, 6.0f, 4.0f).x, _354.y == float3(4.0f, 6.0f, 4.0f).y, _354.z == float3(4.0f, 6.0f, 4.0f).z));
229*c8dee2aaSAndroid Build Coastguard Worker    }
230*c8dee2aaSAndroid Build Coastguard Worker    else
231*c8dee2aaSAndroid Build Coastguard Worker    {
232*c8dee2aaSAndroid Build Coastguard Worker        _363 = false;
233*c8dee2aaSAndroid Build Coastguard Worker    }
234*c8dee2aaSAndroid Build Coastguard Worker    _RESERVED_IDENTIFIER_FIXUP_0_ok = _363;
235*c8dee2aaSAndroid Build Coastguard Worker    _RESERVED_IDENTIFIER_FIXUP_4_m = float2x3(4.0f.xxx, 4.0f.xxx);
236*c8dee2aaSAndroid Build Coastguard Worker    float3 _364 = 4.0f.xxx - float3(2.0f, 0.0f, 0.0f);
237*c8dee2aaSAndroid Build Coastguard Worker    float3 _365 = 4.0f.xxx - float3(0.0f, 2.0f, 0.0f);
238*c8dee2aaSAndroid Build Coastguard Worker    _RESERVED_IDENTIFIER_FIXUP_4_m = float2x3(_364, _365);
239*c8dee2aaSAndroid Build Coastguard Worker    bool _374 = false;
240*c8dee2aaSAndroid Build Coastguard Worker    if (_363)
241*c8dee2aaSAndroid Build Coastguard Worker    {
242*c8dee2aaSAndroid Build Coastguard Worker        _374 = all(bool3(_364.x == float3(2.0f, 4.0f, 4.0f).x, _364.y == float3(2.0f, 4.0f, 4.0f).y, _364.z == float3(2.0f, 4.0f, 4.0f).z)) && all(bool3(_365.x == float3(4.0f, 2.0f, 4.0f).x, _365.y == float3(4.0f, 2.0f, 4.0f).y, _365.z == float3(4.0f, 2.0f, 4.0f).z));
243*c8dee2aaSAndroid Build Coastguard Worker    }
244*c8dee2aaSAndroid Build Coastguard Worker    else
245*c8dee2aaSAndroid Build Coastguard Worker    {
246*c8dee2aaSAndroid Build Coastguard Worker        _374 = false;
247*c8dee2aaSAndroid Build Coastguard Worker    }
248*c8dee2aaSAndroid Build Coastguard Worker    _RESERVED_IDENTIFIER_FIXUP_0_ok = _374;
249*c8dee2aaSAndroid Build Coastguard Worker    _RESERVED_IDENTIFIER_FIXUP_4_m = float2x3(4.0f.xxx, 4.0f.xxx);
250*c8dee2aaSAndroid Build Coastguard Worker    float3 _375 = 4.0f.xxx / 2.0f.xxx;
251*c8dee2aaSAndroid Build Coastguard Worker    float3 _376 = 4.0f.xxx / 2.0f.xxx;
252*c8dee2aaSAndroid Build Coastguard Worker    _RESERVED_IDENTIFIER_FIXUP_4_m = float2x3(_375, _376);
253*c8dee2aaSAndroid Build Coastguard Worker    bool _385 = false;
254*c8dee2aaSAndroid Build Coastguard Worker    if (_374)
255*c8dee2aaSAndroid Build Coastguard Worker    {
256*c8dee2aaSAndroid Build Coastguard Worker        _385 = all(bool3(_375.x == 2.0f.xxx.x, _375.y == 2.0f.xxx.y, _375.z == 2.0f.xxx.z)) && all(bool3(_376.x == 2.0f.xxx.x, _376.y == 2.0f.xxx.y, _376.z == 2.0f.xxx.z));
257*c8dee2aaSAndroid Build Coastguard Worker    }
258*c8dee2aaSAndroid Build Coastguard Worker    else
259*c8dee2aaSAndroid Build Coastguard Worker    {
260*c8dee2aaSAndroid Build Coastguard Worker        _385 = false;
261*c8dee2aaSAndroid Build Coastguard Worker    }
262*c8dee2aaSAndroid Build Coastguard Worker    _RESERVED_IDENTIFIER_FIXUP_0_ok = _385;
263*c8dee2aaSAndroid Build Coastguard Worker    float4x3 _RESERVED_IDENTIFIER_FIXUP_5_m = float4x3(float3(1.0f, 2.0f, 3.0f), float3(4.0f, 5.0f, 6.0f), float3(7.0f, 8.0f, 9.0f), float3(10.0f, 11.0f, 12.0f));
264*c8dee2aaSAndroid Build Coastguard Worker    float3 _387 = float3(1.0f, 2.0f, 3.0f) + float3(16.0f, 15.0f, 14.0f);
265*c8dee2aaSAndroid Build Coastguard Worker    float3 _388 = float3(4.0f, 5.0f, 6.0f) + float3(13.0f, 12.0f, 11.0f);
266*c8dee2aaSAndroid Build Coastguard Worker    float3 _389 = float3(7.0f, 8.0f, 9.0f) + float3(10.0f, 9.0f, 8.0f);
267*c8dee2aaSAndroid Build Coastguard Worker    float3 _390 = float3(10.0f, 11.0f, 12.0f) + float3(7.0f, 6.0f, 5.0f);
268*c8dee2aaSAndroid Build Coastguard Worker    _RESERVED_IDENTIFIER_FIXUP_5_m = float4x3(_387, _388, _389, _390);
269*c8dee2aaSAndroid Build Coastguard Worker    bool _405 = false;
270*c8dee2aaSAndroid Build Coastguard Worker    if (_385)
271*c8dee2aaSAndroid Build Coastguard Worker    {
272*c8dee2aaSAndroid Build Coastguard Worker        _405 = ((all(bool3(_387.x == 17.0f.xxx.x, _387.y == 17.0f.xxx.y, _387.z == 17.0f.xxx.z)) && all(bool3(_388.x == 17.0f.xxx.x, _388.y == 17.0f.xxx.y, _388.z == 17.0f.xxx.z))) && all(bool3(_389.x == 17.0f.xxx.x, _389.y == 17.0f.xxx.y, _389.z == 17.0f.xxx.z))) && all(bool3(_390.x == 17.0f.xxx.x, _390.y == 17.0f.xxx.y, _390.z == 17.0f.xxx.z));
273*c8dee2aaSAndroid Build Coastguard Worker    }
274*c8dee2aaSAndroid Build Coastguard Worker    else
275*c8dee2aaSAndroid Build Coastguard Worker    {
276*c8dee2aaSAndroid Build Coastguard Worker        _405 = false;
277*c8dee2aaSAndroid Build Coastguard Worker    }
278*c8dee2aaSAndroid Build Coastguard Worker    _RESERVED_IDENTIFIER_FIXUP_0_ok = _405;
279*c8dee2aaSAndroid Build Coastguard Worker    float4x2 _RESERVED_IDENTIFIER_FIXUP_6_m = float4x2(float2(10.0f, 20.0f), float2(30.0f, 40.0f), float2(50.0f, 60.0f), float2(70.0f, 80.0f));
280*c8dee2aaSAndroid Build Coastguard Worker    float2 _407 = float2(10.0f, 20.0f) - float2(1.0f, 2.0f);
281*c8dee2aaSAndroid Build Coastguard Worker    float2 _408 = float2(30.0f, 40.0f) - float2(3.0f, 4.0f);
282*c8dee2aaSAndroid Build Coastguard Worker    float2 _409 = float2(50.0f, 60.0f) - float2(5.0f, 6.0f);
283*c8dee2aaSAndroid Build Coastguard Worker    float2 _410 = float2(70.0f, 80.0f) - float2(7.0f, 8.0f);
284*c8dee2aaSAndroid Build Coastguard Worker    _RESERVED_IDENTIFIER_FIXUP_6_m = float4x2(_407, _408, _409, _410);
285*c8dee2aaSAndroid Build Coastguard Worker    bool _425 = false;
286*c8dee2aaSAndroid Build Coastguard Worker    if (_405)
287*c8dee2aaSAndroid Build Coastguard Worker    {
288*c8dee2aaSAndroid Build Coastguard Worker        _425 = ((all(bool2(_407.x == float2(9.0f, 18.0f).x, _407.y == float2(9.0f, 18.0f).y)) && all(bool2(_408.x == float2(27.0f, 36.0f).x, _408.y == float2(27.0f, 36.0f).y))) && all(bool2(_409.x == float2(45.0f, 54.0f).x, _409.y == float2(45.0f, 54.0f).y))) && all(bool2(_410.x == float2(63.0f, 72.0f).x, _410.y == float2(63.0f, 72.0f).y));
289*c8dee2aaSAndroid Build Coastguard Worker    }
290*c8dee2aaSAndroid Build Coastguard Worker    else
291*c8dee2aaSAndroid Build Coastguard Worker    {
292*c8dee2aaSAndroid Build Coastguard Worker        _425 = false;
293*c8dee2aaSAndroid Build Coastguard Worker    }
294*c8dee2aaSAndroid Build Coastguard Worker    _RESERVED_IDENTIFIER_FIXUP_0_ok = _425;
295*c8dee2aaSAndroid Build Coastguard Worker    float2x4 _RESERVED_IDENTIFIER_FIXUP_7_m = float2x4(float4(10.0f, 20.0f, 30.0f, 40.0f), float4(10.0f, 20.0f, 30.0f, 40.0f));
296*c8dee2aaSAndroid Build Coastguard Worker    float4 _427 = float4(10.0f, 20.0f, 30.0f, 40.0f) / 10.0f.xxxx;
297*c8dee2aaSAndroid Build Coastguard Worker    float4 _428 = float4(10.0f, 20.0f, 30.0f, 40.0f) / 5.0f.xxxx;
298*c8dee2aaSAndroid Build Coastguard Worker    _RESERVED_IDENTIFIER_FIXUP_7_m = float2x4(_427, _428);
299*c8dee2aaSAndroid Build Coastguard Worker    bool _437 = false;
300*c8dee2aaSAndroid Build Coastguard Worker    if (_425)
301*c8dee2aaSAndroid Build Coastguard Worker    {
302*c8dee2aaSAndroid Build Coastguard Worker        _437 = all(bool4(_427.x == float4(1.0f, 2.0f, 3.0f, 4.0f).x, _427.y == float4(1.0f, 2.0f, 3.0f, 4.0f).y, _427.z == float4(1.0f, 2.0f, 3.0f, 4.0f).z, _427.w == float4(1.0f, 2.0f, 3.0f, 4.0f).w)) && all(bool4(_428.x == float4(2.0f, 4.0f, 6.0f, 8.0f).x, _428.y == float4(2.0f, 4.0f, 6.0f, 8.0f).y, _428.z == float4(2.0f, 4.0f, 6.0f, 8.0f).z, _428.w == float4(2.0f, 4.0f, 6.0f, 8.0f).w));
303*c8dee2aaSAndroid Build Coastguard Worker    }
304*c8dee2aaSAndroid Build Coastguard Worker    else
305*c8dee2aaSAndroid Build Coastguard Worker    {
306*c8dee2aaSAndroid Build Coastguard Worker        _437 = false;
307*c8dee2aaSAndroid Build Coastguard Worker    }
308*c8dee2aaSAndroid Build Coastguard Worker    _RESERVED_IDENTIFIER_FIXUP_0_ok = _437;
309*c8dee2aaSAndroid Build Coastguard Worker    float2x3 _RESERVED_IDENTIFIER_FIXUP_8_m = float2x3(float3(7.0f, 9.0f, 11.0f), float3(8.0f, 10.0f, 12.0f));
310*c8dee2aaSAndroid Build Coastguard Worker    float2x3 _439 = mul(float2x2(float2(1.0f, 4.0f), float2(2.0f, 5.0f)), float2x3(float3(7.0f, 9.0f, 11.0f), float3(8.0f, 10.0f, 12.0f)));
311*c8dee2aaSAndroid Build Coastguard Worker    _RESERVED_IDENTIFIER_FIXUP_8_m = _439;
312*c8dee2aaSAndroid Build Coastguard Worker    bool _449 = false;
313*c8dee2aaSAndroid Build Coastguard Worker    if (_437)
314*c8dee2aaSAndroid Build Coastguard Worker    {
315*c8dee2aaSAndroid Build Coastguard Worker        float3 _442 = _439[0];
316*c8dee2aaSAndroid Build Coastguard Worker        float3 _445 = _439[1];
317*c8dee2aaSAndroid Build Coastguard Worker        _449 = all(bool3(_442.x == float3(39.0f, 49.0f, 59.0f).x, _442.y == float3(39.0f, 49.0f, 59.0f).y, _442.z == float3(39.0f, 49.0f, 59.0f).z)) && all(bool3(_445.x == float3(54.0f, 68.0f, 82.0f).x, _445.y == float3(54.0f, 68.0f, 82.0f).y, _445.z == float3(54.0f, 68.0f, 82.0f).z));
318*c8dee2aaSAndroid Build Coastguard Worker    }
319*c8dee2aaSAndroid Build Coastguard Worker    else
320*c8dee2aaSAndroid Build Coastguard Worker    {
321*c8dee2aaSAndroid Build Coastguard Worker        _449 = false;
322*c8dee2aaSAndroid Build Coastguard Worker    }
323*c8dee2aaSAndroid Build Coastguard Worker    _RESERVED_IDENTIFIER_FIXUP_0_ok = _449;
324*c8dee2aaSAndroid Build Coastguard Worker    bool _453 = false;
325*c8dee2aaSAndroid Build Coastguard Worker    if (_449)
326*c8dee2aaSAndroid Build Coastguard Worker    {
327*c8dee2aaSAndroid Build Coastguard Worker        _453 = test_matrix_op_matrix_half_b();
328*c8dee2aaSAndroid Build Coastguard Worker    }
329*c8dee2aaSAndroid Build Coastguard Worker    else
330*c8dee2aaSAndroid Build Coastguard Worker    {
331*c8dee2aaSAndroid Build Coastguard Worker        _453 = false;
332*c8dee2aaSAndroid Build Coastguard Worker    }
333*c8dee2aaSAndroid Build Coastguard Worker    float4 _454 = 0.0f.xxxx;
334*c8dee2aaSAndroid Build Coastguard Worker    if (_453)
335*c8dee2aaSAndroid Build Coastguard Worker    {
336*c8dee2aaSAndroid Build Coastguard Worker        _454 = _8_colorGreen;
337*c8dee2aaSAndroid Build Coastguard Worker    }
338*c8dee2aaSAndroid Build Coastguard Worker    else
339*c8dee2aaSAndroid Build Coastguard Worker    {
340*c8dee2aaSAndroid Build Coastguard Worker        _454 = _8_colorRed;
341*c8dee2aaSAndroid Build Coastguard Worker    }
342*c8dee2aaSAndroid Build Coastguard Worker    return _454;
343*c8dee2aaSAndroid Build Coastguard Worker}
344*c8dee2aaSAndroid Build Coastguard Worker
345*c8dee2aaSAndroid Build Coastguard Workervoid frag_main()
346*c8dee2aaSAndroid Build Coastguard Worker{
347*c8dee2aaSAndroid Build Coastguard Worker    float2 _18 = 0.0f.xx;
348*c8dee2aaSAndroid Build Coastguard Worker    sk_FragColor = main(_18);
349*c8dee2aaSAndroid Build Coastguard Worker}
350*c8dee2aaSAndroid Build Coastguard Worker
351*c8dee2aaSAndroid Build Coastguard WorkerSPIRV_Cross_Output main()
352*c8dee2aaSAndroid Build Coastguard Worker{
353*c8dee2aaSAndroid Build Coastguard Worker    frag_main();
354*c8dee2aaSAndroid Build Coastguard Worker    SPIRV_Cross_Output stage_output;
355*c8dee2aaSAndroid Build Coastguard Worker    stage_output.sk_FragColor = sk_FragColor;
356*c8dee2aaSAndroid Build Coastguard Worker    return stage_output;
357*c8dee2aaSAndroid Build Coastguard Worker}
358