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): 8000b
// Id's are bound by 93

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 74 78 86 90
                              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 72  "input"
                              Name 74  "input.Pos"
                              Name 78  "input.Norm"
                              Name 81  "flattenTemp"
                              Name 82  "param"
                              Name 86  "@entryPointOutput.Pos"
                              Name 90  "@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 74(input.Pos) Location 0
                              Decorate 78(input.Norm) Location 1
                              Decorate 86(@entryPointOutput.Pos) BuiltIn Position
                              Decorate 90(@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
              60:             TypePointer Function 8(fvec3)
              73:             TypePointer Input 7(fvec4)
   74(input.Pos):     73(ptr) Variable Input
              77:             TypePointer Input 8(fvec3)
  78(input.Norm):     77(ptr) Variable Input
              85:             TypePointer Output 7(fvec4)
86(@entryPointOutput.Pos):     85(ptr) Variable Output
              89:             TypePointer Output 8(fvec3)
90(@entryPointOutput.Norm):     89(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
       72(input):     10(ptr) Variable Function
 81(flattenTemp):     20(ptr) Variable Function
       82(param):     10(ptr) Variable Function
              75:    7(fvec4) Load 74(input.Pos)
              76:     34(ptr) AccessChain 72(input) 26
                              Store 76 75
              79:    8(fvec3) Load 78(input.Norm)
              80:     60(ptr) AccessChain 72(input) 39
                              Store 80 79
              83: 9(VS_INPUT) Load 72(input)
                              Store 82(param) 83
              84:11(PS_INPUT) FunctionCall 14(@main(struct-VS_INPUT-vf4-vf31;) 82(param)
                              Store 81(flattenTemp) 84
              87:     34(ptr) AccessChain 81(flattenTemp) 26
              88:    7(fvec4) Load 87
                              Store 86(@entryPointOutput.Pos) 88
              91:     60(ptr) AccessChain 81(flattenTemp) 39
              92:    8(fvec3) Load 91
                              Store 90(@entryPointOutput.Norm) 92
                              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
              56:    7(fvec4) CompositeExtract 54 0
              57:    7(fvec4) CompositeExtract 54 1
              58:    7(fvec4) CompositeExtract 54 2
              59:          55 CompositeConstruct 56 57 58
              61:     60(ptr) AccessChain 13(input) 39
              62:    8(fvec3) Load 61
              63:    7(fvec4) MatrixTimesVector 59 62
              64:    6(float) CompositeExtract 63 0
              65:    6(float) CompositeExtract 63 1
              66:    6(float) CompositeExtract 63 2
              67:    8(fvec3) CompositeConstruct 64 65 66
              68:     60(ptr) AccessChain 21(output) 39
                              Store 68 67
              69:11(PS_INPUT) Load 21(output)
                              ReturnValue 69
                              FunctionEnd
