hlsl.scalarCast.vert
Shader version: 500
0:? Sequence
0:5  Function Definition: r0( ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:5    Function Parameters: 
0:?     Sequence
0:7      Branch: Return with expression
0:7        Constant:
0:7          2.000000
0:7          2.000000
0:7          2.000000
0:7          2.000000
0:7          2.000000
0:7          2.000000
0:9  Function Definition: r1( ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:9    Function Parameters: 
0:?     Sequence
0:11      Branch: Return with expression
0:11        Constant:
0:11          3.000000
0:11          3.000000
0:11          3.000000
0:11          3.000000
0:11          3.000000
0:11          3.000000
0:13  Function Definition: r2( ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:13    Function Parameters: 
0:?     Sequence
0:15      Branch: Return with expression
0:15        Constant:
0:15          0.909297
0:15          0.909297
0:15          0.909297
0:15          0.909297
0:15          0.909297
0:15          0.909297
0:17  Function Definition: r3( ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:17    Function Parameters: 
0:?     Sequence
0:18      Sequence
0:18        move second child to first child ( temp float)
0:18          'f' ( temp float)
0:18          Constant:
0:18            2.000000
0:19      Branch: Return with expression
0:19        Construct structure ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:19          Construct vec4 ( temp 4-component vector of float)
0:19            'f' ( temp float)
0:19            'f' ( temp float)
0:19            'f' ( temp float)
0:19            'f' ( temp float)
0:19          Construct vec2 ( temp 2-component vector of float)
0:19            'f' ( temp float)
0:19            'f' ( temp float)
0:21  Function Definition: r4( ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:21    Function Parameters: 
0:?     Sequence
0:22      Sequence
0:22        move second child to first child ( temp float)
0:22          'f' ( temp float)
0:22          Constant:
0:22            2.000000
0:23      Branch: Return with expression
0:23        Comma ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:23          move second child to first child ( temp float)
0:23            'scalarCopy' ( temp float)
0:23            add ( temp float)
0:23              'f' ( temp float)
0:23              Constant:
0:23                1.000000
0:23          Construct structure ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:23            Construct vec4 ( temp 4-component vector of float)
0:23              'scalarCopy' ( temp float)
0:23              'scalarCopy' ( temp float)
0:23              'scalarCopy' ( temp float)
0:23              'scalarCopy' ( temp float)
0:23            Construct vec2 ( temp 2-component vector of float)
0:23              'scalarCopy' ( temp float)
0:23              'scalarCopy' ( temp float)
0:25  Function Definition: r5( ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:25    Function Parameters: 
0:?     Sequence
0:26      Sequence
0:26        move second child to first child ( temp float)
0:26          'f' ( temp float)
0:26          Constant:
0:26            2.000000
0:27      Branch: Return with expression
0:27        Comma ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:27          move second child to first child ( temp float)
0:27            'scalarCopy' ( temp float)
0:27            sine ( temp float)
0:27              'f' ( temp float)
0:27          Construct structure ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:27            Construct vec4 ( temp 4-component vector of float)
0:27              'scalarCopy' ( temp float)
0:27              'scalarCopy' ( temp float)
0:27              'scalarCopy' ( temp float)
0:27              'scalarCopy' ( temp float)
0:27            Construct vec2 ( temp 2-component vector of float)
0:27              'scalarCopy' ( temp float)
0:27              'scalarCopy' ( temp float)
0:29  Function Definition: @main( ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:29    Function Parameters: 
0:?     Sequence
0:30      Sequence
0:30        move second child to first child ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:30          'v0' ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:30          Function Call: r0( ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:31      Sequence
0:31        move second child to first child ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:31          'v1' ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:31          Function Call: r1( ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:32      Sequence
0:32        move second child to first child ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:32          'v2' ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:32          Function Call: r2( ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:33      Sequence
0:33        move second child to first child ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:33          'v3' ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:33          Function Call: r3( ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:34      Sequence
0:34        move second child to first child ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:34          'v4' ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:34          Function Call: r4( ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:35      Sequence
0:35        move second child to first child ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:35          'v5' ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:35          Function Call: r5( ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:36      Branch: Return with expression
0:36        Constant:
0:36          1.000000
0:36          1.000000
0:36          1.000000
0:36          1.000000
0:36          1.000000
0:36          1.000000
0:29  Function Definition: main( ( temp void)
0:29    Function Parameters: 
0:?     Sequence
0:29      Sequence
0:29        move second child to first child ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:29          'flattenTemp' ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:29          Function Call: @main( ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:29        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.position' ( out 4-component vector of float Position)
0:29          position: direct index for structure ( temp 4-component vector of float)
0:29            'flattenTemp' ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:29            Constant:
0:29              0 (const int)
0:29        move second child to first child ( temp 2-component vector of float)
0:?           '@entryPointOutput.texCoord' (layout( location=0) out 2-component vector of float)
0:29          texCoord: direct index for structure ( temp 2-component vector of float)
0:29            'flattenTemp' ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:29            Constant:
0:29              1 (const int)
0:?   Linker Objects
0:?     '@entryPointOutput.position' ( out 4-component vector of float Position)
0:?     '@entryPointOutput.texCoord' (layout( location=0) out 2-component vector of float)


Linked vertex stage:


Shader version: 500
0:? Sequence
0:5  Function Definition: r0( ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:5    Function Parameters: 
0:?     Sequence
0:7      Branch: Return with expression
0:7        Constant:
0:7          2.000000
0:7          2.000000
0:7          2.000000
0:7          2.000000
0:7          2.000000
0:7          2.000000
0:9  Function Definition: r1( ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:9    Function Parameters: 
0:?     Sequence
0:11      Branch: Return with expression
0:11        Constant:
0:11          3.000000
0:11          3.000000
0:11          3.000000
0:11          3.000000
0:11          3.000000
0:11          3.000000
0:13  Function Definition: r2( ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:13    Function Parameters: 
0:?     Sequence
0:15      Branch: Return with expression
0:15        Constant:
0:15          0.909297
0:15          0.909297
0:15          0.909297
0:15          0.909297
0:15          0.909297
0:15          0.909297
0:17  Function Definition: r3( ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:17    Function Parameters: 
0:?     Sequence
0:18      Sequence
0:18        move second child to first child ( temp float)
0:18          'f' ( temp float)
0:18          Constant:
0:18            2.000000
0:19      Branch: Return with expression
0:19        Construct structure ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:19          Construct vec4 ( temp 4-component vector of float)
0:19            'f' ( temp float)
0:19            'f' ( temp float)
0:19            'f' ( temp float)
0:19            'f' ( temp float)
0:19          Construct vec2 ( temp 2-component vector of float)
0:19            'f' ( temp float)
0:19            'f' ( temp float)
0:21  Function Definition: r4( ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:21    Function Parameters: 
0:?     Sequence
0:22      Sequence
0:22        move second child to first child ( temp float)
0:22          'f' ( temp float)
0:22          Constant:
0:22            2.000000
0:23      Branch: Return with expression
0:23        Comma ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:23          move second child to first child ( temp float)
0:23            'scalarCopy' ( temp float)
0:23            add ( temp float)
0:23              'f' ( temp float)
0:23              Constant:
0:23                1.000000
0:23          Construct structure ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:23            Construct vec4 ( temp 4-component vector of float)
0:23              'scalarCopy' ( temp float)
0:23              'scalarCopy' ( temp float)
0:23              'scalarCopy' ( temp float)
0:23              'scalarCopy' ( temp float)
0:23            Construct vec2 ( temp 2-component vector of float)
0:23              'scalarCopy' ( temp float)
0:23              'scalarCopy' ( temp float)
0:25  Function Definition: r5( ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:25    Function Parameters: 
0:?     Sequence
0:26      Sequence
0:26        move second child to first child ( temp float)
0:26          'f' ( temp float)
0:26          Constant:
0:26            2.000000
0:27      Branch: Return with expression
0:27        Comma ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:27          move second child to first child ( temp float)
0:27            'scalarCopy' ( temp float)
0:27            sine ( temp float)
0:27              'f' ( temp float)
0:27          Construct structure ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:27            Construct vec4 ( temp 4-component vector of float)
0:27              'scalarCopy' ( temp float)
0:27              'scalarCopy' ( temp float)
0:27              'scalarCopy' ( temp float)
0:27              'scalarCopy' ( temp float)
0:27            Construct vec2 ( temp 2-component vector of float)
0:27              'scalarCopy' ( temp float)
0:27              'scalarCopy' ( temp float)
0:29  Function Definition: @main( ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:29    Function Parameters: 
0:?     Sequence
0:30      Sequence
0:30        move second child to first child ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:30          'v0' ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:30          Function Call: r0( ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:31      Sequence
0:31        move second child to first child ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:31          'v1' ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:31          Function Call: r1( ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:32      Sequence
0:32        move second child to first child ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:32          'v2' ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:32          Function Call: r2( ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:33      Sequence
0:33        move second child to first child ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:33          'v3' ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:33          Function Call: r3( ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:34      Sequence
0:34        move second child to first child ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:34          'v4' ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:34          Function Call: r4( ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:35      Sequence
0:35        move second child to first child ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:35          'v5' ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:35          Function Call: r5( ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:36      Branch: Return with expression
0:36        Constant:
0:36          1.000000
0:36          1.000000
0:36          1.000000
0:36          1.000000
0:36          1.000000
0:36          1.000000
0:29  Function Definition: main( ( temp void)
0:29    Function Parameters: 
0:?     Sequence
0:29      Sequence
0:29        move second child to first child ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:29          'flattenTemp' ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:29          Function Call: @main( ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:29        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.position' ( out 4-component vector of float Position)
0:29          position: direct index for structure ( temp 4-component vector of float)
0:29            'flattenTemp' ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:29            Constant:
0:29              0 (const int)
0:29        move second child to first child ( temp 2-component vector of float)
0:?           '@entryPointOutput.texCoord' (layout( location=0) out 2-component vector of float)
0:29          texCoord: direct index for structure ( temp 2-component vector of float)
0:29            'flattenTemp' ( temp structure{ temp 4-component vector of float position,  temp 2-component vector of float texCoord})
0:29            Constant:
0:29              1 (const int)
0:?   Linker Objects
0:?     '@entryPointOutput.position' ( out 4-component vector of float Position)
0:?     '@entryPointOutput.texCoord' (layout( location=0) out 2-component vector of float)

// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 120

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 108 115
                              Source HLSL 500
                              Name 4  "main"
                              Name 9  "VertexOut"
                              MemberName 9(VertexOut) 0  "position"
                              MemberName 9(VertexOut) 1  "texCoord"
                              Name 11  "r0("
                              Name 13  "r1("
                              Name 15  "r2("
                              Name 17  "r3("
                              Name 19  "r4("
                              Name 21  "r5("
                              Name 23  "@main("
                              Name 44  "f"
                              Name 56  "f"
                              Name 57  "scalarCopy"
                              Name 72  "f"
                              Name 73  "scalarCopy"
                              Name 88  "v0"
                              Name 90  "v1"
                              Name 92  "v2"
                              Name 94  "v3"
                              Name 96  "v4"
                              Name 98  "v5"
                              Name 105  "flattenTemp"
                              Name 108  "@entryPointOutput.position"
                              Name 115  "@entryPointOutput.texCoord"
                              Decorate 108(@entryPointOutput.position) BuiltIn Position
                              Decorate 115(@entryPointOutput.texCoord) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypeVector 6(float) 2
    9(VertexOut):             TypeStruct 7(fvec4) 8(fvec2)
              10:             TypeFunction 9(VertexOut)
              25:    6(float) Constant 1073741824
              26:    7(fvec4) ConstantComposite 25 25 25 25
              27:    8(fvec2) ConstantComposite 25 25
              28:9(VertexOut) ConstantComposite 26 27
              31:    6(float) Constant 1077936128
              32:    7(fvec4) ConstantComposite 31 31 31 31
              33:    8(fvec2) ConstantComposite 31 31
              34:9(VertexOut) ConstantComposite 32 33
              37:    6(float) Constant 1063831479
              38:    7(fvec4) ConstantComposite 37 37 37 37
              39:    8(fvec2) ConstantComposite 37 37
              40:9(VertexOut) ConstantComposite 38 39
              43:             TypePointer Function 6(float)
              59:    6(float) Constant 1065353216
              87:             TypePointer Function 9(VertexOut)
             100:    7(fvec4) ConstantComposite 59 59 59 59
             101:    8(fvec2) ConstantComposite 59 59
             102:9(VertexOut) ConstantComposite 100 101
             107:             TypePointer Output 7(fvec4)
108(@entryPointOutput.position):    107(ptr) Variable Output
             109:             TypeInt 32 1
             110:    109(int) Constant 0
             111:             TypePointer Function 7(fvec4)
             114:             TypePointer Output 8(fvec2)
115(@entryPointOutput.texCoord):    114(ptr) Variable Output
             116:    109(int) Constant 1
             117:             TypePointer Function 8(fvec2)
         4(main):           2 Function None 3
               5:             Label
105(flattenTemp):     87(ptr) Variable Function
             106:9(VertexOut) FunctionCall 23(@main()
                              Store 105(flattenTemp) 106
             112:    111(ptr) AccessChain 105(flattenTemp) 110
             113:    7(fvec4) Load 112
                              Store 108(@entryPointOutput.position) 113
             118:    117(ptr) AccessChain 105(flattenTemp) 116
             119:    8(fvec2) Load 118
                              Store 115(@entryPointOutput.texCoord) 119
                              Return
                              FunctionEnd
         11(r0():9(VertexOut) Function None 10
              12:             Label
                              ReturnValue 28
                              FunctionEnd
         13(r1():9(VertexOut) Function None 10
              14:             Label
                              ReturnValue 34
                              FunctionEnd
         15(r2():9(VertexOut) Function None 10
              16:             Label
                              ReturnValue 40
                              FunctionEnd
         17(r3():9(VertexOut) Function None 10
              18:             Label
           44(f):     43(ptr) Variable Function
                              Store 44(f) 25
              45:    6(float) Load 44(f)
              46:    6(float) Load 44(f)
              47:    6(float) Load 44(f)
              48:    6(float) Load 44(f)
              49:    7(fvec4) CompositeConstruct 45 46 47 48
              50:    6(float) Load 44(f)
              51:    6(float) Load 44(f)
              52:    8(fvec2) CompositeConstruct 50 51
              53:9(VertexOut) CompositeConstruct 49 52
                              ReturnValue 53
                              FunctionEnd
         19(r4():9(VertexOut) Function None 10
              20:             Label
           56(f):     43(ptr) Variable Function
  57(scalarCopy):     43(ptr) Variable Function
                              Store 56(f) 25
              58:    6(float) Load 56(f)
              60:    6(float) FAdd 58 59
                              Store 57(scalarCopy) 60
              61:    6(float) Load 57(scalarCopy)
              62:    6(float) Load 57(scalarCopy)
              63:    6(float) Load 57(scalarCopy)
              64:    6(float) Load 57(scalarCopy)
              65:    7(fvec4) CompositeConstruct 61 62 63 64
              66:    6(float) Load 57(scalarCopy)
              67:    6(float) Load 57(scalarCopy)
              68:    8(fvec2) CompositeConstruct 66 67
              69:9(VertexOut) CompositeConstruct 65 68
                              ReturnValue 69
                              FunctionEnd
         21(r5():9(VertexOut) Function None 10
              22:             Label
           72(f):     43(ptr) Variable Function
  73(scalarCopy):     43(ptr) Variable Function
                              Store 72(f) 25
              74:    6(float) Load 72(f)
              75:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 74
                              Store 73(scalarCopy) 75
              76:    6(float) Load 73(scalarCopy)
              77:    6(float) Load 73(scalarCopy)
              78:    6(float) Load 73(scalarCopy)
              79:    6(float) Load 73(scalarCopy)
              80:    7(fvec4) CompositeConstruct 76 77 78 79
              81:    6(float) Load 73(scalarCopy)
              82:    6(float) Load 73(scalarCopy)
              83:    8(fvec2) CompositeConstruct 81 82
              84:9(VertexOut) CompositeConstruct 80 83
                              ReturnValue 84
                              FunctionEnd
      23(@main():9(VertexOut) Function None 10
              24:             Label
          88(v0):     87(ptr) Variable Function
          90(v1):     87(ptr) Variable Function
          92(v2):     87(ptr) Variable Function
          94(v3):     87(ptr) Variable Function
          96(v4):     87(ptr) Variable Function
          98(v5):     87(ptr) Variable Function
              89:9(VertexOut) FunctionCall 11(r0()
                              Store 88(v0) 89
              91:9(VertexOut) FunctionCall 13(r1()
                              Store 90(v1) 91
              93:9(VertexOut) FunctionCall 15(r2()
                              Store 92(v2) 93
              95:9(VertexOut) FunctionCall 17(r3()
                              Store 94(v3) 95
              97:9(VertexOut) FunctionCall 19(r4()
                              Store 96(v4) 97
              99:9(VertexOut) FunctionCall 21(r5()
                              Store 98(v5) 99
                              ReturnValue 102
                              FunctionEnd