hlsl.singleArgIntPromo.vert
Shader version: 500
0:? Sequence
0:2  Function Definition: @main( ( temp float)
0:2    Function Parameters: 
0:?     Sequence
0:3      Sequence
0:3        move second child to first child ( temp int)
0:3          'd' ( temp int)
0:3          Constant:
0:3            4 (const int)
0:4      Sequence
0:4        move second child to first child ( temp 2-component vector of int)
0:4          'd2' ( temp 2-component vector of int)
0:4          Construct ivec2 ( temp 2-component vector of int)
0:4            Constant:
0:4              5 (const int)
0:4            'd' ( temp int)
0:5      Sequence
0:5        move second child to first child ( temp float)
0:5          'f1' ( temp float)
0:5          Constant:
0:5            2.321928
0:6      Sequence
0:6        move second child to first child ( temp 2-component vector of float)
0:6          'f2' ( temp 2-component vector of float)
0:6          log ( temp 2-component vector of float)
0:6            Convert int to float ( temp 2-component vector of float)
0:6              'd2' ( temp 2-component vector of int)
0:7      Sequence
0:7        move second child to first child ( temp 3-component vector of float)
0:7          'f3' ( temp 3-component vector of float)
0:7          Constant:
0:7            1.945910
0:7            0.693147
0:7            1.098612
0:8      Sequence
0:8        move second child to first child ( temp 2-component vector of float)
0:8          'f22' ( temp 2-component vector of float)
0:8          Constant:
0:8            0.000000
0:8            0.000000
0:10      Sequence
0:10        move second child to first child ( temp int)
0:10          'a' ( temp int)
0:10          Constant:
0:10            5 (const int)
0:11      Sequence
0:11        move second child to first child ( temp mediump float)
0:11          'b' ( temp mediump float)
0:11          direct index ( temp mediump float)
0:11            unpackHalf2x16 ( temp mediump 2-component vector of float)
0:11              Convert int to uint ( temp mediump uint)
0:11                'a' ( temp mediump int)
0:11            Constant:
0:11              0 (const int)
0:12      multiply second child into first child ( temp mediump float)
0:12        'b' ( temp mediump float)
0:12        'b' ( temp mediump float)
0:13      Sequence
0:13        move second child to first child ( temp uint)
0:13          'c' ( temp uint)
0:13          packHalf2x16 ( temp uint)
0:13            Construct vec2 ( temp 2-component vector of float)
0:13              'b' ( temp mediump float)
0:13              Constant:
0:13                0.000000
0:15      Branch: Return with expression
0:15        add ( temp float)
0:15          add ( temp float)
0:15            add ( temp float)
0:15              add ( temp float)
0:15                'f1' ( temp float)
0:15                direct index ( temp float)
0:15                  'f2' ( temp 2-component vector of float)
0:15                  Constant:
0:15                    0 (const int)
0:15              direct index ( temp float)
0:15                'f3' ( temp 3-component vector of float)
0:15                Constant:
0:15                  2 (const int)
0:15            direct index ( temp float)
0:15              'f22' ( temp 2-component vector of float)
0:15              Constant:
0:15                1 (const int)
0:15          Convert uint to float ( temp float)
0:15            'c' ( temp uint)
0:2  Function Definition: main( ( temp void)
0:2    Function Parameters: 
0:?     Sequence
0:2      move second child to first child ( temp float)
0:?         '@entryPointOutput' (layout( location=0) out float)
0:2        Function Call: @main( ( temp float)
0:?   Linker Objects
0:?     '@entryPointOutput' (layout( location=0) out float)


Linked vertex stage:


Shader version: 500
0:? Sequence
0:2  Function Definition: @main( ( temp float)
0:2    Function Parameters: 
0:?     Sequence
0:3      Sequence
0:3        move second child to first child ( temp int)
0:3          'd' ( temp int)
0:3          Constant:
0:3            4 (const int)
0:4      Sequence
0:4        move second child to first child ( temp 2-component vector of int)
0:4          'd2' ( temp 2-component vector of int)
0:4          Construct ivec2 ( temp 2-component vector of int)
0:4            Constant:
0:4              5 (const int)
0:4            'd' ( temp int)
0:5      Sequence
0:5        move second child to first child ( temp float)
0:5          'f1' ( temp float)
0:5          Constant:
0:5            2.321928
0:6      Sequence
0:6        move second child to first child ( temp 2-component vector of float)
0:6          'f2' ( temp 2-component vector of float)
0:6          log ( temp 2-component vector of float)
0:6            Convert int to float ( temp 2-component vector of float)
0:6              'd2' ( temp 2-component vector of int)
0:7      Sequence
0:7        move second child to first child ( temp 3-component vector of float)
0:7          'f3' ( temp 3-component vector of float)
0:7          Constant:
0:7            1.945910
0:7            0.693147
0:7            1.098612
0:8      Sequence
0:8        move second child to first child ( temp 2-component vector of float)
0:8          'f22' ( temp 2-component vector of float)
0:8          Constant:
0:8            0.000000
0:8            0.000000
0:10      Sequence
0:10        move second child to first child ( temp int)
0:10          'a' ( temp int)
0:10          Constant:
0:10            5 (const int)
0:11      Sequence
0:11        move second child to first child ( temp mediump float)
0:11          'b' ( temp mediump float)
0:11          direct index ( temp mediump float)
0:11            unpackHalf2x16 ( temp mediump 2-component vector of float)
0:11              Convert int to uint ( temp mediump uint)
0:11                'a' ( temp mediump int)
0:11            Constant:
0:11              0 (const int)
0:12      multiply second child into first child ( temp mediump float)
0:12        'b' ( temp mediump float)
0:12        'b' ( temp mediump float)
0:13      Sequence
0:13        move second child to first child ( temp uint)
0:13          'c' ( temp uint)
0:13          packHalf2x16 ( temp uint)
0:13            Construct vec2 ( temp 2-component vector of float)
0:13              'b' ( temp mediump float)
0:13              Constant:
0:13                0.000000
0:15      Branch: Return with expression
0:15        add ( temp float)
0:15          add ( temp float)
0:15            add ( temp float)
0:15              add ( temp float)
0:15                'f1' ( temp float)
0:15                direct index ( temp float)
0:15                  'f2' ( temp 2-component vector of float)
0:15                  Constant:
0:15                    0 (const int)
0:15              direct index ( temp float)
0:15                'f3' ( temp 3-component vector of float)
0:15                Constant:
0:15                  2 (const int)
0:15            direct index ( temp float)
0:15              'f22' ( temp 2-component vector of float)
0:15              Constant:
0:15                1 (const int)
0:15          Convert uint to float ( temp float)
0:15            'c' ( temp uint)
0:2  Function Definition: main( ( temp void)
0:2    Function Parameters: 
0:?     Sequence
0:2      move second child to first child ( temp float)
0:?         '@entryPointOutput' (layout( location=0) out float)
0:2        Function Call: @main( ( temp float)
0:?   Linker Objects
0:?     '@entryPointOutput' (layout( location=0) out float)

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 73
                              Source HLSL 500
                              Name 4  "main"
                              Name 8  "@main("
                              Name 12  "d"
                              Name 16  "d2"
                              Name 21  "f1"
                              Name 25  "f2"
                              Name 31  "f3"
                              Name 36  "f22"
                              Name 39  "a"
                              Name 40  "b"
                              Name 51  "c"
                              Name 73  "@entryPointOutput"
                              Decorate 40(b) RelaxedPrecision
                              Decorate 41 RelaxedPrecision
                              Decorate 43 RelaxedPrecision
                              Decorate 44 RelaxedPrecision
                              Decorate 46 RelaxedPrecision
                              Decorate 47 RelaxedPrecision
                              Decorate 48 RelaxedPrecision
                              Decorate 49 RelaxedPrecision
                              Decorate 52 RelaxedPrecision
                              Decorate 73(@entryPointOutput) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeFunction 6(float)
              10:             TypeInt 32 1
              11:             TypePointer Function 10(int)
              13:     10(int) Constant 4
              14:             TypeVector 10(int) 2
              15:             TypePointer Function 14(ivec2)
              17:     10(int) Constant 5
              20:             TypePointer Function 6(float)
              22:    6(float) Constant 1075092088
              23:             TypeVector 6(float) 2
              24:             TypePointer Function 23(fvec2)
              29:             TypeVector 6(float) 3
              30:             TypePointer Function 29(fvec3)
              32:    6(float) Constant 1073288085
              33:    6(float) Constant 1060205080
              34:    6(float) Constant 1066180436
              35:   29(fvec3) ConstantComposite 32 33 34
              37:    6(float) Constant 0
              38:   23(fvec2) ConstantComposite 37 37
              42:             TypeInt 32 0
              45:     42(int) Constant 0
              50:             TypePointer Function 42(int)
              59:     42(int) Constant 2
              63:     42(int) Constant 1
              72:             TypePointer Output 6(float)
73(@entryPointOutput):     72(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
              74:    6(float) FunctionCall 8(@main()
                              Store 73(@entryPointOutput) 74
                              Return
                              FunctionEnd
       8(@main():    6(float) Function None 7
               9:             Label
           12(d):     11(ptr) Variable Function
          16(d2):     15(ptr) Variable Function
          21(f1):     20(ptr) Variable Function
          25(f2):     24(ptr) Variable Function
          31(f3):     30(ptr) Variable Function
         36(f22):     24(ptr) Variable Function
           39(a):     11(ptr) Variable Function
           40(b):     20(ptr) Variable Function
           51(c):     50(ptr) Variable Function
                              Store 12(d) 13
              18:     10(int) Load 12(d)
              19:   14(ivec2) CompositeConstruct 17 18
                              Store 16(d2) 19
                              Store 21(f1) 22
              26:   14(ivec2) Load 16(d2)
              27:   23(fvec2) ConvertSToF 26
              28:   23(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 27
                              Store 25(f2) 28
                              Store 31(f3) 35
                              Store 36(f22) 38
                              Store 39(a) 17
              41:     10(int) Load 39(a)
              43:     42(int) Bitcast 41
              44:   23(fvec2) ExtInst 1(GLSL.std.450) 62(UnpackHalf2x16) 43
              46:    6(float) CompositeExtract 44 0
                              Store 40(b) 46
              47:    6(float) Load 40(b)
              48:    6(float) Load 40(b)
              49:    6(float) FMul 48 47
                              Store 40(b) 49
              52:    6(float) Load 40(b)
              53:   23(fvec2) CompositeConstruct 52 37
              54:     42(int) ExtInst 1(GLSL.std.450) 58(PackHalf2x16) 53
                              Store 51(c) 54
              55:    6(float) Load 21(f1)
              56:     20(ptr) AccessChain 25(f2) 45
              57:    6(float) Load 56
              58:    6(float) FAdd 55 57
              60:     20(ptr) AccessChain 31(f3) 59
              61:    6(float) Load 60
              62:    6(float) FAdd 58 61
              64:     20(ptr) AccessChain 36(f22) 63
              65:    6(float) Load 64
              66:    6(float) FAdd 62 65
              67:     42(int) Load 51(c)
              68:    6(float) ConvertUToF 67
              69:    6(float) FAdd 66 68
                              ReturnValue 69
                              FunctionEnd
