spv.AofA.frag
WARNING: 0:6: '[][]' : Generating SPIR-V array-of-arrays, but Vulkan only supports single array level for this resource 

Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 104

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 39 44 68 70 72 78
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 430
                              Name 4  "main"
                              Name 17  "foo(f1[5][7];"
                              Name 16  "a"
                              Name 20  "r"
                              Name 39  "outfloat"
                              Name 42  "g4"
                              Name 44  "g5"
                              Name 45  "param"
                              Name 48  "u"
                              Name 52  "param"
                              Name 66  "many"
                              Name 68  "i"
                              Name 70  "j"
                              Name 72  "k"
                              Name 78  "infloat"
                              Name 94  "uAofA"
                              MemberName 94(uAofA) 0  "f"
                              Name 98  "nameAofA"
                              Decorate 39(outfloat) Location 0
                              Decorate 44(g5) Location 1
                              Decorate 68(i) Flat
                              Decorate 68(i) Location 36
                              Decorate 70(j) Flat
                              Decorate 70(j) Location 37
                              Decorate 72(k) Flat
                              Decorate 72(k) Location 38
                              Decorate 78(infloat) Location 0
                              Decorate 92 ArrayStride 16
                              Decorate 93 ArrayStride 64
                              MemberDecorate 94(uAofA) 0 Offset 0
                              Decorate 94(uAofA) Block
                              Decorate 98(nameAofA) DescriptorSet 0
                              Decorate 98(nameAofA) Binding 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeInt 32 0
               8:      7(int) Constant 7
               9:             TypeArray 6(float) 8
              10:      7(int) Constant 5
              11:             TypeArray 9 10
              12:             TypePointer Function 11
              13:      7(int) Constant 4
              14:             TypeArray 9 13
              15:             TypeFunction 14 12(ptr)
              19:             TypePointer Function 9
              21:             TypeInt 32 1
              22:     21(int) Constant 2
              25:     21(int) Constant 0
              28:     21(int) Constant 1
              32:     21(int) Constant 3
              38:             TypePointer Output 6(float)
    39(outfloat):     38(ptr) Variable Output
              40:    6(float) Constant 0
              41:             TypePointer Private 14
          42(g4):     41(ptr) Variable Private
              43:             TypePointer Input 11
          44(g5):     43(ptr) Variable Input
              49:    6(float) Constant 1077936128
              50:             TypePointer Function 6(float)
              55:      7(int) Constant 6
              56:             TypeArray 6(float) 55
              57:             TypeArray 56 10
              58:             TypeArray 57 13
              59:      7(int) Constant 3
              60:             TypeArray 58 59
              61:      7(int) Constant 2
              62:             TypeArray 60 61
              63:      7(int) Constant 1
              64:             TypeArray 62 63
              65:             TypePointer Private 64
        66(many):     65(ptr) Variable Private
              67:             TypePointer Input 21(int)
           68(i):     67(ptr) Variable Input
           70(j):     67(ptr) Variable Input
           72(k):     67(ptr) Variable Input
              77:             TypePointer Input 6(float)
     78(infloat):     77(ptr) Variable Input
              80:             TypePointer Private 6(float)
              92:             TypeArray 6(float) 13
              93:             TypeArray 92 61
       94(uAofA):             TypeStruct 93
              95:             TypeArray 94(uAofA) 10
              96:             TypeArray 95 59
              97:             TypePointer Uniform 96
    98(nameAofA):     97(ptr) Variable Uniform
              99:             TypePointer Uniform 6(float)
         4(main):           2 Function None 3
               5:             Label
       45(param):     12(ptr) Variable Function
           48(u):     12(ptr) Variable Function
       52(param):     12(ptr) Variable Function
                              Store 39(outfloat) 40
              46:          11 Load 44(g5)
                              Store 45(param) 46
              47:          14 FunctionCall 17(foo(f1[5][7];) 45(param)
                              Store 42(g4) 47
              51:     50(ptr) AccessChain 48(u) 22 22
                              Store 51 49
              53:          11 Load 48(u)
                              Store 52(param) 53
              54:          14 FunctionCall 17(foo(f1[5][7];) 52(param)
              69:     21(int) Load 68(i)
              71:     21(int) Load 70(j)
              73:     21(int) Load 72(k)
              74:     21(int) Load 68(i)
              75:     21(int) Load 70(j)
              76:     21(int) Load 72(k)
              79:    6(float) Load 78(infloat)
              81:     80(ptr) AccessChain 66(many) 69 71 73 74 75 76
                              Store 81 79
              82:     21(int) Load 70(j)
              83:     21(int) Load 70(j)
              84:     21(int) Load 70(j)
              85:     21(int) Load 70(j)
              86:     21(int) Load 70(j)
              87:     21(int) Load 70(j)
              88:     80(ptr) AccessChain 66(many) 82 83 84 85 86 87
              89:    6(float) Load 88
              90:    6(float) Load 39(outfloat)
              91:    6(float) FAdd 90 89
                              Store 39(outfloat) 91
             100:     99(ptr) AccessChain 98(nameAofA) 28 22 25 25 32
             101:    6(float) Load 100
             102:    6(float) Load 39(outfloat)
             103:    6(float) FAdd 102 101
                              Store 39(outfloat) 103
                              Return
                              FunctionEnd
17(foo(f1[5][7];):          14 Function None 15
           16(a):     12(ptr) FunctionParameter
              18:             Label
           20(r):     19(ptr) Variable Function
              23:     19(ptr) AccessChain 16(a) 22
              24:           9 Load 23
                              Store 20(r) 24
              26:     19(ptr) AccessChain 16(a) 25
              27:           9 Load 26
              29:     19(ptr) AccessChain 16(a) 28
              30:           9 Load 29
              31:           9 Load 20(r)
              33:     19(ptr) AccessChain 16(a) 32
              34:           9 Load 33
              35:          14 CompositeConstruct 27 30 31 34
                              ReturnValue 35
                              FunctionEnd
