spv.1.4.funcall.array.frag
// Module Version 10400
// Generated by (magic number): 8000b
// Id's are bound by 42

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 27 31
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              Name 4  "main"
                              Name 16  "f(vf4[9];i1;"
                              Name 14  "a"
                              Name 15  "ix"
                              Name 20  "indexable"
                              Name 27  "color"
                              Name 29  "ub"
                              MemberName 29(ub) 0  "u"
                              Name 31  ""
                              Name 37  "arg"
                              Name 40  "param"
                              Decorate 27(color) Location 0
                              Decorate 28 ArrayStride 16
                              MemberDecorate 29(ub) 0 Offset 0
                              Decorate 29(ub) Block
                              Decorate 31 DescriptorSet 0
                              Decorate 31 Binding 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypeInt 32 0
               9:      8(int) Constant 9
              10:             TypeArray 7(fvec4) 9
              11:             TypeInt 32 1
              12:             TypePointer Function 11(int)
              13:             TypeFunction 7(fvec4) 10 12(ptr)
              19:             TypePointer Function 10
              21:             TypePointer Function 7(fvec4)
              26:             TypePointer Output 7(fvec4)
       27(color):     26(ptr) Variable Output
              28:             TypeArray 7(fvec4) 9
          29(ub):             TypeStruct 28
              30:             TypePointer Uniform 29(ub)
              31:     30(ptr) Variable Uniform
              32:     11(int) Constant 0
              33:             TypePointer Uniform 28
              36:     11(int) Constant 2
         4(main):           2 Function None 3
               5:             Label
         37(arg):     19(ptr) Variable Function
       40(param):     12(ptr) Variable Function
              34:     33(ptr) AccessChain 31 32
              35:          28 Load 34
              38:          10 CopyLogical 35
                              Store 37(arg) 38
              39:          10 Load 37(arg)
                              Store 40(param) 36
              41:    7(fvec4) FunctionCall 16(f(vf4[9];i1;) 39 40(param)
                              Store 27(color) 41
                              Return
                              FunctionEnd
16(f(vf4[9];i1;):    7(fvec4) Function None 13
           14(a):          10 FunctionParameter
          15(ix):     12(ptr) FunctionParameter
              17:             Label
   20(indexable):     19(ptr) Variable Function
              18:     11(int) Load 15(ix)
                              Store 20(indexable) 14(a)
              22:     21(ptr) AccessChain 20(indexable) 18
              23:    7(fvec4) Load 22
                              ReturnValue 23
                              FunctionEnd
