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 Position 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 Position) 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 Position) 0:18 'fn1_out' (in structure{temp int x0_out, temp 4-component vector of float Position 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 Position 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 Position) 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 Position) 0:18 'fn1_out' (in structure{temp int x0_out, temp 4-component vector of float Position 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 93 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Vertex 4 "main" 62 66 69 78 84 92 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 20 "@main(struct-VS_INPUT-i1-vf4-i11;" Name 19 "vsin" Name 29 "VS_OUTPUT" MemberName 29(VS_OUTPUT) 0 "x0_out" MemberName 29(VS_OUTPUT) 1 "Pos_out" MemberName 29(VS_OUTPUT) 2 "x1_out" Name 31 "vsout" Name 44 "param" Name 46 "param" Name 60 "vsin" Name 62 "x0_in" Name 66 "Pos_in" Name 69 "x1_in" Name 72 "flattenTemp" Name 73 "param" Name 76 "VS_OUTPUT" MemberName 76(VS_OUTPUT) 0 "x0_out" MemberName 76(VS_OUTPUT) 1 "x1_out" Name 78 "@entryPointOutput" Name 84 "@entryPointOutput_Pos_out" Name 90 "PerVertex_out" MemberName 90(PerVertex_out) 0 "@entryPointOutput_Pos_out" Name 92 "PerVertex_out" MemberDecorate 11(VS_OUTPUT) 1 BuiltIn Position Decorate 62(x0_in) Location 0 Decorate 66(Pos_in) BuiltIn Position Decorate 69(x1_in) Location 1 Decorate 78(@entryPointOutput) Location 0 Decorate 84(@entryPointOutput_Pos_out) BuiltIn Position MemberDecorate 90(PerVertex_out) 0 BuiltIn Position Decorate 90(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: TypeFunction 11(VS_OUTPUT) 10(ptr) 22: 6(int) Constant 1 23: TypePointer Function 8(fvec4) 29(VS_OUTPUT): TypeStruct 6(int) 8(fvec4) 6(int) 30: TypePointer Function 29(VS_OUTPUT) 32: 6(int) Constant 0 33: TypePointer Function 6(int) 40: 6(int) Constant 2 61: TypePointer Input 6(int) 62(x0_in): 61(ptr) Variable Input 65: TypePointer Input 8(fvec4) 66(Pos_in): 65(ptr) Variable Input 69(x1_in): 61(ptr) Variable Input 76(VS_OUTPUT): TypeStruct 6(int) 6(int) 77: TypePointer Output 76(VS_OUTPUT) 78(@entryPointOutput): 77(ptr) Variable Output 81: TypePointer Output 6(int) 83: TypePointer Output 8(fvec4) 84(@entryPointOutput_Pos_out): 83(ptr) Variable Output 90(PerVertex_out): TypeStruct 8(fvec4) 91: TypePointer Output 90(PerVertex_out) 92(PerVertex_out): 91(ptr) Variable Output 4(main): 2 Function None 3 5: Label 60(vsin): 10(ptr) Variable Function 72(flattenTemp): 12(ptr) Variable Function 73(param): 10(ptr) Variable Function 63: 6(int) Load 62(x0_in) 64: 33(ptr) AccessChain 60(vsin) 32 Store 64 63 67: 8(fvec4) Load 66(Pos_in) 68: 23(ptr) AccessChain 60(vsin) 22 Store 68 67 70: 6(int) Load 69(x1_in) 71: 33(ptr) AccessChain 60(vsin) 40 Store 71 70 74: 9(VS_INPUT) Load 60(vsin) Store 73(param) 74 75:11(VS_OUTPUT) FunctionCall 20(@main(struct-VS_INPUT-i1-vf4-i11;) 73(param) Store 72(flattenTemp) 75 79: 33(ptr) AccessChain 72(flattenTemp) 32 80: 6(int) Load 79 82: 81(ptr) AccessChain 78(@entryPointOutput) 32 Store 82 80 85: 23(ptr) AccessChain 72(flattenTemp) 22 86: 8(fvec4) Load 85 Store 84(@entryPointOutput_Pos_out) 86 87: 33(ptr) AccessChain 72(flattenTemp) 40 88: 6(int) Load 87 89: 81(ptr) AccessChain 78(@entryPointOutput) 22 Store 89 88 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 24: 23(ptr) AccessChain 14(fn1_in) 22 25: 8(fvec4) Load 24 26: 23(ptr) AccessChain 15(fn1_out) 22 27: 8(fvec4) Load 26 28: 8(fvec4) FAdd 25 27 Return FunctionEnd 20(@main(struct-VS_INPUT-i1-vf4-i11;):11(VS_OUTPUT) Function None 18 19(vsin): 10(ptr) FunctionParameter 21: Label 31(vsout): 30(ptr) Variable Function 44(param): 10(ptr) Variable Function 46(param): 30(ptr) Variable Function 50: 12(ptr) Variable Function 34: 33(ptr) AccessChain 19(vsin) 32 35: 6(int) Load 34 36: 33(ptr) AccessChain 31(vsout) 32 Store 36 35 37: 23(ptr) AccessChain 19(vsin) 22 38: 8(fvec4) Load 37 39: 23(ptr) AccessChain 31(vsout) 22 Store 39 38 41: 33(ptr) AccessChain 19(vsin) 40 42: 6(int) Load 41 43: 33(ptr) AccessChain 31(vsout) 40 Store 43 42 45: 9(VS_INPUT) Load 19(vsin) Store 44(param) 45 47:29(VS_OUTPUT) Load 31(vsout) Store 46(param) 47 48: 2 FunctionCall 16(Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11;) 44(param) 46(param) 49:29(VS_OUTPUT) Load 31(vsout) 51: 6(int) CompositeExtract 49 0 52: 33(ptr) AccessChain 50 32 Store 52 51 53: 8(fvec4) CompositeExtract 49 1 54: 23(ptr) AccessChain 50 22 Store 54 53 55: 6(int) CompositeExtract 49 2 56: 33(ptr) AccessChain 50 40 Store 56 55 57:11(VS_OUTPUT) Load 50 ReturnValue 57 FunctionEnd