1spv.multiStructFuncall.frag
2// Module Version 10000
3// Generated by (magic number): 80007
4// Id's are bound by 66
5
6                              Capability Shader
7               1:             ExtInstImport  "GLSL.std.450"
8                              MemoryModel Logical GLSL450
9                              EntryPoint Fragment 4  "main"
10                              ExecutionMode 4 OriginUpperLeft
11                              Source GLSL 450
12                              Name 4  "main"
13                              Name 9  "S"
14                              MemberName 9(S) 0  "m"
15                              Name 12  "fooConst(struct-S-mf441;"
16                              Name 11  "s"
17                              Name 17  "foo(struct-S-mf441;"
18                              Name 16  "s"
19                              Name 20  "fooOut(struct-S-mf441;"
20                              Name 19  "s"
21                              Name 22  "S"
22                              MemberName 22(S) 0  "m"
23                              Name 23  "blockName"
24                              MemberName 23(blockName) 0  "s1"
25                              Name 25  ""
26                              Name 31  "S"
27                              MemberName 31(S) 0  "m"
28                              Name 32  "arg"
29                              Name 39  "s2"
30                              Name 42  "param"
31                              Name 48  "param"
32                              Name 51  "param"
33                              Name 62  "param"
34                              MemberDecorate 22(S) 0 ColMajor
35                              MemberDecorate 22(S) 0 Offset 0
36                              MemberDecorate 22(S) 0 MatrixStride 16
37                              MemberDecorate 23(blockName) 0 Offset 0
38                              Decorate 23(blockName) BufferBlock
39                              Decorate 25 DescriptorSet 0
40                              MemberDecorate 31(S) 0 ColMajor
41               2:             TypeVoid
42               3:             TypeFunction 2
43               6:             TypeFloat 32
44               7:             TypeVector 6(float) 4
45               8:             TypeMatrix 7(fvec4) 4
46            9(S):             TypeStruct 8
47              10:             TypeFunction 2 9(S)
48              14:             TypePointer Function 9(S)
49              15:             TypeFunction 2 14(ptr)
50           22(S):             TypeStruct 8
51   23(blockName):             TypeStruct 22(S)
52              24:             TypePointer Uniform 23(blockName)
53              25:     24(ptr) Variable Uniform
54              26:             TypeInt 32 1
55              27:     26(int) Constant 0
56              28:             TypePointer Uniform 22(S)
57           31(S):             TypeStruct 8
58              34:             TypePointer Function 8
59              38:             TypePointer Private 9(S)
60          39(s2):     38(ptr) Variable Private
61              60:             TypePointer Uniform 8
62         4(main):           2 Function None 3
63               5:             Label
64         32(arg):     14(ptr) Variable Function
65       42(param):     14(ptr) Variable Function
66       48(param):     14(ptr) Variable Function
67       51(param):     14(ptr) Variable Function
68       62(param):     14(ptr) Variable Function
69              29:     28(ptr) AccessChain 25 27
70              30:       22(S) Load 29
71              33:           8 CompositeExtract 30 0
72              35:     34(ptr) AccessChain 32(arg) 27
73                              Store 35 33
74              36:        9(S) Load 32(arg)
75              37:           2 FunctionCall 12(fooConst(struct-S-mf441;) 36
76              40:        9(S) Load 39(s2)
77              41:           2 FunctionCall 12(fooConst(struct-S-mf441;) 40
78              43:     28(ptr) AccessChain 25 27
79              44:       22(S) Load 43
80              45:           8 CompositeExtract 44 0
81              46:     34(ptr) AccessChain 42(param) 27
82                              Store 46 45
83              47:           2 FunctionCall 17(foo(struct-S-mf441;) 42(param)
84              49:        9(S) Load 39(s2)
85                              Store 48(param) 49
86              50:           2 FunctionCall 17(foo(struct-S-mf441;) 48(param)
87              52:     28(ptr) AccessChain 25 27
88              53:       22(S) Load 52
89              54:           8 CompositeExtract 53 0
90              55:     34(ptr) AccessChain 51(param) 27
91                              Store 55 54
92              56:           2 FunctionCall 20(fooOut(struct-S-mf441;) 51(param)
93              57:        9(S) Load 51(param)
94              58:     28(ptr) AccessChain 25 27
95              59:           8 CompositeExtract 57 0
96              61:     60(ptr) AccessChain 58 27
97                              Store 61 59
98              63:        9(S) Load 39(s2)
99                              Store 62(param) 63
100              64:           2 FunctionCall 20(fooOut(struct-S-mf441;) 62(param)
101              65:        9(S) Load 62(param)
102                              Store 39(s2) 65
103                              Return
104                              FunctionEnd
10512(fooConst(struct-S-mf441;):           2 Function None 10
106           11(s):        9(S) FunctionParameter
107              13:             Label
108                              Return
109                              FunctionEnd
11017(foo(struct-S-mf441;):           2 Function None 15
111           16(s):     14(ptr) FunctionParameter
112              18:             Label
113                              Return
114                              FunctionEnd
11520(fooOut(struct-S-mf441;):           2 Function None 15
116           19(s):     14(ptr) FunctionParameter
117              21:             Label
118                              Return
119                              FunctionEnd
120