hlsl.staticMemberFunction.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:5  Function Definition: Test::staticMemFun(vf4; ( global 4-component vector of float)
0:5    Function Parameters: 
0:5      'a' ( in 4-component vector of float)
0:?     Sequence
0:6      Branch: Return with expression
0:6        vector-scale ( temp 4-component vector of float)
0:6          Constant:
0:6            2.000000
0:6          'a' ( in 4-component vector of float)
0:9  Function Definition: Test::staticMemFun(i1; ( global int)
0:9    Function Parameters: 
0:9      'a' ( in int)
0:?     Sequence
0:10      Branch: Return with expression
0:10        add ( temp int)
0:10          Constant:
0:10            2 (const int)
0:10          'a' ( in int)
0:16  Function Definition: @main( ( temp 4-component vector of float)
0:16    Function Parameters: 
0:?     Sequence
0:18      Sequence
0:18        move second child to first child ( temp 4-component vector of float)
0:18          'f4' ( temp 4-component vector of float)
0:18          Constant:
0:18            1.000000
0:18            1.000000
0:18            1.000000
0:18            1.000000
0:19      add second child into first child ( temp 4-component vector of float)
0:19        'f4' ( temp 4-component vector of float)
0:19        Function Call: Test::staticMemFun(vf4; ( global 4-component vector of float)
0:19          Constant:
0:19            5.000000
0:19            5.000000
0:19            5.000000
0:19            5.000000
0:20      add second child into first child ( temp 4-component vector of float)
0:20        'f4' ( temp 4-component vector of float)
0:20        Convert int to float ( temp float)
0:20          Function Call: Test::staticMemFun(i1; ( global int)
0:20            Constant:
0:20              7 (const int)
0:21      Branch: Return with expression
0:21        'f4' ( temp 4-component vector of float)
0:16  Function Definition: main( ( temp void)
0:16    Function Parameters: 
0:?     Sequence
0:16      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:16        Function Call: @main( ( temp 4-component vector of float)
0:?   Linker Objects
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:5  Function Definition: Test::staticMemFun(vf4; ( global 4-component vector of float)
0:5    Function Parameters: 
0:5      'a' ( in 4-component vector of float)
0:?     Sequence
0:6      Branch: Return with expression
0:6        vector-scale ( temp 4-component vector of float)
0:6          Constant:
0:6            2.000000
0:6          'a' ( in 4-component vector of float)
0:9  Function Definition: Test::staticMemFun(i1; ( global int)
0:9    Function Parameters: 
0:9      'a' ( in int)
0:?     Sequence
0:10      Branch: Return with expression
0:10        add ( temp int)
0:10          Constant:
0:10            2 (const int)
0:10          'a' ( in int)
0:16  Function Definition: @main( ( temp 4-component vector of float)
0:16    Function Parameters: 
0:?     Sequence
0:18      Sequence
0:18        move second child to first child ( temp 4-component vector of float)
0:18          'f4' ( temp 4-component vector of float)
0:18          Constant:
0:18            1.000000
0:18            1.000000
0:18            1.000000
0:18            1.000000
0:19      add second child into first child ( temp 4-component vector of float)
0:19        'f4' ( temp 4-component vector of float)
0:19        Function Call: Test::staticMemFun(vf4; ( global 4-component vector of float)
0:19          Constant:
0:19            5.000000
0:19            5.000000
0:19            5.000000
0:19            5.000000
0:20      add second child into first child ( temp 4-component vector of float)
0:20        'f4' ( temp 4-component vector of float)
0:20        Convert int to float ( temp float)
0:20          Function Call: Test::staticMemFun(i1; ( global int)
0:20            Constant:
0:20              7 (const int)
0:21      Branch: Return with expression
0:21        'f4' ( temp 4-component vector of float)
0:16  Function Definition: main( ( temp void)
0:16    Function Parameters: 
0:?     Sequence
0:16      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:16        Function Call: @main( ( temp 4-component vector of float)
0:?   Linker Objects
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)

// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 54

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 52
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 11  "Test::staticMemFun(vf4;"
                              Name 10  "a"
                              Name 17  "Test::staticMemFun(i1;"
                              Name 16  "a"
                              Name 20  "@main("
                              Name 32  "f4"
                              Name 37  "param"
                              Name 42  "param"
                              Name 52  "@entryPointOutput"
                              Decorate 52(@entryPointOutput) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Function 7(fvec4)
               9:             TypeFunction 7(fvec4) 8(ptr)
              13:             TypeInt 32 1
              14:             TypePointer Function 13(int)
              15:             TypeFunction 13(int) 14(ptr)
              19:             TypeFunction 7(fvec4)
              22:    6(float) Constant 1073741824
              27:     13(int) Constant 2
              33:    6(float) Constant 1065353216
              34:    7(fvec4) ConstantComposite 33 33 33 33
              35:    6(float) Constant 1084227584
              36:    7(fvec4) ConstantComposite 35 35 35 35
              41:     13(int) Constant 7
              51:             TypePointer Output 7(fvec4)
52(@entryPointOutput):     51(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
              53:    7(fvec4) FunctionCall 20(@main()
                              Store 52(@entryPointOutput) 53
                              Return
                              FunctionEnd
11(Test::staticMemFun(vf4;):    7(fvec4) Function None 9
           10(a):      8(ptr) FunctionParameter
              12:             Label
              23:    7(fvec4) Load 10(a)
              24:    7(fvec4) VectorTimesScalar 23 22
                              ReturnValue 24
                              FunctionEnd
17(Test::staticMemFun(i1;):     13(int) Function None 15
           16(a):     14(ptr) FunctionParameter
              18:             Label
              28:     13(int) Load 16(a)
              29:     13(int) IAdd 27 28
                              ReturnValue 29
                              FunctionEnd
      20(@main():    7(fvec4) Function None 19
              21:             Label
          32(f4):      8(ptr) Variable Function
       37(param):      8(ptr) Variable Function
       42(param):     14(ptr) Variable Function
                              Store 32(f4) 34
                              Store 37(param) 36
              38:    7(fvec4) FunctionCall 11(Test::staticMemFun(vf4;) 37(param)
              39:    7(fvec4) Load 32(f4)
              40:    7(fvec4) FAdd 39 38
                              Store 32(f4) 40
                              Store 42(param) 41
              43:     13(int) FunctionCall 17(Test::staticMemFun(i1;) 42(param)
              44:    6(float) ConvertSToF 43
              45:    7(fvec4) Load 32(f4)
              46:    7(fvec4) CompositeConstruct 44 44 44 44
              47:    7(fvec4) FAdd 45 46
                              Store 32(f4) 47
              48:    7(fvec4) Load 32(f4)
                              ReturnValue 48
                              FunctionEnd
