xref: /aosp_15_r20/external/skia/resources/sksl/intrinsics/Transpose.sksl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Workeruniform float2x2 testMatrix2x2;
2*c8dee2aaSAndroid Build Coastguard Workeruniform float3x3 testMatrix3x3;
3*c8dee2aaSAndroid Build Coastguard Workeruniform half4 colorGreen, colorRed;
4*c8dee2aaSAndroid Build Coastguard Worker
5*c8dee2aaSAndroid Build Coastguard Workerhalf4 main(float2 coords) {
6*c8dee2aaSAndroid Build Coastguard Worker    float2x3 testMatrix2x3 = float2x3(1, 2, 3, 4, 5, 6);
7*c8dee2aaSAndroid Build Coastguard Worker    const float2x4 testMatrix2x4 = float2x4(1, 2, 3, 4, 5, 6, 7, 8);
8*c8dee2aaSAndroid Build Coastguard Worker    const float3x2 testMatrix3x2 = float3x2(1, 2, 3, 4, 5, 6);
9*c8dee2aaSAndroid Build Coastguard Worker    const float3x4 testMatrix3x4 = float3x4(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);
10*c8dee2aaSAndroid Build Coastguard Worker    const float4x2 testMatrix4x2 = float4x2(1, 2, 3, 4, 5, 6, 7, 8);
11*c8dee2aaSAndroid Build Coastguard Worker    const float4x3 testMatrix4x3 = float4x3(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);
12*c8dee2aaSAndroid Build Coastguard Worker    const float4x4 testMatrix4x4 = float4x4(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16);
13*c8dee2aaSAndroid Build Coastguard Worker
14*c8dee2aaSAndroid Build Coastguard Worker    return (transpose(testMatrix2x2) == float2x2(1, 3,
15*c8dee2aaSAndroid Build Coastguard Worker                                                 2, 4) &&
16*c8dee2aaSAndroid Build Coastguard Worker            transpose(testMatrix2x3) == float3x2(1, 4,
17*c8dee2aaSAndroid Build Coastguard Worker                                                 2, 5,
18*c8dee2aaSAndroid Build Coastguard Worker                                                 3, 6) &&
19*c8dee2aaSAndroid Build Coastguard Worker            transpose(testMatrix2x4) == float4x2(1, 5,
20*c8dee2aaSAndroid Build Coastguard Worker                                                 2, 6,
21*c8dee2aaSAndroid Build Coastguard Worker                                                 3, 7,
22*c8dee2aaSAndroid Build Coastguard Worker                                                 4, 8) &&
23*c8dee2aaSAndroid Build Coastguard Worker            transpose(testMatrix3x2) == float2x3(1, 3, 5,
24*c8dee2aaSAndroid Build Coastguard Worker                                                 2, 4, 6) &&
25*c8dee2aaSAndroid Build Coastguard Worker            transpose(testMatrix3x3) == float3x3(1, 4, 7,
26*c8dee2aaSAndroid Build Coastguard Worker                                                 2, 5, 8,
27*c8dee2aaSAndroid Build Coastguard Worker                                                 3, 6, 9) &&
28*c8dee2aaSAndroid Build Coastguard Worker            transpose(testMatrix3x4) == float4x3(1, 5, 9,
29*c8dee2aaSAndroid Build Coastguard Worker                                                 2, 6, 10,
30*c8dee2aaSAndroid Build Coastguard Worker                                                 3, 7, 11,
31*c8dee2aaSAndroid Build Coastguard Worker                                                 4, 8, 12) &&
32*c8dee2aaSAndroid Build Coastguard Worker            transpose(testMatrix4x2) == float2x4(1, 3, 5, 7,
33*c8dee2aaSAndroid Build Coastguard Worker                                                 2, 4, 6, 8) &&
34*c8dee2aaSAndroid Build Coastguard Worker            transpose(testMatrix4x3) == float3x4(1, 4, 7, 10,
35*c8dee2aaSAndroid Build Coastguard Worker                                                 2, 5, 8, 11,
36*c8dee2aaSAndroid Build Coastguard Worker                                                 3, 6, 9, 12) &&
37*c8dee2aaSAndroid Build Coastguard Worker            transpose(testMatrix4x4) == float4x4(1, 5,  9, 13,
38*c8dee2aaSAndroid Build Coastguard Worker                                                 2, 6, 10, 14,
39*c8dee2aaSAndroid Build Coastguard Worker                                                 3, 7, 11, 15,
40*c8dee2aaSAndroid Build Coastguard Worker                                                 4, 8, 12, 16)) ? colorGreen : colorRed;
41*c8dee2aaSAndroid Build Coastguard Worker}
42