1cb93a386Sopenharmony_ciuniform float2x2 testMatrix2x2;
2cb93a386Sopenharmony_ciuniform float3x3 testMatrix3x3;
3cb93a386Sopenharmony_ciuniform half4 colorGreen, colorRed;
4cb93a386Sopenharmony_ci
5cb93a386Sopenharmony_cihalf4 main(float2 coords) {
6cb93a386Sopenharmony_ci    float2x3 testMatrix2x3 = float2x3(1, 2, 3, 4, 5, 6);
7cb93a386Sopenharmony_ci    const float2x4 testMatrix2x4 = float2x4(1, 2, 3, 4, 5, 6, 7, 8);
8cb93a386Sopenharmony_ci    const float3x2 testMatrix3x2 = float3x2(1, 2, 3, 4, 5, 6);
9cb93a386Sopenharmony_ci    const float3x4 testMatrix3x4 = float3x4(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);
10cb93a386Sopenharmony_ci    const float4x2 testMatrix4x2 = float4x2(1, 2, 3, 4, 5, 6, 7, 8);
11cb93a386Sopenharmony_ci    const float4x3 testMatrix4x3 = float4x3(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);
12cb93a386Sopenharmony_ci    const float4x4 testMatrix4x4 = float4x4(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16);
13cb93a386Sopenharmony_ci
14cb93a386Sopenharmony_ci    return (transpose(testMatrix2x2) == float2x2(1, 3,
15cb93a386Sopenharmony_ci                                                 2, 4) &&
16cb93a386Sopenharmony_ci            transpose(testMatrix2x3) == float3x2(1, 4,
17cb93a386Sopenharmony_ci                                                 2, 5,
18cb93a386Sopenharmony_ci                                                 3, 6) &&
19cb93a386Sopenharmony_ci            transpose(testMatrix2x4) == float4x2(1, 5,
20cb93a386Sopenharmony_ci                                                 2, 6,
21cb93a386Sopenharmony_ci                                                 3, 7,
22cb93a386Sopenharmony_ci                                                 4, 8) &&
23cb93a386Sopenharmony_ci            transpose(testMatrix3x2) == float2x3(1, 3, 5,
24cb93a386Sopenharmony_ci                                                 2, 4, 6) &&
25cb93a386Sopenharmony_ci            transpose(testMatrix3x3) == float3x3(1, 4, 7,
26cb93a386Sopenharmony_ci                                                 2, 5, 8,
27cb93a386Sopenharmony_ci                                                 3, 6, 9) &&
28cb93a386Sopenharmony_ci            transpose(testMatrix3x4) == float4x3(1, 5, 9,
29cb93a386Sopenharmony_ci                                                 2, 6, 10,
30cb93a386Sopenharmony_ci                                                 3, 7, 11,
31cb93a386Sopenharmony_ci                                                 4, 8, 12) &&
32cb93a386Sopenharmony_ci            transpose(testMatrix4x2) == float2x4(1, 3, 5, 7,
33cb93a386Sopenharmony_ci                                                 2, 4, 6, 8) &&
34cb93a386Sopenharmony_ci            transpose(testMatrix4x3) == float3x4(1, 4, 7, 10,
35cb93a386Sopenharmony_ci                                                 2, 5, 8, 11,
36cb93a386Sopenharmony_ci                                                 3, 6, 9, 12) &&
37cb93a386Sopenharmony_ci            transpose(testMatrix4x4) == float4x4(1, 5,  9, 13,
38cb93a386Sopenharmony_ci                                                 2, 6, 10, 14,
39cb93a386Sopenharmony_ci                                                 3, 7, 11, 15,
40cb93a386Sopenharmony_ci                                                 4, 8, 12, 16)) ? colorGreen : colorRed;
41cb93a386Sopenharmony_ci}
42