xref: /aosp_15_r20/external/skia/resources/sksl/shared/ArrayCast.sksl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1/*#pragma settings UsesPrecisionModifiers*/
2
3uniform half4 colorGreen, colorRed;
4
5half4 main(float2 coords) {
6    float    f[4] = float[4](1, 2, 3, 4);
7    half     h[4] = half[4](f);
8    f = float[4](h);
9    h =  half[4](f);
10
11    int3     i3[3] = int3[3](int3(1), int3(2), int3(3));
12    short3   s3[3] = short3[3](i3);
13    i3 =   int3[3](s3);
14    s3 = short3[3](i3);
15
16    half2x2  h2x2[2] = half2x2[2](half2x2(1, 2, 3, 4), half2x2(5, 6, 7, 8));
17    float2x2 f2x2[2] = float2x2[2](h2x2);
18    f2x2 = float2x2[2](h2x2);
19    h2x2 =  half2x2[2](f2x2);
20
21    return (f == h && i3 == s3 && f2x2 == h2x2) ? colorGreen : colorRed;
22}
23