spv.multiStructFuncall.frag
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 66

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main"
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              Name 4  "main"
                              Name 9  "S"
                              MemberName 9(S) 0  "m"
                              Name 12  "fooConst(struct-S-mf441;"
                              Name 11  "s"
                              Name 17  "foo(struct-S-mf441;"
                              Name 16  "s"
                              Name 20  "fooOut(struct-S-mf441;"
                              Name 19  "s"
                              Name 22  "S"
                              MemberName 22(S) 0  "m"
                              Name 23  "blockName"
                              MemberName 23(blockName) 0  "s1"
                              Name 25  ""
                              Name 31  "S"
                              MemberName 31(S) 0  "m"
                              Name 32  "arg"
                              Name 39  "s2"
                              Name 42  "param"
                              Name 48  "param"
                              Name 51  "param"
                              Name 62  "param"
                              MemberDecorate 22(S) 0 ColMajor
                              MemberDecorate 22(S) 0 Offset 0
                              MemberDecorate 22(S) 0 MatrixStride 16
                              MemberDecorate 23(blockName) 0 Offset 0
                              Decorate 23(blockName) BufferBlock
                              Decorate 25 DescriptorSet 0
                              Decorate 25 Binding 0
                              MemberDecorate 31(S) 0 ColMajor
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypeMatrix 7(fvec4) 4
            9(S):             TypeStruct 8
              10:             TypeFunction 2 9(S)
              14:             TypePointer Function 9(S)
              15:             TypeFunction 2 14(ptr)
           22(S):             TypeStruct 8
   23(blockName):             TypeStruct 22(S)
              24:             TypePointer Uniform 23(blockName)
              25:     24(ptr) Variable Uniform
              26:             TypeInt 32 1
              27:     26(int) Constant 0
              28:             TypePointer Uniform 22(S)
           31(S):             TypeStruct 8
              34:             TypePointer Function 8
              38:             TypePointer Private 9(S)
          39(s2):     38(ptr) Variable Private
              60:             TypePointer Uniform 8
         4(main):           2 Function None 3
               5:             Label
         32(arg):     14(ptr) Variable Function
       42(param):     14(ptr) Variable Function
       48(param):     14(ptr) Variable Function
       51(param):     14(ptr) Variable Function
       62(param):     14(ptr) Variable Function
              29:     28(ptr) AccessChain 25 27
              30:       22(S) Load 29
              33:           8 CompositeExtract 30 0
              35:     34(ptr) AccessChain 32(arg) 27
                              Store 35 33
              36:        9(S) Load 32(arg)
              37:           2 FunctionCall 12(fooConst(struct-S-mf441;) 36
              40:        9(S) Load 39(s2)
              41:           2 FunctionCall 12(fooConst(struct-S-mf441;) 40
              43:     28(ptr) AccessChain 25 27
              44:       22(S) Load 43
              45:           8 CompositeExtract 44 0
              46:     34(ptr) AccessChain 42(param) 27
                              Store 46 45
              47:           2 FunctionCall 17(foo(struct-S-mf441;) 42(param)
              49:        9(S) Load 39(s2)
                              Store 48(param) 49
              50:           2 FunctionCall 17(foo(struct-S-mf441;) 48(param)
              52:     28(ptr) AccessChain 25 27
              53:       22(S) Load 52
              54:           8 CompositeExtract 53 0
              55:     34(ptr) AccessChain 51(param) 27
                              Store 55 54
              56:           2 FunctionCall 20(fooOut(struct-S-mf441;) 51(param)
              57:        9(S) Load 51(param)
              58:     28(ptr) AccessChain 25 27
              59:           8 CompositeExtract 57 0
              61:     60(ptr) AccessChain 58 27
                              Store 61 59
              63:        9(S) Load 39(s2)
                              Store 62(param) 63
              64:           2 FunctionCall 20(fooOut(struct-S-mf441;) 62(param)
              65:        9(S) Load 62(param)
                              Store 39(s2) 65
                              Return
                              FunctionEnd
12(fooConst(struct-S-mf441;):           2 Function None 10
           11(s):        9(S) FunctionParameter
              13:             Label
                              Return
                              FunctionEnd
17(foo(struct-S-mf441;):           2 Function None 15
           16(s):     14(ptr) FunctionParameter
              18:             Label
                              Return
                              FunctionEnd
20(fooOut(struct-S-mf441;):           2 Function None 15
           19(s):     14(ptr) FunctionParameter
              21:             Label
                              Return
                              FunctionEnd