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:?           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:?           Constant:
0:?             1.945910
0:?             0.693147
0:?             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:?           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:?           Constant:
0:?             1.945910
0:?             0.693147
0:?             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): 80008
// 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
