1hlsl.memberFunCall.frag
2Shader version: 500
3gl_FragCoord origin is upper left
40:? Sequence
50:1  Function Definition: method3(f1; ( temp float)
60:1    Function Parameters:
70:1      'a' ( in float)
80:?     Sequence
90:1      Branch: Return with expression
100:1        Constant:
110:1          1.000000
120:4  Function Definition: myContext::method1( ( temp float)
130:4    Function Parameters:
140:4      '@this' ( temp structure{ temp float f})
150:?     Sequence
160:4      Branch: Return with expression
170:4        Function Call: myContext::method2( ( temp float)
180:?           '@this' ( temp structure{ temp float f})
190:5  Function Definition: myContext::method2( ( temp float)
200:5    Function Parameters:
210:5      '@this' ( temp structure{ temp float f})
220:?     Sequence
230:5      Branch: Return with expression
240:5        Function Call: myContext::method3(f1; ( temp float)
250:?           '@this' ( temp structure{ temp float f})
260:5          Constant:
270:5            1.000000
280:6  Function Definition: myContext::method3(f1; ( temp float)
290:6    Function Parameters:
300:6      '@this' ( temp structure{ temp float f})
310:6      'a' ( in float)
320:?     Sequence
330:6      Branch: Return with expression
340:6        Function Call: myContext::method4(f1;f1; ( temp float)
350:?           '@this' ( temp structure{ temp float f})
360:6          'a' ( in float)
370:6          'a' ( in float)
380:7  Function Definition: myContext::method4(f1;f1; ( temp float)
390:7    Function Parameters:
400:7      '@this' ( temp structure{ temp float f})
410:7      'a' ( in float)
420:7      'b' ( in float)
430:?     Sequence
440:7      Branch: Return with expression
450:7        add ( temp float)
460:7          add ( temp float)
470:7            'a' ( in float)
480:7            'b' ( in float)
490:7          f: direct index for structure ( temp float)
500:7            '@this' ( temp structure{ temp float f})
510:7            Constant:
520:7              0 (const uint)
530:12  Function Definition: @main( ( temp 4-component vector of float)
540:12    Function Parameters:
550:?     Sequence
560:14      move second child to first child ( temp float)
570:14        f: direct index for structure ( temp float)
580:14          'context' ( temp structure{ temp float f})
590:14          Constant:
600:14            0 (const int)
610:14        Constant:
620:14          3.000000
630:15      Branch: Return with expression
640:15        Construct vec4 ( temp 4-component vector of float)
650:15          Function Call: myContext::method1( ( temp float)
660:15            'context' ( temp structure{ temp float f})
670:12  Function Definition: main( ( temp void)
680:12    Function Parameters:
690:?     Sequence
700:12      move second child to first child ( temp 4-component vector of float)
710:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
720:12        Function Call: @main( ( temp 4-component vector of float)
730:?   Linker Objects
740:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
75
76
77Linked fragment stage:
78
79
80Shader version: 500
81gl_FragCoord origin is upper left
820:? Sequence
830:1  Function Definition: method3(f1; ( temp float)
840:1    Function Parameters:
850:1      'a' ( in float)
860:?     Sequence
870:1      Branch: Return with expression
880:1        Constant:
890:1          1.000000
900:4  Function Definition: myContext::method1( ( temp float)
910:4    Function Parameters:
920:4      '@this' ( temp structure{ temp float f})
930:?     Sequence
940:4      Branch: Return with expression
950:4        Function Call: myContext::method2( ( temp float)
960:?           '@this' ( temp structure{ temp float f})
970:5  Function Definition: myContext::method2( ( temp float)
980:5    Function Parameters:
990:5      '@this' ( temp structure{ temp float f})
1000:?     Sequence
1010:5      Branch: Return with expression
1020:5        Function Call: myContext::method3(f1; ( temp float)
1030:?           '@this' ( temp structure{ temp float f})
1040:5          Constant:
1050:5            1.000000
1060:6  Function Definition: myContext::method3(f1; ( temp float)
1070:6    Function Parameters:
1080:6      '@this' ( temp structure{ temp float f})
1090:6      'a' ( in float)
1100:?     Sequence
1110:6      Branch: Return with expression
1120:6        Function Call: myContext::method4(f1;f1; ( temp float)
1130:?           '@this' ( temp structure{ temp float f})
1140:6          'a' ( in float)
1150:6          'a' ( in float)
1160:7  Function Definition: myContext::method4(f1;f1; ( temp float)
1170:7    Function Parameters:
1180:7      '@this' ( temp structure{ temp float f})
1190:7      'a' ( in float)
1200:7      'b' ( in float)
1210:?     Sequence
1220:7      Branch: Return with expression
1230:7        add ( temp float)
1240:7          add ( temp float)
1250:7            'a' ( in float)
1260:7            'b' ( in float)
1270:7          f: direct index for structure ( temp float)
1280:7            '@this' ( temp structure{ temp float f})
1290:7            Constant:
1300:7              0 (const uint)
1310:12  Function Definition: @main( ( temp 4-component vector of float)
1320:12    Function Parameters:
1330:?     Sequence
1340:14      move second child to first child ( temp float)
1350:14        f: direct index for structure ( temp float)
1360:14          'context' ( temp structure{ temp float f})
1370:14          Constant:
1380:14            0 (const int)
1390:14        Constant:
1400:14          3.000000
1410:15      Branch: Return with expression
1420:15        Construct vec4 ( temp 4-component vector of float)
1430:15          Function Call: myContext::method1( ( temp float)
1440:15            'context' ( temp structure{ temp float f})
1450:12  Function Definition: main( ( temp void)
1460:12    Function Parameters:
1470:?     Sequence
1480:12      move second child to first child ( temp 4-component vector of float)
1490:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
1500:12        Function Call: @main( ( temp 4-component vector of float)
1510:?   Linker Objects
1520:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
153
154// Module Version 10000
155// Generated by (magic number): 80007
156// Id's are bound by 73
157
158                              Capability Shader
159               1:             ExtInstImport  "GLSL.std.450"
160                              MemoryModel Logical GLSL450
161                              EntryPoint Fragment 4  "main" 71
162                              ExecutionMode 4 OriginUpperLeft
163                              Source HLSL 500
164                              Name 4  "main"
165                              Name 10  "method3(f1;"
166                              Name 9  "a"
167                              Name 12  "myContext"
168                              MemberName 12(myContext) 0  "f"
169                              Name 16  "myContext::method1("
170                              Name 15  "@this"
171                              Name 19  "myContext::method2("
172                              Name 18  "@this"
173                              Name 24  "myContext::method3(f1;"
174                              Name 22  "@this"
175                              Name 23  "a"
176                              Name 30  "myContext::method4(f1;f1;"
177                              Name 27  "@this"
178                              Name 28  "a"
179                              Name 29  "b"
180                              Name 34  "@main("
181                              Name 42  "param"
182                              Name 46  "param"
183                              Name 48  "param"
184                              Name 63  "context"
185                              Name 71  "@entryPointOutput"
186                              Decorate 71(@entryPointOutput) Location 0
187               2:             TypeVoid
188               3:             TypeFunction 2
189               6:             TypeFloat 32
190               7:             TypePointer Function 6(float)
191               8:             TypeFunction 6(float) 7(ptr)
192   12(myContext):             TypeStruct 6(float)
193              13:             TypePointer Function 12(myContext)
194              14:             TypeFunction 6(float) 13(ptr)
195              21:             TypeFunction 6(float) 13(ptr) 7(ptr)
196              26:             TypeFunction 6(float) 13(ptr) 7(ptr) 7(ptr)
197              32:             TypeVector 6(float) 4
198              33:             TypeFunction 32(fvec4)
199              36:    6(float) Constant 1065353216
200              56:             TypeInt 32 1
201              57:     56(int) Constant 0
202              64:    6(float) Constant 1077936128
203              70:             TypePointer Output 32(fvec4)
20471(@entryPointOutput):     70(ptr) Variable Output
205         4(main):           2 Function None 3
206               5:             Label
207              72:   32(fvec4) FunctionCall 34(@main()
208                              Store 71(@entryPointOutput) 72
209                              Return
210                              FunctionEnd
211 10(method3(f1;):    6(float) Function None 8
212            9(a):      7(ptr) FunctionParameter
213              11:             Label
214                              ReturnValue 36
215                              FunctionEnd
21616(myContext::method1():    6(float) Function None 14
217       15(@this):     13(ptr) FunctionParameter
218              17:             Label
219              39:    6(float) FunctionCall 19(myContext::method2() 15(@this)
220                              ReturnValue 39
221                              FunctionEnd
22219(myContext::method2():    6(float) Function None 14
223       18(@this):     13(ptr) FunctionParameter
224              20:             Label
225       42(param):      7(ptr) Variable Function
226                              Store 42(param) 36
227              43:    6(float) FunctionCall 24(myContext::method3(f1;) 18(@this) 42(param)
228                              ReturnValue 43
229                              FunctionEnd
23024(myContext::method3(f1;):    6(float) Function None 21
231       22(@this):     13(ptr) FunctionParameter
232           23(a):      7(ptr) FunctionParameter
233              25:             Label
234       46(param):      7(ptr) Variable Function
235       48(param):      7(ptr) Variable Function
236              47:    6(float) Load 23(a)
237                              Store 46(param) 47
238              49:    6(float) Load 23(a)
239                              Store 48(param) 49
240              50:    6(float) FunctionCall 30(myContext::method4(f1;f1;) 22(@this) 46(param) 48(param)
241                              ReturnValue 50
242                              FunctionEnd
24330(myContext::method4(f1;f1;):    6(float) Function None 26
244       27(@this):     13(ptr) FunctionParameter
245           28(a):      7(ptr) FunctionParameter
246           29(b):      7(ptr) FunctionParameter
247              31:             Label
248              53:    6(float) Load 28(a)
249              54:    6(float) Load 29(b)
250              55:    6(float) FAdd 53 54
251              58:      7(ptr) AccessChain 27(@this) 57
252              59:    6(float) Load 58
253              60:    6(float) FAdd 55 59
254                              ReturnValue 60
255                              FunctionEnd
256      34(@main():   32(fvec4) Function None 33
257              35:             Label
258     63(context):     13(ptr) Variable Function
259              65:      7(ptr) AccessChain 63(context) 57
260                              Store 65 64
261              66:    6(float) FunctionCall 16(myContext::method1() 63(context)
262              67:   32(fvec4) CompositeConstruct 66 66 66 66
263                              ReturnValue 67
264                              FunctionEnd
265