1hlsl.multiReturn.frag
2Shader version: 500
3gl_FragCoord origin is upper left
40:? Sequence
50:12  Function Definition: foo( ( temp structure{ temp float f,  temp 3-component vector of float v,  temp 3X3 matrix of float m})
60:12    Function Parameters:
70:?     Sequence
80:13      Branch: Return with expression
90:13        s: direct index for structure (layout( row_major std140) uniform structure{ temp float f,  temp 3-component vector of float v,  temp 3X3 matrix of float m})
100:13          'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform structure{ temp float f,  temp 3-component vector of float v,  temp 3X3 matrix of float m} s})
110:13          Constant:
120:13            0 (const uint)
130:17  Function Definition: @main( ( temp void)
140:17    Function Parameters:
150:?     Sequence
160:18      Function Call: foo( ( temp structure{ temp float f,  temp 3-component vector of float v,  temp 3X3 matrix of float m})
170:17  Function Definition: main( ( temp void)
180:17    Function Parameters:
190:?     Sequence
200:17      Function Call: @main( ( temp void)
210:?   Linker Objects
220:?     'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform structure{ temp float f,  temp 3-component vector of float v,  temp 3X3 matrix of float m} s})
23
24
25Linked fragment stage:
26
27
28Shader version: 500
29gl_FragCoord origin is upper left
300:? Sequence
310:12  Function Definition: foo( ( temp structure{ temp float f,  temp 3-component vector of float v,  temp 3X3 matrix of float m})
320:12    Function Parameters:
330:?     Sequence
340:13      Branch: Return with expression
350:13        s: direct index for structure (layout( row_major std140) uniform structure{ temp float f,  temp 3-component vector of float v,  temp 3X3 matrix of float m})
360:13          'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform structure{ temp float f,  temp 3-component vector of float v,  temp 3X3 matrix of float m} s})
370:13          Constant:
380:13            0 (const uint)
390:17  Function Definition: @main( ( temp void)
400:17    Function Parameters:
410:?     Sequence
420:18      Function Call: foo( ( temp structure{ temp float f,  temp 3-component vector of float v,  temp 3X3 matrix of float m})
430:17  Function Definition: main( ( temp void)
440:17    Function Parameters:
450:?     Sequence
460:17      Function Call: @main( ( temp void)
470:?   Linker Objects
480:?     'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform structure{ temp float f,  temp 3-component vector of float v,  temp 3X3 matrix of float m} s})
49
50// Module Version 10000
51// Generated by (magic number): 80007
52// Id's are bound by 42
53
54                              Capability Shader
55               1:             ExtInstImport  "GLSL.std.450"
56                              MemoryModel Logical GLSL450
57                              EntryPoint Fragment 4  "main"
58                              ExecutionMode 4 OriginUpperLeft
59                              Source HLSL 500
60                              Name 4  "main"
61                              Name 9  "S"
62                              MemberName 9(S) 0  "f"
63                              MemberName 9(S) 1  "v"
64                              MemberName 9(S) 2  "m"
65                              Name 11  "foo("
66                              Name 13  "@main("
67                              Name 15  "S"
68                              MemberName 15(S) 0  "f"
69                              MemberName 15(S) 1  "v"
70                              MemberName 15(S) 2  "m"
71                              Name 16  "bufName"
72                              MemberName 16(bufName) 0  "s"
73                              Name 18  ""
74                              MemberDecorate 15(S) 0 Offset 0
75                              MemberDecorate 15(S) 1 Offset 4
76                              MemberDecorate 15(S) 2 RowMajor
77                              MemberDecorate 15(S) 2 Offset 16
78                              MemberDecorate 15(S) 2 MatrixStride 16
79                              MemberDecorate 16(bufName) 0 Offset 0
80                              Decorate 16(bufName) Block
81                              Decorate 18 DescriptorSet 0
82               2:             TypeVoid
83               3:             TypeFunction 2
84               6:             TypeFloat 32
85               7:             TypeVector 6(float) 3
86               8:             TypeMatrix 7(fvec3) 3
87            9(S):             TypeStruct 6(float) 7(fvec3) 8
88              10:             TypeFunction 9(S)
89           15(S):             TypeStruct 6(float) 7(fvec3) 8
90     16(bufName):             TypeStruct 15(S)
91              17:             TypePointer Uniform 16(bufName)
92              18:     17(ptr) Variable Uniform
93              19:             TypeInt 32 1
94              20:     19(int) Constant 0
95              21:             TypePointer Uniform 15(S)
96              24:             TypePointer Function 9(S)
97              27:             TypePointer Function 6(float)
98              30:     19(int) Constant 1
99              31:             TypePointer Function 7(fvec3)
100              34:     19(int) Constant 2
101              35:             TypePointer Function 8
102         4(main):           2 Function None 3
103               5:             Label
104              41:           2 FunctionCall 13(@main()
105                              Return
106                              FunctionEnd
107        11(foo():        9(S) Function None 10
108              12:             Label
109              25:     24(ptr) Variable Function
110              22:     21(ptr) AccessChain 18 20
111              23:       15(S) Load 22
112              26:    6(float) CompositeExtract 23 0
113              28:     27(ptr) AccessChain 25 20
114                              Store 28 26
115              29:    7(fvec3) CompositeExtract 23 1
116              32:     31(ptr) AccessChain 25 30
117                              Store 32 29
118              33:           8 CompositeExtract 23 2
119              36:     35(ptr) AccessChain 25 34
120                              Store 36 33
121              37:        9(S) Load 25
122                              ReturnValue 37
123                              FunctionEnd
124      13(@main():           2 Function None 3
125              14:             Label
126              40:        9(S) FunctionCall 11(foo()
127                              Return
128                              FunctionEnd
129