hlsl.mul-truncate.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:17  Function Definition: @main( ( temp 4-component vector of float)
0:17    Function Parameters: 
0:?     Sequence
0:19      Sequence
0:19        move second child to first child ( temp float)
0:19          'r00' ( temp float)
0:19          dot-product ( temp float)
0:19            v2: direct index for structure (layout( row_major std140) uniform 2-component vector of float)
0:19              'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
0:19              Constant:
0:19                7 (const uint)
0:19            Construct vec2 ( in 2-component vector of float)
0:19              v3: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
0:19                'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
0:19                Constant:
0:19                  6 (const uint)
0:20      Sequence
0:20        move second child to first child ( temp float)
0:20          'r01' ( temp float)
0:20          dot-product ( temp float)
0:20            Construct vec2 ( in 2-component vector of float)
0:20              v4: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
0:20                'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
0:20                Constant:
0:20                  5 (const uint)
0:20            v2: direct index for structure (layout( row_major std140) uniform 2-component vector of float)
0:20              'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
0:20              Constant:
0:20                7 (const uint)
0:23      Sequence
0:23        move second child to first child ( temp 4-component vector of float)
0:23          'r10' ( temp 4-component vector of float)
0:23          matrix-times-vector ( temp 4-component vector of float)
0:23            Construct mat3x4 ( uniform 3X4 matrix of float)
0:23              m44: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
0:23                'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
0:23                Constant:
0:23                  0 (const uint)
0:23            v3: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
0:23              'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
0:23              Constant:
0:23                6 (const uint)
0:24      Sequence
0:24        move second child to first child ( temp 4-component vector of float)
0:24          'r11' ( temp 4-component vector of float)
0:24          matrix-times-vector ( temp 4-component vector of float)
0:24            m34: direct index for structure (layout( row_major std140) uniform 3X4 matrix of float)
0:24              'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
0:24              Constant:
0:24                2 (const uint)
0:24            Construct vec3 ( uniform 3-component vector of float)
0:24              v4: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
0:24                'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
0:24                Constant:
0:24                  5 (const uint)
0:27      Sequence
0:27        move second child to first child ( temp 4-component vector of float)
0:27          'r20' ( temp 4-component vector of float)
0:27          vector-times-matrix ( temp 4-component vector of float)
0:27            v3: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
0:27              'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
0:27              Constant:
0:27                6 (const uint)
0:27            Construct mat4x3 ( uniform 4X3 matrix of float)
0:27              m44: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
0:27                'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
0:27                Constant:
0:27                  0 (const uint)
0:28      Sequence
0:28        move second child to first child ( temp 4-component vector of float)
0:28          'r21' ( temp 4-component vector of float)
0:28          vector-times-matrix ( temp 4-component vector of float)
0:28            Construct vec3 ( uniform 3-component vector of float)
0:28              v4: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
0:28                'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
0:28                Constant:
0:28                  5 (const uint)
0:28            m43: direct index for structure (layout( row_major std140) uniform 4X3 matrix of float)
0:28              'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
0:28              Constant:
0:28                1 (const uint)
0:36      Branch: Return with expression
0:36        add ( temp 4-component vector of float)
0:36          add ( temp 4-component vector of float)
0:36            add ( temp 4-component vector of float)
0:36              add ( temp 4-component vector of float)
0:36                add ( temp 4-component vector of float)
0:36                  'r10' ( temp 4-component vector of float)
0:36                  'r11' ( temp 4-component vector of float)
0:36                'r20' ( temp 4-component vector of float)
0:36              'r21' ( temp 4-component vector of float)
0:36            'r00' ( temp float)
0:36          'r01' ( temp float)
0:17  Function Definition: main( ( temp void)
0:17    Function Parameters: 
0:?     Sequence
0:17      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:17        Function Call: @main( ( temp 4-component vector of float)
0:?   Linker Objects
0:?     'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:17  Function Definition: @main( ( temp 4-component vector of float)
0:17    Function Parameters: 
0:?     Sequence
0:19      Sequence
0:19        move second child to first child ( temp float)
0:19          'r00' ( temp float)
0:19          dot-product ( temp float)
0:19            v2: direct index for structure (layout( row_major std140) uniform 2-component vector of float)
0:19              'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
0:19              Constant:
0:19                7 (const uint)
0:19            Construct vec2 ( in 2-component vector of float)
0:19              v3: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
0:19                'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
0:19                Constant:
0:19                  6 (const uint)
0:20      Sequence
0:20        move second child to first child ( temp float)
0:20          'r01' ( temp float)
0:20          dot-product ( temp float)
0:20            Construct vec2 ( in 2-component vector of float)
0:20              v4: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
0:20                'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
0:20                Constant:
0:20                  5 (const uint)
0:20            v2: direct index for structure (layout( row_major std140) uniform 2-component vector of float)
0:20              'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
0:20              Constant:
0:20                7 (const uint)
0:23      Sequence
0:23        move second child to first child ( temp 4-component vector of float)
0:23          'r10' ( temp 4-component vector of float)
0:23          matrix-times-vector ( temp 4-component vector of float)
0:23            Construct mat3x4 ( uniform 3X4 matrix of float)
0:23              m44: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
0:23                'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
0:23                Constant:
0:23                  0 (const uint)
0:23            v3: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
0:23              'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
0:23              Constant:
0:23                6 (const uint)
0:24      Sequence
0:24        move second child to first child ( temp 4-component vector of float)
0:24          'r11' ( temp 4-component vector of float)
0:24          matrix-times-vector ( temp 4-component vector of float)
0:24            m34: direct index for structure (layout( row_major std140) uniform 3X4 matrix of float)
0:24              'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
0:24              Constant:
0:24                2 (const uint)
0:24            Construct vec3 ( uniform 3-component vector of float)
0:24              v4: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
0:24                'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
0:24                Constant:
0:24                  5 (const uint)
0:27      Sequence
0:27        move second child to first child ( temp 4-component vector of float)
0:27          'r20' ( temp 4-component vector of float)
0:27          vector-times-matrix ( temp 4-component vector of float)
0:27            v3: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
0:27              'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
0:27              Constant:
0:27                6 (const uint)
0:27            Construct mat4x3 ( uniform 4X3 matrix of float)
0:27              m44: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
0:27                'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
0:27                Constant:
0:27                  0 (const uint)
0:28      Sequence
0:28        move second child to first child ( temp 4-component vector of float)
0:28          'r21' ( temp 4-component vector of float)
0:28          vector-times-matrix ( temp 4-component vector of float)
0:28            Construct vec3 ( uniform 3-component vector of float)
0:28              v4: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
0:28                'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
0:28                Constant:
0:28                  5 (const uint)
0:28            m43: direct index for structure (layout( row_major std140) uniform 4X3 matrix of float)
0:28              'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
0:28              Constant:
0:28                1 (const uint)
0:36      Branch: Return with expression
0:36        add ( temp 4-component vector of float)
0:36          add ( temp 4-component vector of float)
0:36            add ( temp 4-component vector of float)
0:36              add ( temp 4-component vector of float)
0:36                add ( temp 4-component vector of float)
0:36                  'r10' ( temp 4-component vector of float)
0:36                  'r11' ( temp 4-component vector of float)
0:36                'r20' ( temp 4-component vector of float)
0:36              'r21' ( temp 4-component vector of float)
0:36            'r00' ( temp float)
0:36          'r01' ( temp float)
0:17  Function Definition: main( ( temp void)
0:17    Function Parameters: 
0:?     Sequence
0:17      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:17        Function Call: @main( ( temp 4-component vector of float)
0:?   Linker Objects
0:?     'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 137
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 9  "@main("
                              Name 12  "r00"
                              Name 20  "Matrix"
                              MemberName 20(Matrix) 0  "m44"
                              MemberName 20(Matrix) 1  "m43"
                              MemberName 20(Matrix) 2  "m34"
                              MemberName 20(Matrix) 3  "m24"
                              MemberName 20(Matrix) 4  "m42"
                              MemberName 20(Matrix) 5  "v4"
                              MemberName 20(Matrix) 6  "v3"
                              MemberName 20(Matrix) 7  "v2"
                              Name 22  ""
                              Name 36  "r01"
                              Name 48  "r10"
                              Name 74  "r11"
                              Name 86  "r20"
                              Name 109  "r21"
                              Name 137  "@entryPointOutput"
                              MemberDecorate 20(Matrix) 0 RowMajor
                              MemberDecorate 20(Matrix) 0 Offset 0
                              MemberDecorate 20(Matrix) 0 MatrixStride 16
                              MemberDecorate 20(Matrix) 1 RowMajor
                              MemberDecorate 20(Matrix) 1 Offset 64
                              MemberDecorate 20(Matrix) 1 MatrixStride 16
                              MemberDecorate 20(Matrix) 2 RowMajor
                              MemberDecorate 20(Matrix) 2 Offset 112
                              MemberDecorate 20(Matrix) 2 MatrixStride 16
                              MemberDecorate 20(Matrix) 3 RowMajor
                              MemberDecorate 20(Matrix) 3 Offset 176
                              MemberDecorate 20(Matrix) 3 MatrixStride 16
                              MemberDecorate 20(Matrix) 4 RowMajor
                              MemberDecorate 20(Matrix) 4 Offset 240
                              MemberDecorate 20(Matrix) 4 MatrixStride 16
                              MemberDecorate 20(Matrix) 5 Offset 272
                              MemberDecorate 20(Matrix) 6 Offset 288
                              MemberDecorate 20(Matrix) 7 Offset 304
                              Decorate 20(Matrix) Block
                              Decorate 22 DescriptorSet 0
                              Decorate 137(@entryPointOutput) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypeFunction 7(fvec4)
              11:             TypePointer Function 6(float)
              13:             TypeMatrix 7(fvec4) 4
              14:             TypeVector 6(float) 3
              15:             TypeMatrix 14(fvec3) 4
              16:             TypeMatrix 7(fvec4) 3
              17:             TypeMatrix 7(fvec4) 2
              18:             TypeVector 6(float) 2
              19:             TypeMatrix 18(fvec2) 4
      20(Matrix):             TypeStruct 13 15 16 17 19 7(fvec4) 14(fvec3) 18(fvec2)
              21:             TypePointer Uniform 20(Matrix)
              22:     21(ptr) Variable Uniform
              23:             TypeInt 32 1
              24:     23(int) Constant 7
              25:             TypePointer Uniform 18(fvec2)
              28:     23(int) Constant 6
              29:             TypePointer Uniform 14(fvec3)
              37:     23(int) Constant 5
              38:             TypePointer Uniform 7(fvec4)
              47:             TypePointer Function 7(fvec4)
              49:     23(int) Constant 0
              50:             TypePointer Uniform 13
              53:    6(float) Constant 1065353216
              54:    6(float) Constant 0
              75:     23(int) Constant 2
              76:             TypePointer Uniform 16
             116:     23(int) Constant 1
             117:             TypePointer Uniform 15
             136:             TypePointer Output 7(fvec4)
137(@entryPointOutput):    136(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
             138:    7(fvec4) FunctionCall 9(@main()
                              Store 137(@entryPointOutput) 138
                              Return
                              FunctionEnd
       9(@main():    7(fvec4) Function None 8
              10:             Label
         12(r00):     11(ptr) Variable Function
         36(r01):     11(ptr) Variable Function
         48(r10):     47(ptr) Variable Function
         74(r11):     47(ptr) Variable Function
         86(r20):     47(ptr) Variable Function
        109(r21):     47(ptr) Variable Function
              26:     25(ptr) AccessChain 22 24
              27:   18(fvec2) Load 26
              30:     29(ptr) AccessChain 22 28
              31:   14(fvec3) Load 30
              32:    6(float) CompositeExtract 31 0
              33:    6(float) CompositeExtract 31 1
              34:   18(fvec2) CompositeConstruct 32 33
              35:    6(float) Dot 27 34
                              Store 12(r00) 35
              39:     38(ptr) AccessChain 22 37
              40:    7(fvec4) Load 39
              41:    6(float) CompositeExtract 40 0
              42:    6(float) CompositeExtract 40 1
              43:   18(fvec2) CompositeConstruct 41 42
              44:     25(ptr) AccessChain 22 24
              45:   18(fvec2) Load 44
              46:    6(float) Dot 43 45
                              Store 36(r01) 46
              51:     50(ptr) AccessChain 22 49
              52:          13 Load 51
              55:    6(float) CompositeExtract 52 0 0
              56:    6(float) CompositeExtract 52 0 1
              57:    6(float) CompositeExtract 52 0 2
              58:    6(float) CompositeExtract 52 0 3
              59:    6(float) CompositeExtract 52 1 0
              60:    6(float) CompositeExtract 52 1 1
              61:    6(float) CompositeExtract 52 1 2
              62:    6(float) CompositeExtract 52 1 3
              63:    6(float) CompositeExtract 52 2 0
              64:    6(float) CompositeExtract 52 2 1
              65:    6(float) CompositeExtract 52 2 2
              66:    6(float) CompositeExtract 52 2 3
              67:    7(fvec4) CompositeConstruct 55 56 57 58
              68:    7(fvec4) CompositeConstruct 59 60 61 62
              69:    7(fvec4) CompositeConstruct 63 64 65 66
              70:          16 CompositeConstruct 67 68 69
              71:     29(ptr) AccessChain 22 28
              72:   14(fvec3) Load 71
              73:    7(fvec4) MatrixTimesVector 70 72
                              Store 48(r10) 73
              77:     76(ptr) AccessChain 22 75
              78:          16 Load 77
              79:     38(ptr) AccessChain 22 37
              80:    7(fvec4) Load 79
              81:    6(float) CompositeExtract 80 0
              82:    6(float) CompositeExtract 80 1
              83:    6(float) CompositeExtract 80 2
              84:   14(fvec3) CompositeConstruct 81 82 83
              85:    7(fvec4) MatrixTimesVector 78 84
                              Store 74(r11) 85
              87:     29(ptr) AccessChain 22 28
              88:   14(fvec3) Load 87
              89:     50(ptr) AccessChain 22 49
              90:          13 Load 89
              91:    6(float) CompositeExtract 90 0 0
              92:    6(float) CompositeExtract 90 0 1
              93:    6(float) CompositeExtract 90 0 2
              94:    6(float) CompositeExtract 90 1 0
              95:    6(float) CompositeExtract 90 1 1
              96:    6(float) CompositeExtract 90 1 2
              97:    6(float) CompositeExtract 90 2 0
              98:    6(float) CompositeExtract 90 2 1
              99:    6(float) CompositeExtract 90 2 2
             100:    6(float) CompositeExtract 90 3 0
             101:    6(float) CompositeExtract 90 3 1
             102:    6(float) CompositeExtract 90 3 2
             103:   14(fvec3) CompositeConstruct 91 92 93
             104:   14(fvec3) CompositeConstruct 94 95 96
             105:   14(fvec3) CompositeConstruct 97 98 99
             106:   14(fvec3) CompositeConstruct 100 101 102
             107:          15 CompositeConstruct 103 104 105 106
             108:    7(fvec4) VectorTimesMatrix 88 107
                              Store 86(r20) 108
             110:     38(ptr) AccessChain 22 37
             111:    7(fvec4) Load 110
             112:    6(float) CompositeExtract 111 0
             113:    6(float) CompositeExtract 111 1
             114:    6(float) CompositeExtract 111 2
             115:   14(fvec3) CompositeConstruct 112 113 114
             118:    117(ptr) AccessChain 22 116
             119:          15 Load 118
             120:    7(fvec4) VectorTimesMatrix 115 119
                              Store 109(r21) 120
             121:    7(fvec4) Load 48(r10)
             122:    7(fvec4) Load 74(r11)
             123:    7(fvec4) FAdd 121 122
             124:    7(fvec4) Load 86(r20)
             125:    7(fvec4) FAdd 123 124
             126:    7(fvec4) Load 109(r21)
             127:    7(fvec4) FAdd 125 126
             128:    6(float) Load 12(r00)
             129:    7(fvec4) CompositeConstruct 128 128 128 128
             130:    7(fvec4) FAdd 127 129
             131:    6(float) Load 36(r01)
             132:    7(fvec4) CompositeConstruct 131 131 131 131
             133:    7(fvec4) FAdd 130 132
                              ReturnValue 133
                              FunctionEnd
