xref: /aosp_15_r20/external/skia/resources/sksl/wgsl/UniformArrays.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    float     uf[3];
5*c8dee2aaSAndroid Build Coastguard Worker    float2    uf2[3];
6*c8dee2aaSAndroid Build Coastguard Worker    float3    uf3[3];
7*c8dee2aaSAndroid Build Coastguard Worker    float4    uf4[3];
8*c8dee2aaSAndroid Build Coastguard Worker    half      uh[3];
9*c8dee2aaSAndroid Build Coastguard Worker    half2     uh2[3];
10*c8dee2aaSAndroid Build Coastguard Worker    half3     uh3[3];
11*c8dee2aaSAndroid Build Coastguard Worker    half4     uh4[3];
12*c8dee2aaSAndroid Build Coastguard Worker    int       ui[3];
13*c8dee2aaSAndroid Build Coastguard Worker    int2      ui2[3];
14*c8dee2aaSAndroid Build Coastguard Worker    int3      ui3[3];
15*c8dee2aaSAndroid Build Coastguard Worker    int4      ui4[3];
16*c8dee2aaSAndroid Build Coastguard Worker};
17*c8dee2aaSAndroid Build Coastguard Worker
18*c8dee2aaSAndroid Build Coastguard Workerlayout(set=0, binding=2) buffer StorageBuffer {
19*c8dee2aaSAndroid Build Coastguard Worker    float     sf[4];
20*c8dee2aaSAndroid Build Coastguard Worker    float2    sf2[4];
21*c8dee2aaSAndroid Build Coastguard Worker    float3    sf3[4];
22*c8dee2aaSAndroid Build Coastguard Worker    float4    sf4[4];
23*c8dee2aaSAndroid Build Coastguard Worker    half      sh[4];
24*c8dee2aaSAndroid Build Coastguard Worker    half2     sh2[4];
25*c8dee2aaSAndroid Build Coastguard Worker    half3     sh3[4];
26*c8dee2aaSAndroid Build Coastguard Worker    half4     sh4[4];
27*c8dee2aaSAndroid Build Coastguard Worker    int       si[4];
28*c8dee2aaSAndroid Build Coastguard Worker    int2      si2[4];
29*c8dee2aaSAndroid Build Coastguard Worker    int3      si3[4];
30*c8dee2aaSAndroid Build Coastguard Worker    int4      si4[4];
31*c8dee2aaSAndroid Build Coastguard Worker};
32*c8dee2aaSAndroid Build Coastguard Worker
33*c8dee2aaSAndroid Build Coastguard Workerhalf4 main() {
34*c8dee2aaSAndroid Build Coastguard Worker    float value = float(uf [1]  ) +
35*c8dee2aaSAndroid Build Coastguard Worker                  float(uf2[1].x) +
36*c8dee2aaSAndroid Build Coastguard Worker                  float(uf3[1].x) +
37*c8dee2aaSAndroid Build Coastguard Worker                  float(uf4[1].x) +
38*c8dee2aaSAndroid Build Coastguard Worker                  float(uh [1]  ) +
39*c8dee2aaSAndroid Build Coastguard Worker                  float(uh2[1].x) +
40*c8dee2aaSAndroid Build Coastguard Worker                  float(uh3[1].x) +
41*c8dee2aaSAndroid Build Coastguard Worker                  float(uh4[1].x) +
42*c8dee2aaSAndroid Build Coastguard Worker                  float(ui [1]  ) +
43*c8dee2aaSAndroid Build Coastguard Worker                  float(ui2[1].x) +
44*c8dee2aaSAndroid Build Coastguard Worker                  float(ui3[1].x) +
45*c8dee2aaSAndroid Build Coastguard Worker                  float(ui4[1].x) +
46*c8dee2aaSAndroid Build Coastguard Worker                  float(sf [1]  ) +
47*c8dee2aaSAndroid Build Coastguard Worker                  float(sf2[1].x) +
48*c8dee2aaSAndroid Build Coastguard Worker                  float(sf3[1].x) +
49*c8dee2aaSAndroid Build Coastguard Worker                  float(sf4[1].x) +
50*c8dee2aaSAndroid Build Coastguard Worker                  float(sh [1]  ) +
51*c8dee2aaSAndroid Build Coastguard Worker                  float(sh2[1].x) +
52*c8dee2aaSAndroid Build Coastguard Worker                  float(sh3[1].x) +
53*c8dee2aaSAndroid Build Coastguard Worker                  float(sh4[1].x) +
54*c8dee2aaSAndroid Build Coastguard Worker                  float(si [1]  ) +
55*c8dee2aaSAndroid Build Coastguard Worker                  float(si2[1].x) +
56*c8dee2aaSAndroid Build Coastguard Worker                  float(si3[1].x) +
57*c8dee2aaSAndroid Build Coastguard Worker                  float(si4[1].x);
58*c8dee2aaSAndroid Build Coastguard Worker    return half4(value);
59*c8dee2aaSAndroid Build Coastguard Worker}
60