| 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 10200 |
| // Generated by (magic number): 80003 |
| // 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 |