1cb93a386Sopenharmony_ci
2cb93a386Sopenharmony_ciout vec4 sk_FragColor;
3cb93a386Sopenharmony_ciuniform vec4 colorRed;
4cb93a386Sopenharmony_ciuniform vec4 colorGreen;
5cb93a386Sopenharmony_ciuniform vec4 testInputs;
6cb93a386Sopenharmony_cifloat fn_hh4(vec4 v) {
7cb93a386Sopenharmony_ci    for (int x = 1;x <= 2; ++x) {
8cb93a386Sopenharmony_ci        return v.x;
9cb93a386Sopenharmony_ci    }
10cb93a386Sopenharmony_ci}
11cb93a386Sopenharmony_civec4 main() {
12cb93a386Sopenharmony_ci    vec4 v = testInputs;
13cb93a386Sopenharmony_ci    v = vec4(0.0, v.zyx);
14cb93a386Sopenharmony_ci    v = vec4(0.0, 0.0, v.xw);
15cb93a386Sopenharmony_ci    v = vec4(1.0, 1.0, v.wx);
16cb93a386Sopenharmony_ci    v = vec4(v.zy, 1.0, 1.0);
17cb93a386Sopenharmony_ci    v = vec4(v.xx, 1.0, 1.0);
18cb93a386Sopenharmony_ci    v = v.wzwz;
19cb93a386Sopenharmony_ci    v = vec3(fn_hh4(v), 123.0, 456.0).yyzz;
20cb93a386Sopenharmony_ci    v = vec3(fn_hh4(v), 123.0, 456.0).yyzz;
21cb93a386Sopenharmony_ci    v = vec4(123.0, 456.0, 456.0, fn_hh4(v));
22cb93a386Sopenharmony_ci    v = vec4(123.0, 456.0, 456.0, fn_hh4(v));
23cb93a386Sopenharmony_ci    v = vec3(fn_hh4(v), 123.0, 456.0).yxxz;
24cb93a386Sopenharmony_ci    v = vec3(fn_hh4(v), 123.0, 456.0).yxxz;
25cb93a386Sopenharmony_ci    v = vec4(1.0, 1.0, 2.0, 3.0);
26cb93a386Sopenharmony_ci    v = vec4(colorRed.xyz, 1.0);
27cb93a386Sopenharmony_ci    v = vec4(colorRed.x, 1.0, colorRed.yz);
28cb93a386Sopenharmony_ci    v.wzyx = v;
29cb93a386Sopenharmony_ci    v.xw = v.yz;
30cb93a386Sopenharmony_ci    v.zyx = vec3(v.ww, 1.0);
31cb93a386Sopenharmony_ci    return v == vec4(1.0) ? colorGreen : colorRed;
32cb93a386Sopenharmony_ci}
33