xref: /aosp_15_r20/external/skia/resources/sksl/shared/VectorConstructors.sksl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1/*#pragma settings NoInline*/
2
3uniform half4 colorGreen, colorRed;
4uniform float unknownInput;
5
6bool check(float2 v1, float2 v2, float2 v3, float3 v4, int2 v5, int2 v6, float2 v7, float2 v8,
7           float4 v9, int2 v10, bool4 v11, float2 v12, float2 v13, float2 v14, bool2 v15,
8           bool2 v16, bool3 v17, int4 v18) {
9    return half(v1.x) + half(v2.x) + half(v3.x) + half(v4.x) +
10           half(v5.x) + half(v6.x) + half(v7.x) + half(v8.x) +
11           half(v9.x) + half(v10.x) + half(v11.x) + half(v12.x) +
12           half(v13.x) + half(v14.x) + half(v15.x) + half(v16.x) +
13           half(v17.x) + half(v18.x) == 18;
14}
15
16half4 main(float2 coords) {
17    float2 v1 = float2(1);
18    float2 v2 = float2(1, 2);
19    float2 v3 = float2(float2(1));
20    float3 v4 = float3(float2(1), 1.0);
21    int2   v5 = int2(1);
22    int2   v6 = int2(float2(1, 2));
23    float2 v7 = float2(int2(1, 2));
24    float2 v8 = float2(v5);
25    float4 v9 = float4(v6.x, unknownInput, int2(3, 4));
26    int2   v10 = int2(3.14, v1.x);
27    bool4  v11 = bool4(bool2(true, false), true, false);
28    float2 v12 = float2(1.0, false);
29    float2 v13 = float2(false);
30    float2 v14 = float2(bool2(false));
31    bool2  v15 = bool2(1.0);
32    bool2  v16 = bool2(float2(1));
33    bool3  v17 = bool3(1.0, int2(77));
34    int4   v18 = int4(1, int2(1, 1), 1);
35
36    return check(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18)
37                   ? colorGreen
38                   : colorRed;
39}
40