xref: /aosp_15_r20/external/skia/resources/sksl/wgsl/UniformMatrices.sksl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker// Our buffers are in std140 layout, so the generated code will need to compensate.
2*c8dee2aaSAndroid Build Coastguard Worker
3*c8dee2aaSAndroid Build Coastguard Workerlayout(set=0, binding=1) uniform UniformBuffer {
4*c8dee2aaSAndroid Build Coastguard Worker    float2x2 u22;
5*c8dee2aaSAndroid Build Coastguard Worker    float2x3 u23;
6*c8dee2aaSAndroid Build Coastguard Worker    float2x4 u24;
7*c8dee2aaSAndroid Build Coastguard Worker    float3x2 u32;
8*c8dee2aaSAndroid Build Coastguard Worker    float3x3 u33;
9*c8dee2aaSAndroid Build Coastguard Worker    float3x4 u34;
10*c8dee2aaSAndroid Build Coastguard Worker    float4x2 u42;
11*c8dee2aaSAndroid Build Coastguard Worker    float4x3 u43;
12*c8dee2aaSAndroid Build Coastguard Worker    float4x4 u44;
13*c8dee2aaSAndroid Build Coastguard Worker    float2x2 au22[3];
14*c8dee2aaSAndroid Build Coastguard Worker    float2x3 au23[3];
15*c8dee2aaSAndroid Build Coastguard Worker    float2x4 au24[3];
16*c8dee2aaSAndroid Build Coastguard Worker    float3x2 au32[3];
17*c8dee2aaSAndroid Build Coastguard Worker    float3x3 au33[3];
18*c8dee2aaSAndroid Build Coastguard Worker    float3x4 au34[3];
19*c8dee2aaSAndroid Build Coastguard Worker    float4x2 au42[3];
20*c8dee2aaSAndroid Build Coastguard Worker    float4x3 au43[3];
21*c8dee2aaSAndroid Build Coastguard Worker    float4x4 au44[3];
22*c8dee2aaSAndroid Build Coastguard Worker};
23*c8dee2aaSAndroid Build Coastguard Worker
24*c8dee2aaSAndroid Build Coastguard Workerlayout(set=0, binding=2) buffer StorageBuffer {
25*c8dee2aaSAndroid Build Coastguard Worker    float2x2 s22;
26*c8dee2aaSAndroid Build Coastguard Worker    float2x3 s23;
27*c8dee2aaSAndroid Build Coastguard Worker    float2x4 s24;
28*c8dee2aaSAndroid Build Coastguard Worker    float3x2 s32;
29*c8dee2aaSAndroid Build Coastguard Worker    float3x3 s33;
30*c8dee2aaSAndroid Build Coastguard Worker    float3x4 s34;
31*c8dee2aaSAndroid Build Coastguard Worker    float4x2 s42;
32*c8dee2aaSAndroid Build Coastguard Worker    float4x3 s43;
33*c8dee2aaSAndroid Build Coastguard Worker    float4x4 s44;
34*c8dee2aaSAndroid Build Coastguard Worker    float2x2 as22[3];
35*c8dee2aaSAndroid Build Coastguard Worker    float2x3 as23[3];
36*c8dee2aaSAndroid Build Coastguard Worker    float2x4 as24[3];
37*c8dee2aaSAndroid Build Coastguard Worker    float3x2 as32[3];
38*c8dee2aaSAndroid Build Coastguard Worker    float3x3 as33[3];
39*c8dee2aaSAndroid Build Coastguard Worker    float3x4 as34[3];
40*c8dee2aaSAndroid Build Coastguard Worker    float4x2 as42[3];
41*c8dee2aaSAndroid Build Coastguard Worker    float4x3 as43[3];
42*c8dee2aaSAndroid Build Coastguard Worker    float4x4 as44[3];
43*c8dee2aaSAndroid Build Coastguard Worker};
44*c8dee2aaSAndroid Build Coastguard Worker
45*c8dee2aaSAndroid Build Coastguard Workerhalf4 main() {
46*c8dee2aaSAndroid Build Coastguard Worker    float value = u22[0][0] +
47*c8dee2aaSAndroid Build Coastguard Worker                  u23[0][0] +
48*c8dee2aaSAndroid Build Coastguard Worker                  u24[0][0] +
49*c8dee2aaSAndroid Build Coastguard Worker                  u32[0][0] +
50*c8dee2aaSAndroid Build Coastguard Worker                  u33[0][0] +
51*c8dee2aaSAndroid Build Coastguard Worker                  u34[0][0] +
52*c8dee2aaSAndroid Build Coastguard Worker                  u42[0][0] +
53*c8dee2aaSAndroid Build Coastguard Worker                  u43[0][0] +
54*c8dee2aaSAndroid Build Coastguard Worker                 au44[0][0][0] +
55*c8dee2aaSAndroid Build Coastguard Worker                 au22[0][0][0] +
56*c8dee2aaSAndroid Build Coastguard Worker                 au23[0][0][0] +
57*c8dee2aaSAndroid Build Coastguard Worker                 au24[0][0][0] +
58*c8dee2aaSAndroid Build Coastguard Worker                 au32[0][0][0] +
59*c8dee2aaSAndroid Build Coastguard Worker                 au33[0][0][0] +
60*c8dee2aaSAndroid Build Coastguard Worker                 au34[0][0][0] +
61*c8dee2aaSAndroid Build Coastguard Worker                 au42[0][0][0] +
62*c8dee2aaSAndroid Build Coastguard Worker                 au43[0][0][0] +
63*c8dee2aaSAndroid Build Coastguard Worker                 au44[0][0][0] +
64*c8dee2aaSAndroid Build Coastguard Worker                  s22[0][0] +
65*c8dee2aaSAndroid Build Coastguard Worker                  s23[0][0] +
66*c8dee2aaSAndroid Build Coastguard Worker                  s24[0][0] +
67*c8dee2aaSAndroid Build Coastguard Worker                  s32[0][0] +
68*c8dee2aaSAndroid Build Coastguard Worker                  s33[0][0] +
69*c8dee2aaSAndroid Build Coastguard Worker                  s34[0][0] +
70*c8dee2aaSAndroid Build Coastguard Worker                  s42[0][0] +
71*c8dee2aaSAndroid Build Coastguard Worker                  s43[0][0] +
72*c8dee2aaSAndroid Build Coastguard Worker                 as44[0][0][0] +
73*c8dee2aaSAndroid Build Coastguard Worker                 as22[0][0][0] +
74*c8dee2aaSAndroid Build Coastguard Worker                 as23[0][0][0] +
75*c8dee2aaSAndroid Build Coastguard Worker                 as24[0][0][0] +
76*c8dee2aaSAndroid Build Coastguard Worker                 as32[0][0][0] +
77*c8dee2aaSAndroid Build Coastguard Worker                 as33[0][0][0] +
78*c8dee2aaSAndroid Build Coastguard Worker                 as34[0][0][0] +
79*c8dee2aaSAndroid Build Coastguard Worker                 as42[0][0][0] +
80*c8dee2aaSAndroid Build Coastguard Worker                 as43[0][0][0] +
81*c8dee2aaSAndroid Build Coastguard Worker                 as44[0][0][0];
82*c8dee2aaSAndroid Build Coastguard Worker    return half4(value);
83*c8dee2aaSAndroid Build Coastguard Worker}
84