hlsl.cbuffer-identifier.vert
WARNING: 0:29: '' : mul() matrix size mismatch 

Shader version: 500
0:? Sequence
0:22  Function Definition: @main(struct-VS_INPUT-vf4-vf31; ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:22    Function Parameters: 
0:22      'input' ( in structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:?     Sequence
0:23      Sequence
0:23        move second child to first child ( temp int)
0:23          'ConstantBuffer' ( temp int)
0:23          Constant:
0:23            42 (const int)
0:25      Sequence
0:25        move second child to first child ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:25          'output' ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:25          Constant:
0:25            0.000000
0:25            0.000000
0:25            0.000000
0:25            0.000000
0:25            0.000000
0:25            0.000000
0:25            0.000000
0:26      move second child to first child ( temp 4-component vector of float)
0:26        Pos: direct index for structure ( temp 4-component vector of float)
0:26          'output' ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:26          Constant:
0:26            0 (const int)
0:26        matrix-times-vector ( temp 4-component vector of float)
0:26          World: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
0:26            'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float World, layout( row_major std140) uniform 4X4 matrix of float View, layout( row_major std140) uniform 4X4 matrix of float Projection})
0:26            Constant:
0:26              0 (const uint)
0:26          Pos: direct index for structure ( temp 4-component vector of float)
0:26            'input' ( in structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:26            Constant:
0:26              0 (const int)
0:27      move second child to first child ( temp 4-component vector of float)
0:27        Pos: direct index for structure ( temp 4-component vector of float)
0:27          'output' ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:27          Constant:
0:27            0 (const int)
0:27        matrix-times-vector ( temp 4-component vector of float)
0:27          View: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
0:27            'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float World, layout( row_major std140) uniform 4X4 matrix of float View, layout( row_major std140) uniform 4X4 matrix of float Projection})
0:27            Constant:
0:27              1 (const uint)
0:27          Pos: direct index for structure ( temp 4-component vector of float)
0:27            'output' ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:27            Constant:
0:27              0 (const int)
0:28      move second child to first child ( temp 4-component vector of float)
0:28        Pos: direct index for structure ( temp 4-component vector of float)
0:28          'output' ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:28          Constant:
0:28            0 (const int)
0:28        matrix-times-vector ( temp 4-component vector of float)
0:28          Projection: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
0:28            'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float World, layout( row_major std140) uniform 4X4 matrix of float View, layout( row_major std140) uniform 4X4 matrix of float Projection})
0:28            Constant:
0:28              2 (const uint)
0:28          Pos: direct index for structure ( temp 4-component vector of float)
0:28            'output' ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:28            Constant:
0:28              0 (const int)
0:29      move second child to first child ( temp 3-component vector of float)
0:29        Norm: direct index for structure ( temp 3-component vector of float)
0:29          'output' ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:29          Constant:
0:29            1 (const int)
0:29        Construct vec3 ( temp 3-component vector of float)
0:29          matrix-times-vector ( temp 4-component vector of float)
0:29            Construct mat3x4 ( uniform 3X4 matrix of float)
0:29              World: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
0:29                'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float World, layout( row_major std140) uniform 4X4 matrix of float View, layout( row_major std140) uniform 4X4 matrix of float Projection})
0:29                Constant:
0:29                  0 (const uint)
0:29            Norm: direct index for structure ( temp 3-component vector of float)
0:29              'input' ( in structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:29              Constant:
0:29                1 (const int)
0:31      Branch: Return with expression
0:31        'output' ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:22  Function Definition: main( ( temp void)
0:22    Function Parameters: 
0:?     Sequence
0:22      Sequence
0:22        move second child to first child ( temp 4-component vector of float)
0:22          Pos: direct index for structure ( temp 4-component vector of float)
0:?             'input' ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:22            Constant:
0:22              0 (const int)
0:?           'input.Pos' (layout( location=0) in 4-component vector of float)
0:22        move second child to first child ( temp 3-component vector of float)
0:22          Norm: direct index for structure ( temp 3-component vector of float)
0:?             'input' ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:22            Constant:
0:22              1 (const int)
0:?           'input.Norm' (layout( location=1) in 3-component vector of float)
0:22      Sequence
0:22        move second child to first child ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:22          'flattenTemp' ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:22          Function Call: @main(struct-VS_INPUT-vf4-vf31; ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:?             'input' ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:22        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.Pos' ( out 4-component vector of float Position)
0:22          Pos: direct index for structure ( temp 4-component vector of float)
0:22            'flattenTemp' ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:22            Constant:
0:22              0 (const int)
0:22        move second child to first child ( temp 3-component vector of float)
0:?           '@entryPointOutput.Norm' (layout( location=0) out 3-component vector of float)
0:22          Norm: direct index for structure ( temp 3-component vector of float)
0:22            'flattenTemp' ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:22            Constant:
0:22              1 (const int)
0:?   Linker Objects
0:?     'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float World, layout( row_major std140) uniform 4X4 matrix of float View, layout( row_major std140) uniform 4X4 matrix of float Projection})
0:?     '@entryPointOutput.Pos' ( out 4-component vector of float Position)
0:?     '@entryPointOutput.Norm' (layout( location=0) out 3-component vector of float)
0:?     'input.Pos' (layout( location=0) in 4-component vector of float)
0:?     'input.Norm' (layout( location=1) in 3-component vector of float)


Linked vertex stage:


Shader version: 500
0:? Sequence
0:22  Function Definition: @main(struct-VS_INPUT-vf4-vf31; ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:22    Function Parameters: 
0:22      'input' ( in structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:?     Sequence
0:23      Sequence
0:23        move second child to first child ( temp int)
0:23          'ConstantBuffer' ( temp int)
0:23          Constant:
0:23            42 (const int)
0:25      Sequence
0:25        move second child to first child ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:25          'output' ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:25          Constant:
0:25            0.000000
0:25            0.000000
0:25            0.000000
0:25            0.000000
0:25            0.000000
0:25            0.000000
0:25            0.000000
0:26      move second child to first child ( temp 4-component vector of float)
0:26        Pos: direct index for structure ( temp 4-component vector of float)
0:26          'output' ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:26          Constant:
0:26            0 (const int)
0:26        matrix-times-vector ( temp 4-component vector of float)
0:26          World: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
0:26            'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float World, layout( row_major std140) uniform 4X4 matrix of float View, layout( row_major std140) uniform 4X4 matrix of float Projection})
0:26            Constant:
0:26              0 (const uint)
0:26          Pos: direct index for structure ( temp 4-component vector of float)
0:26            'input' ( in structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:26            Constant:
0:26              0 (const int)
0:27      move second child to first child ( temp 4-component vector of float)
0:27        Pos: direct index for structure ( temp 4-component vector of float)
0:27          'output' ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:27          Constant:
0:27            0 (const int)
0:27        matrix-times-vector ( temp 4-component vector of float)
0:27          View: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
0:27            'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float World, layout( row_major std140) uniform 4X4 matrix of float View, layout( row_major std140) uniform 4X4 matrix of float Projection})
0:27            Constant:
0:27              1 (const uint)
0:27          Pos: direct index for structure ( temp 4-component vector of float)
0:27            'output' ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:27            Constant:
0:27              0 (const int)
0:28      move second child to first child ( temp 4-component vector of float)
0:28        Pos: direct index for structure ( temp 4-component vector of float)
0:28          'output' ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:28          Constant:
0:28            0 (const int)
0:28        matrix-times-vector ( temp 4-component vector of float)
0:28          Projection: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
0:28            'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float World, layout( row_major std140) uniform 4X4 matrix of float View, layout( row_major std140) uniform 4X4 matrix of float Projection})
0:28            Constant:
0:28              2 (const uint)
0:28          Pos: direct index for structure ( temp 4-component vector of float)
0:28            'output' ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:28            Constant:
0:28              0 (const int)
0:29      move second child to first child ( temp 3-component vector of float)
0:29        Norm: direct index for structure ( temp 3-component vector of float)
0:29          'output' ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:29          Constant:
0:29            1 (const int)
0:29        Construct vec3 ( temp 3-component vector of float)
0:29          matrix-times-vector ( temp 4-component vector of float)
0:29            Construct mat3x4 ( uniform 3X4 matrix of float)
0:29              World: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
0:29                'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float World, layout( row_major std140) uniform 4X4 matrix of float View, layout( row_major std140) uniform 4X4 matrix of float Projection})
0:29                Constant:
0:29                  0 (const uint)
0:29            Norm: direct index for structure ( temp 3-component vector of float)
0:29              'input' ( in structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:29              Constant:
0:29                1 (const int)
0:31      Branch: Return with expression
0:31        'output' ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:22  Function Definition: main( ( temp void)
0:22    Function Parameters: 
0:?     Sequence
0:22      Sequence
0:22        move second child to first child ( temp 4-component vector of float)
0:22          Pos: direct index for structure ( temp 4-component vector of float)
0:?             'input' ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:22            Constant:
0:22              0 (const int)
0:?           'input.Pos' (layout( location=0) in 4-component vector of float)
0:22        move second child to first child ( temp 3-component vector of float)
0:22          Norm: direct index for structure ( temp 3-component vector of float)
0:?             'input' ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:22            Constant:
0:22              1 (const int)
0:?           'input.Norm' (layout( location=1) in 3-component vector of float)
0:22      Sequence
0:22        move second child to first child ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:22          'flattenTemp' ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:22          Function Call: @main(struct-VS_INPUT-vf4-vf31; ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:?             'input' ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:22        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.Pos' ( out 4-component vector of float Position)
0:22          Pos: direct index for structure ( temp 4-component vector of float)
0:22            'flattenTemp' ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:22            Constant:
0:22              0 (const int)
0:22        move second child to first child ( temp 3-component vector of float)
0:?           '@entryPointOutput.Norm' (layout( location=0) out 3-component vector of float)
0:22          Norm: direct index for structure ( temp 3-component vector of float)
0:22            'flattenTemp' ( temp structure{ temp 4-component vector of float Pos,  temp 3-component vector of float Norm})
0:22            Constant:
0:22              1 (const int)
0:?   Linker Objects
0:?     'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float World, layout( row_major std140) uniform 4X4 matrix of float View, layout( row_major std140) uniform 4X4 matrix of float Projection})
0:?     '@entryPointOutput.Pos' ( out 4-component vector of float Position)
0:?     '@entryPointOutput.Norm' (layout( location=0) out 3-component vector of float)
0:?     'input.Pos' (layout( location=0) in 4-component vector of float)
0:?     'input.Norm' (layout( location=1) in 3-component vector of float)

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 87 91 99 103
                              Source HLSL 500
                              Name 4  "main"
                              Name 9  "VS_INPUT"
                              MemberName 9(VS_INPUT) 0  "Pos"
                              MemberName 9(VS_INPUT) 1  "Norm"
                              Name 11  "PS_INPUT"
                              MemberName 11(PS_INPUT) 0  "Pos"
                              MemberName 11(PS_INPUT) 1  "Norm"
                              Name 14  "@main(struct-VS_INPUT-vf4-vf31;"
                              Name 13  "input"
                              Name 18  "ConstantBuffer"
                              Name 21  "output"
                              Name 28  "C"
                              MemberName 28(C) 0  "World"
                              MemberName 28(C) 1  "View"
                              MemberName 28(C) 2  "Projection"
                              Name 30  ""
                              Name 85  "input"
                              Name 87  "input.Pos"
                              Name 91  "input.Norm"
                              Name 94  "flattenTemp"
                              Name 95  "param"
                              Name 99  "@entryPointOutput.Pos"
                              Name 103  "@entryPointOutput.Norm"
                              MemberDecorate 28(C) 0 RowMajor
                              MemberDecorate 28(C) 0 Offset 0
                              MemberDecorate 28(C) 0 MatrixStride 16
                              MemberDecorate 28(C) 1 RowMajor
                              MemberDecorate 28(C) 1 Offset 64
                              MemberDecorate 28(C) 1 MatrixStride 16
                              MemberDecorate 28(C) 2 RowMajor
                              MemberDecorate 28(C) 2 Offset 128
                              MemberDecorate 28(C) 2 MatrixStride 16
                              Decorate 28(C) Block
                              Decorate 30 DescriptorSet 0
                              Decorate 30 Binding 0
                              Decorate 87(input.Pos) Location 0
                              Decorate 91(input.Norm) Location 1
                              Decorate 99(@entryPointOutput.Pos) BuiltIn Position
                              Decorate 103(@entryPointOutput.Norm) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypeVector 6(float) 3
     9(VS_INPUT):             TypeStruct 7(fvec4) 8(fvec3)
              10:             TypePointer Function 9(VS_INPUT)
    11(PS_INPUT):             TypeStruct 7(fvec4) 8(fvec3)
              12:             TypeFunction 11(PS_INPUT) 10(ptr)
              16:             TypeInt 32 1
              17:             TypePointer Function 16(int)
              19:     16(int) Constant 42
              20:             TypePointer Function 11(PS_INPUT)
              22:    6(float) Constant 0
              23:    7(fvec4) ConstantComposite 22 22 22 22
              24:    8(fvec3) ConstantComposite 22 22 22
              25:11(PS_INPUT) ConstantComposite 23 24
              26:     16(int) Constant 0
              27:             TypeMatrix 7(fvec4) 4
           28(C):             TypeStruct 27 27 27
              29:             TypePointer Uniform 28(C)
              30:     29(ptr) Variable Uniform
              31:             TypePointer Uniform 27
              34:             TypePointer Function 7(fvec4)
              39:     16(int) Constant 1
              46:     16(int) Constant 2
              55:             TypeMatrix 7(fvec4) 3
              56:    6(float) Constant 1065353216
              73:             TypePointer Function 8(fvec3)
              86:             TypePointer Input 7(fvec4)
   87(input.Pos):     86(ptr) Variable Input
              90:             TypePointer Input 8(fvec3)
  91(input.Norm):     90(ptr) Variable Input
              98:             TypePointer Output 7(fvec4)
99(@entryPointOutput.Pos):     98(ptr) Variable Output
             102:             TypePointer Output 8(fvec3)
103(@entryPointOutput.Norm):    102(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
       85(input):     10(ptr) Variable Function
 94(flattenTemp):     20(ptr) Variable Function
       95(param):     10(ptr) Variable Function
              88:    7(fvec4) Load 87(input.Pos)
              89:     34(ptr) AccessChain 85(input) 26
                              Store 89 88
              92:    8(fvec3) Load 91(input.Norm)
              93:     73(ptr) AccessChain 85(input) 39
                              Store 93 92
              96: 9(VS_INPUT) Load 85(input)
                              Store 95(param) 96
              97:11(PS_INPUT) FunctionCall 14(@main(struct-VS_INPUT-vf4-vf31;) 95(param)
                              Store 94(flattenTemp) 97
             100:     34(ptr) AccessChain 94(flattenTemp) 26
             101:    7(fvec4) Load 100
                              Store 99(@entryPointOutput.Pos) 101
             104:     73(ptr) AccessChain 94(flattenTemp) 39
             105:    8(fvec3) Load 104
                              Store 103(@entryPointOutput.Norm) 105
                              Return
                              FunctionEnd
14(@main(struct-VS_INPUT-vf4-vf31;):11(PS_INPUT) Function None 12
       13(input):     10(ptr) FunctionParameter
              15:             Label
18(ConstantBuffer):     17(ptr) Variable Function
      21(output):     20(ptr) Variable Function
                              Store 18(ConstantBuffer) 19
                              Store 21(output) 25
              32:     31(ptr) AccessChain 30 26
              33:          27 Load 32
              35:     34(ptr) AccessChain 13(input) 26
              36:    7(fvec4) Load 35
              37:    7(fvec4) MatrixTimesVector 33 36
              38:     34(ptr) AccessChain 21(output) 26
                              Store 38 37
              40:     31(ptr) AccessChain 30 39
              41:          27 Load 40
              42:     34(ptr) AccessChain 21(output) 26
              43:    7(fvec4) Load 42
              44:    7(fvec4) MatrixTimesVector 41 43
              45:     34(ptr) AccessChain 21(output) 26
                              Store 45 44
              47:     31(ptr) AccessChain 30 46
              48:          27 Load 47
              49:     34(ptr) AccessChain 21(output) 26
              50:    7(fvec4) Load 49
              51:    7(fvec4) MatrixTimesVector 48 50
              52:     34(ptr) AccessChain 21(output) 26
                              Store 52 51
              53:     31(ptr) AccessChain 30 26
              54:          27 Load 53
              57:    6(float) CompositeExtract 54 0 0
              58:    6(float) CompositeExtract 54 0 1
              59:    6(float) CompositeExtract 54 0 2
              60:    6(float) CompositeExtract 54 0 3
              61:    6(float) CompositeExtract 54 1 0
              62:    6(float) CompositeExtract 54 1 1
              63:    6(float) CompositeExtract 54 1 2
              64:    6(float) CompositeExtract 54 1 3
              65:    6(float) CompositeExtract 54 2 0
              66:    6(float) CompositeExtract 54 2 1
              67:    6(float) CompositeExtract 54 2 2
              68:    6(float) CompositeExtract 54 2 3
              69:    7(fvec4) CompositeConstruct 57 58 59 60
              70:    7(fvec4) CompositeConstruct 61 62 63 64
              71:    7(fvec4) CompositeConstruct 65 66 67 68
              72:          55 CompositeConstruct 69 70 71
              74:     73(ptr) AccessChain 13(input) 39
              75:    8(fvec3) Load 74
              76:    7(fvec4) MatrixTimesVector 72 75
              77:    6(float) CompositeExtract 76 0
              78:    6(float) CompositeExtract 76 1
              79:    6(float) CompositeExtract 76 2
              80:    8(fvec3) CompositeConstruct 77 78 79
              81:     73(ptr) AccessChain 21(output) 39
                              Store 81 80
              82:11(PS_INPUT) Load 21(output)
                              ReturnValue 82
                              FunctionEnd
