hlsl.struct.split.call.vert Shader version: 450 0:? Sequence 0:17 Function Definition: Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11; (temp void) 0:17 Function Parameters: 0:17 'fn1_in' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:17 'fn1_out' (in structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:? Sequence 0:18 add (temp 4-component vector of float) 0:18 Pos_in: direct index for structure (temp 4-component vector of float) 0:18 'fn1_in' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:18 Constant: 0:18 1 (const int) 0:18 Pos_out: direct index for structure (temp 4-component vector of float) 0:18 'fn1_out' (in structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:18 Constant: 0:18 1 (const int) 0:22 Function Definition: @main(struct-VS_INPUT-i1-vf4-i11; (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) 0:22 Function Parameters: 0:22 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:? Sequence 0:25 move second child to first child (temp int) 0:25 x0_out: direct index for structure (temp int) 0:25 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:25 Constant: 0:25 0 (const int) 0:25 x0_in: direct index for structure (temp int) 0:25 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:25 Constant: 0:25 0 (const int) 0:26 move second child to first child (temp 4-component vector of float) 0:26 Pos_out: direct index for structure (temp 4-component vector of float) 0:26 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:26 Constant: 0:26 1 (const int) 0:26 Pos_in: direct index for structure (temp 4-component vector of float) 0:26 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:26 Constant: 0:26 1 (const int) 0:27 move second child to first child (temp int) 0:27 x1_out: direct index for structure (temp int) 0:27 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:27 Constant: 0:27 2 (const int) 0:27 x1_in: direct index for structure (temp int) 0:27 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:27 Constant: 0:27 2 (const int) 0:29 Function Call: Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11; (temp void) 0:29 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:29 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:31 Branch: Return with expression 0:31 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 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 int) 0:22 x0_in: direct index for structure (temp int) 0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:22 Constant: 0:22 0 (const int) 0:? 'x0_in' (layout(location=0 ) in int) 0:22 move second child to first child (temp 4-component vector of float) 0:22 Pos_in: direct index for structure (temp 4-component vector of float) 0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:22 Constant: 0:22 1 (const int) 0:? 'Pos_in' (in 4-component vector of float Position) 0:22 move second child to first child (temp int) 0:22 x1_in: direct index for structure (temp int) 0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:22 Constant: 0:22 2 (const int) 0:? 'x1_in' (layout(location=1 ) in int) 0:22 Sequence 0:22 move second child to first child (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) 0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) 0:22 Function Call: @main(struct-VS_INPUT-i1-vf4-i11; (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) 0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:22 move second child to first child (temp int) 0:22 x0_out: direct index for structure (temp int) 0:22 '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) 0:22 Constant: 0:22 0 (const int) 0:22 x0_out: direct index for structure (temp int) 0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) 0:22 Constant: 0:22 0 (const int) 0:22 move second child to first child (temp 4-component vector of float) 0:? '@entryPointOutput_Pos_out' (out 4-component vector of float Position) 0:22 Pos_out: direct index for structure (temp 4-component vector of float Position) 0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) 0:22 Constant: 0:22 1 (const int) 0:22 move second child to first child (temp int) 0:22 x1_out: direct index for structure (temp int) 0:22 '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) 0:22 Constant: 0:22 1 (const int) 0:22 x1_out: direct index for structure (temp int) 0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) 0:22 Constant: 0:22 2 (const int) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) 0:? 'x0_in' (layout(location=0 ) in int) 0:? 'Pos_in' (in 4-component vector of float Position) 0:? 'x1_in' (layout(location=1 ) in int) 0:? 'PerVertex_out' (out block{out 4-component vector of float Position @entryPointOutput_Pos_out}) Linked vertex stage: Shader version: 450 0:? Sequence 0:17 Function Definition: Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11; (temp void) 0:17 Function Parameters: 0:17 'fn1_in' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:17 'fn1_out' (in structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:? Sequence 0:18 add (temp 4-component vector of float) 0:18 Pos_in: direct index for structure (temp 4-component vector of float) 0:18 'fn1_in' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:18 Constant: 0:18 1 (const int) 0:18 Pos_out: direct index for structure (temp 4-component vector of float) 0:18 'fn1_out' (in structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:18 Constant: 0:18 1 (const int) 0:22 Function Definition: @main(struct-VS_INPUT-i1-vf4-i11; (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) 0:22 Function Parameters: 0:22 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:? Sequence 0:25 move second child to first child (temp int) 0:25 x0_out: direct index for structure (temp int) 0:25 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:25 Constant: 0:25 0 (const int) 0:25 x0_in: direct index for structure (temp int) 0:25 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:25 Constant: 0:25 0 (const int) 0:26 move second child to first child (temp 4-component vector of float) 0:26 Pos_out: direct index for structure (temp 4-component vector of float) 0:26 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:26 Constant: 0:26 1 (const int) 0:26 Pos_in: direct index for structure (temp 4-component vector of float) 0:26 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:26 Constant: 0:26 1 (const int) 0:27 move second child to first child (temp int) 0:27 x1_out: direct index for structure (temp int) 0:27 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:27 Constant: 0:27 2 (const int) 0:27 x1_in: direct index for structure (temp int) 0:27 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:27 Constant: 0:27 2 (const int) 0:29 Function Call: Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11; (temp void) 0:29 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:29 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:31 Branch: Return with expression 0:31 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 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 int) 0:22 x0_in: direct index for structure (temp int) 0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:22 Constant: 0:22 0 (const int) 0:? 'x0_in' (layout(location=0 ) in int) 0:22 move second child to first child (temp 4-component vector of float) 0:22 Pos_in: direct index for structure (temp 4-component vector of float) 0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:22 Constant: 0:22 1 (const int) 0:? 'Pos_in' (in 4-component vector of float Position) 0:22 move second child to first child (temp int) 0:22 x1_in: direct index for structure (temp int) 0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:22 Constant: 0:22 2 (const int) 0:? 'x1_in' (layout(location=1 ) in int) 0:22 Sequence 0:22 move second child to first child (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) 0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) 0:22 Function Call: @main(struct-VS_INPUT-i1-vf4-i11; (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) 0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:22 move second child to first child (temp int) 0:22 x0_out: direct index for structure (temp int) 0:22 '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) 0:22 Constant: 0:22 0 (const int) 0:22 x0_out: direct index for structure (temp int) 0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) 0:22 Constant: 0:22 0 (const int) 0:22 move second child to first child (temp 4-component vector of float) 0:? '@entryPointOutput_Pos_out' (out 4-component vector of float Position) 0:22 Pos_out: direct index for structure (temp 4-component vector of float Position) 0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) 0:22 Constant: 0:22 1 (const int) 0:22 move second child to first child (temp int) 0:22 x1_out: direct index for structure (temp int) 0:22 '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) 0:22 Constant: 0:22 1 (const int) 0:22 x1_out: direct index for structure (temp int) 0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) 0:22 Constant: 0:22 2 (const int) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) 0:? 'x0_in' (layout(location=0 ) in int) 0:? 'Pos_in' (in 4-component vector of float Position) 0:? 'x1_in' (layout(location=1 ) in int) 0:? 'PerVertex_out' (out block{out 4-component vector of float Position @entryPointOutput_Pos_out}) // Module Version 10000 // Generated by (magic number): 80001 // Id's are bound by 95 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Vertex 4 "main" 64 68 71 80 86 94 Name 4 "main" Name 9 "VS_INPUT" MemberName 9(VS_INPUT) 0 "x0_in" MemberName 9(VS_INPUT) 1 "Pos_in" MemberName 9(VS_INPUT) 2 "x1_in" Name 11 "VS_OUTPUT" MemberName 11(VS_OUTPUT) 0 "x0_out" MemberName 11(VS_OUTPUT) 1 "Pos_out" MemberName 11(VS_OUTPUT) 2 "x1_out" Name 16 "Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11;" Name 14 "fn1_in" Name 15 "fn1_out" Name 18 "VS_INPUT" MemberName 18(VS_INPUT) 0 "x0_in" MemberName 18(VS_INPUT) 1 "Pos_in" MemberName 18(VS_INPUT) 2 "x1_in" Name 20 "VS_OUTPUT" MemberName 20(VS_OUTPUT) 0 "x0_out" MemberName 20(VS_OUTPUT) 1 "Pos_out" MemberName 20(VS_OUTPUT) 2 "x1_out" Name 23 "@main(struct-VS_INPUT-i1-vf4-i11;" Name 22 "vsin" Name 32 "vsout" Name 45 "param" Name 47 "param" Name 62 "vsin" Name 64 "x0_in" Name 68 "Pos_in" Name 71 "x1_in" Name 74 "flattenTemp" Name 75 "param" Name 78 "VS_OUTPUT" MemberName 78(VS_OUTPUT) 0 "x0_out" MemberName 78(VS_OUTPUT) 1 "x1_out" Name 80 "@entryPointOutput" Name 86 "@entryPointOutput_Pos_out" Name 92 "PerVertex_out" MemberName 92(PerVertex_out) 0 "@entryPointOutput_Pos_out" Name 94 "PerVertex_out" MemberDecorate 20(VS_OUTPUT) 1 BuiltIn Position Decorate 64(x0_in) Location 0 Decorate 68(Pos_in) BuiltIn Position Decorate 71(x1_in) Location 1 Decorate 80(@entryPointOutput) Location 0 Decorate 86(@entryPointOutput_Pos_out) BuiltIn Position MemberDecorate 92(PerVertex_out) 0 BuiltIn Position Decorate 92(PerVertex_out) Block 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 7: TypeFloat 32 8: TypeVector 7(float) 4 9(VS_INPUT): TypeStruct 6(int) 8(fvec4) 6(int) 10: TypePointer Function 9(VS_INPUT) 11(VS_OUTPUT): TypeStruct 6(int) 8(fvec4) 6(int) 12: TypePointer Function 11(VS_OUTPUT) 13: TypeFunction 2 10(ptr) 12(ptr) 18(VS_INPUT): TypeStruct 6(int) 8(fvec4) 6(int) 19: TypePointer Function 18(VS_INPUT) 20(VS_OUTPUT): TypeStruct 6(int) 8(fvec4) 6(int) 21: TypeFunction 20(VS_OUTPUT) 19(ptr) 25: 6(int) Constant 1 26: TypePointer Function 8(fvec4) 33: 6(int) Constant 0 34: TypePointer Function 6(int) 41: 6(int) Constant 2 51: TypePointer Function 20(VS_OUTPUT) 63: TypePointer Input 6(int) 64(x0_in): 63(ptr) Variable Input 67: TypePointer Input 8(fvec4) 68(Pos_in): 67(ptr) Variable Input 71(x1_in): 63(ptr) Variable Input 78(VS_OUTPUT): TypeStruct 6(int) 6(int) 79: TypePointer Output 78(VS_OUTPUT) 80(@entryPointOutput): 79(ptr) Variable Output 83: TypePointer Output 6(int) 85: TypePointer Output 8(fvec4) 86(@entryPointOutput_Pos_out): 85(ptr) Variable Output 92(PerVertex_out): TypeStruct 8(fvec4) 93: TypePointer Output 92(PerVertex_out) 94(PerVertex_out): 93(ptr) Variable Output 4(main): 2 Function None 3 5: Label 62(vsin): 19(ptr) Variable Function 74(flattenTemp): 51(ptr) Variable Function 75(param): 19(ptr) Variable Function 65: 6(int) Load 64(x0_in) 66: 34(ptr) AccessChain 62(vsin) 33 Store 66 65 69: 8(fvec4) Load 68(Pos_in) 70: 26(ptr) AccessChain 62(vsin) 25 Store 70 69 72: 6(int) Load 71(x1_in) 73: 34(ptr) AccessChain 62(vsin) 41 Store 73 72 76:18(VS_INPUT) Load 62(vsin) Store 75(param) 76 77:20(VS_OUTPUT) FunctionCall 23(@main(struct-VS_INPUT-i1-vf4-i11;) 75(param) Store 74(flattenTemp) 77 81: 34(ptr) AccessChain 74(flattenTemp) 33 82: 6(int) Load 81 84: 83(ptr) AccessChain 80(@entryPointOutput) 33 Store 84 82 87: 26(ptr) AccessChain 74(flattenTemp) 25 88: 8(fvec4) Load 87 Store 86(@entryPointOutput_Pos_out) 88 89: 34(ptr) AccessChain 74(flattenTemp) 41 90: 6(int) Load 89 91: 83(ptr) AccessChain 80(@entryPointOutput) 25 Store 91 90 Return FunctionEnd 16(Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11;): 2 Function None 13 14(fn1_in): 10(ptr) FunctionParameter 15(fn1_out): 12(ptr) FunctionParameter 17: Label 27: 26(ptr) AccessChain 14(fn1_in) 25 28: 8(fvec4) Load 27 29: 26(ptr) AccessChain 15(fn1_out) 25 30: 8(fvec4) Load 29 31: 8(fvec4) FAdd 28 30 Return FunctionEnd 23(@main(struct-VS_INPUT-i1-vf4-i11;):20(VS_OUTPUT) Function None 21 22(vsin): 19(ptr) FunctionParameter 24: Label 32(vsout): 12(ptr) Variable Function 45(param): 19(ptr) Variable Function 47(param): 12(ptr) Variable Function 52: 51(ptr) Variable Function 35: 34(ptr) AccessChain 22(vsin) 33 36: 6(int) Load 35 37: 34(ptr) AccessChain 32(vsout) 33 Store 37 36 38: 26(ptr) AccessChain 22(vsin) 25 39: 8(fvec4) Load 38 40: 26(ptr) AccessChain 32(vsout) 25 Store 40 39 42: 34(ptr) AccessChain 22(vsin) 41 43: 6(int) Load 42 44: 34(ptr) AccessChain 32(vsout) 41 Store 44 43 46:18(VS_INPUT) Load 22(vsin) Store 45(param) 46 48:11(VS_OUTPUT) Load 32(vsout) Store 47(param) 48 49: 2 FunctionCall 16(Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11;) 45(param) 47(param) 50:11(VS_OUTPUT) Load 32(vsout) 53: 6(int) CompositeExtract 50 0 54: 34(ptr) AccessChain 52 33 Store 54 53 55: 8(fvec4) CompositeExtract 50 1 56: 26(ptr) AccessChain 52 25 Store 56 55 57: 6(int) CompositeExtract 50 2 58: 34(ptr) AccessChain 52 41 Store 58 57 59:20(VS_OUTPUT) Load 52 ReturnValue 59 FunctionEnd