| hlsl.struct.split.call.vert |
| Shader version: 500 |
| 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 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:? 'vsin.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:? 'vsin.Pos_in' (layout( location=1) in 4-component vector of float) |
| 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:? 'vsin.x1_in' (layout( location=2) 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 Pos_out, temp int x1_out}) |
| 0:22 'flattenTemp' ( temp structure{ temp int x0_out, temp 4-component vector of float 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 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:? '@entryPointOutput.x0_out' (layout( location=0) out 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 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) |
| 0:22 'flattenTemp' ( temp structure{ temp int x0_out, temp 4-component vector of float 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:? '@entryPointOutput.x1_out' (layout( location=1) out 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 Pos_out, temp int x1_out}) |
| 0:22 Constant: |
| 0:22 2 (const int) |
| 0:? Linker Objects |
| 0:? '@entryPointOutput.Pos_out' ( out 4-component vector of float Position) |
| 0:? '@entryPointOutput.x0_out' (layout( location=0) out int) |
| 0:? '@entryPointOutput.x1_out' (layout( location=1) out int) |
| 0:? 'vsin.x0_in' (layout( location=0) in int) |
| 0:? 'vsin.Pos_in' (layout( location=1) in 4-component vector of float) |
| 0:? 'vsin.x1_in' (layout( location=2) in int) |
| |
| |
| Linked vertex stage: |
| |
| |
| Shader version: 500 |
| 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 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:? 'vsin.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:? 'vsin.Pos_in' (layout( location=1) in 4-component vector of float) |
| 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:? 'vsin.x1_in' (layout( location=2) 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 Pos_out, temp int x1_out}) |
| 0:22 'flattenTemp' ( temp structure{ temp int x0_out, temp 4-component vector of float 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 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:? '@entryPointOutput.x0_out' (layout( location=0) out 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 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) |
| 0:22 'flattenTemp' ( temp structure{ temp int x0_out, temp 4-component vector of float 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:? '@entryPointOutput.x1_out' (layout( location=1) out 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 Pos_out, temp int x1_out}) |
| 0:22 Constant: |
| 0:22 2 (const int) |
| 0:? Linker Objects |
| 0:? '@entryPointOutput.Pos_out' ( out 4-component vector of float Position) |
| 0:? '@entryPointOutput.x0_out' (layout( location=0) out int) |
| 0:? '@entryPointOutput.x1_out' (layout( location=1) out int) |
| 0:? 'vsin.x0_in' (layout( location=0) in int) |
| 0:? 'vsin.Pos_in' (layout( location=1) in 4-component vector of float) |
| 0:? 'vsin.x1_in' (layout( location=2) in int) |
| |
| // Module Version 10000 |
| // Generated by (magic number): 80008 |
| // Id's are bound by 77 |
| |
| Capability Shader |
| 1: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical GLSL450 |
| EntryPoint Vertex 4 "main" 52 56 59 67 71 74 |
| Source HLSL 500 |
| 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 "vsout" |
| Name 42 "param" |
| Name 44 "param" |
| Name 50 "vsin" |
| Name 52 "vsin.x0_in" |
| Name 56 "vsin.Pos_in" |
| Name 59 "vsin.x1_in" |
| Name 62 "flattenTemp" |
| Name 63 "param" |
| Name 67 "@entryPointOutput.x0_out" |
| Name 71 "@entryPointOutput.Pos_out" |
| Name 74 "@entryPointOutput.x1_out" |
| Decorate 52(vsin.x0_in) Location 0 |
| Decorate 56(vsin.Pos_in) Location 1 |
| Decorate 59(vsin.x1_in) Location 2 |
| Decorate 67(@entryPointOutput.x0_out) Location 0 |
| Decorate 71(@entryPointOutput.Pos_out) BuiltIn Position |
| Decorate 74(@entryPointOutput.x1_out) Location 1 |
| 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) |
| 30: 6(int) Constant 0 |
| 31: TypePointer Function 6(int) |
| 38: 6(int) Constant 2 |
| 51: TypePointer Input 6(int) |
| 52(vsin.x0_in): 51(ptr) Variable Input |
| 55: TypePointer Input 8(fvec4) |
| 56(vsin.Pos_in): 55(ptr) Variable Input |
| 59(vsin.x1_in): 51(ptr) Variable Input |
| 66: TypePointer Output 6(int) |
| 67(@entryPointOutput.x0_out): 66(ptr) Variable Output |
| 70: TypePointer Output 8(fvec4) |
| 71(@entryPointOutput.Pos_out): 70(ptr) Variable Output |
| 74(@entryPointOutput.x1_out): 66(ptr) Variable Output |
| 4(main): 2 Function None 3 |
| 5: Label |
| 50(vsin): 10(ptr) Variable Function |
| 62(flattenTemp): 12(ptr) Variable Function |
| 63(param): 10(ptr) Variable Function |
| 53: 6(int) Load 52(vsin.x0_in) |
| 54: 31(ptr) AccessChain 50(vsin) 30 |
| Store 54 53 |
| 57: 8(fvec4) Load 56(vsin.Pos_in) |
| 58: 23(ptr) AccessChain 50(vsin) 22 |
| Store 58 57 |
| 60: 6(int) Load 59(vsin.x1_in) |
| 61: 31(ptr) AccessChain 50(vsin) 38 |
| Store 61 60 |
| 64: 9(VS_INPUT) Load 50(vsin) |
| Store 63(param) 64 |
| 65:11(VS_OUTPUT) FunctionCall 20(@main(struct-VS_INPUT-i1-vf4-i11;) 63(param) |
| Store 62(flattenTemp) 65 |
| 68: 31(ptr) AccessChain 62(flattenTemp) 30 |
| 69: 6(int) Load 68 |
| Store 67(@entryPointOutput.x0_out) 69 |
| 72: 23(ptr) AccessChain 62(flattenTemp) 22 |
| 73: 8(fvec4) Load 72 |
| Store 71(@entryPointOutput.Pos_out) 73 |
| 75: 31(ptr) AccessChain 62(flattenTemp) 38 |
| 76: 6(int) Load 75 |
| Store 74(@entryPointOutput.x1_out) 76 |
| 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 |
| 29(vsout): 12(ptr) Variable Function |
| 42(param): 10(ptr) Variable Function |
| 44(param): 12(ptr) Variable Function |
| 32: 31(ptr) AccessChain 19(vsin) 30 |
| 33: 6(int) Load 32 |
| 34: 31(ptr) AccessChain 29(vsout) 30 |
| Store 34 33 |
| 35: 23(ptr) AccessChain 19(vsin) 22 |
| 36: 8(fvec4) Load 35 |
| 37: 23(ptr) AccessChain 29(vsout) 22 |
| Store 37 36 |
| 39: 31(ptr) AccessChain 19(vsin) 38 |
| 40: 6(int) Load 39 |
| 41: 31(ptr) AccessChain 29(vsout) 38 |
| Store 41 40 |
| 43: 9(VS_INPUT) Load 19(vsin) |
| Store 42(param) 43 |
| 45:11(VS_OUTPUT) Load 29(vsout) |
| Store 44(param) 45 |
| 46: 2 FunctionCall 16(Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11;) 42(param) 44(param) |
| 47:11(VS_OUTPUT) Load 29(vsout) |
| ReturnValue 47 |
| FunctionEnd |