| hlsl.struct.split.trivial.geom |
| Shader version: 500 |
| invocations = -1 |
| max_vertices = 3 |
| input primitive = triangles |
| output primitive = triangle_strip |
| 0:? Sequence |
| 0:14 Function Definition: @main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41; ( temp void) |
| 0:14 Function Parameters: |
| 0:14 'i' ( in 3-element array of structure{ temp 4-component vector of float pos}) |
| 0:14 'ts' ( out structure{ temp 4-component vector of float pos}) |
| 0:? Sequence |
| 0:17 Sequence |
| 0:17 move second child to first child ( temp int) |
| 0:17 'x' ( temp int) |
| 0:17 Constant: |
| 0:17 0 (const int) |
| 0:17 Loop with condition tested first |
| 0:17 Loop Condition |
| 0:17 Compare Less Than ( temp bool) |
| 0:17 'x' ( temp int) |
| 0:17 Constant: |
| 0:17 3 (const int) |
| 0:17 Loop Body |
| 0:? Sequence |
| 0:18 move second child to first child ( temp 4-component vector of float) |
| 0:18 pos: direct index for structure ( temp 4-component vector of float) |
| 0:18 'o' ( temp structure{ temp 4-component vector of float pos}) |
| 0:18 Constant: |
| 0:18 0 (const int) |
| 0:18 pos: direct index for structure ( temp 4-component vector of float) |
| 0:18 indirect index ( temp structure{ temp 4-component vector of float pos}) |
| 0:18 'i' ( in 3-element array of structure{ temp 4-component vector of float pos}) |
| 0:18 'x' ( temp int) |
| 0:18 Constant: |
| 0:18 0 (const int) |
| 0:19 Sequence |
| 0:19 Sequence |
| 0:19 move second child to first child ( temp 4-component vector of float) |
| 0:? 'ts.pos' ( out 4-component vector of float Position) |
| 0:19 pos: direct index for structure ( temp 4-component vector of float) |
| 0:19 'o' ( temp structure{ temp 4-component vector of float pos}) |
| 0:19 Constant: |
| 0:19 0 (const int) |
| 0:19 EmitVertex ( temp void) |
| 0:17 Loop Terminal Expression |
| 0:17 Pre-Increment ( temp int) |
| 0:17 'x' ( temp int) |
| 0:14 Function Definition: main( ( temp void) |
| 0:14 Function Parameters: |
| 0:? Sequence |
| 0:14 Sequence |
| 0:14 move second child to first child ( temp 4-component vector of float) |
| 0:14 pos: direct index for structure ( temp 4-component vector of float) |
| 0:14 direct index ( temp structure{ temp 4-component vector of float pos}) |
| 0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos}) |
| 0:14 Constant: |
| 0:14 0 (const int) |
| 0:14 Constant: |
| 0:14 0 (const int) |
| 0:14 direct index ( in 4-component vector of float Position) |
| 0:? 'i.pos' ( in 3-element array of 4-component vector of float Position) |
| 0:14 Constant: |
| 0:14 0 (const int) |
| 0:14 move second child to first child ( temp 4-component vector of float) |
| 0:14 pos: direct index for structure ( temp 4-component vector of float) |
| 0:14 direct index ( temp structure{ temp 4-component vector of float pos}) |
| 0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos}) |
| 0:14 Constant: |
| 0:14 1 (const int) |
| 0:14 Constant: |
| 0:14 0 (const int) |
| 0:14 direct index ( in 4-component vector of float Position) |
| 0:? 'i.pos' ( in 3-element array of 4-component vector of float Position) |
| 0:14 Constant: |
| 0:14 1 (const int) |
| 0:14 move second child to first child ( temp 4-component vector of float) |
| 0:14 pos: direct index for structure ( temp 4-component vector of float) |
| 0:14 direct index ( temp structure{ temp 4-component vector of float pos}) |
| 0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos}) |
| 0:14 Constant: |
| 0:14 2 (const int) |
| 0:14 Constant: |
| 0:14 0 (const int) |
| 0:14 direct index ( in 4-component vector of float Position) |
| 0:? 'i.pos' ( in 3-element array of 4-component vector of float Position) |
| 0:14 Constant: |
| 0:14 2 (const int) |
| 0:14 Function Call: @main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41; ( temp void) |
| 0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos}) |
| 0:? 'ts' ( temp structure{ temp 4-component vector of float pos}) |
| 0:? Linker Objects |
| 0:? 'i.pos' ( in 3-element array of 4-component vector of float Position) |
| 0:? 'ts.pos' ( out 4-component vector of float Position) |
| |
| |
| Linked geometry stage: |
| |
| |
| Shader version: 500 |
| invocations = 1 |
| max_vertices = 3 |
| input primitive = triangles |
| output primitive = triangle_strip |
| 0:? Sequence |
| 0:14 Function Definition: @main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41; ( temp void) |
| 0:14 Function Parameters: |
| 0:14 'i' ( in 3-element array of structure{ temp 4-component vector of float pos}) |
| 0:14 'ts' ( out structure{ temp 4-component vector of float pos}) |
| 0:? Sequence |
| 0:17 Sequence |
| 0:17 move second child to first child ( temp int) |
| 0:17 'x' ( temp int) |
| 0:17 Constant: |
| 0:17 0 (const int) |
| 0:17 Loop with condition tested first |
| 0:17 Loop Condition |
| 0:17 Compare Less Than ( temp bool) |
| 0:17 'x' ( temp int) |
| 0:17 Constant: |
| 0:17 3 (const int) |
| 0:17 Loop Body |
| 0:? Sequence |
| 0:18 move second child to first child ( temp 4-component vector of float) |
| 0:18 pos: direct index for structure ( temp 4-component vector of float) |
| 0:18 'o' ( temp structure{ temp 4-component vector of float pos}) |
| 0:18 Constant: |
| 0:18 0 (const int) |
| 0:18 pos: direct index for structure ( temp 4-component vector of float) |
| 0:18 indirect index ( temp structure{ temp 4-component vector of float pos}) |
| 0:18 'i' ( in 3-element array of structure{ temp 4-component vector of float pos}) |
| 0:18 'x' ( temp int) |
| 0:18 Constant: |
| 0:18 0 (const int) |
| 0:19 Sequence |
| 0:19 Sequence |
| 0:19 move second child to first child ( temp 4-component vector of float) |
| 0:? 'ts.pos' ( out 4-component vector of float Position) |
| 0:19 pos: direct index for structure ( temp 4-component vector of float) |
| 0:19 'o' ( temp structure{ temp 4-component vector of float pos}) |
| 0:19 Constant: |
| 0:19 0 (const int) |
| 0:19 EmitVertex ( temp void) |
| 0:17 Loop Terminal Expression |
| 0:17 Pre-Increment ( temp int) |
| 0:17 'x' ( temp int) |
| 0:14 Function Definition: main( ( temp void) |
| 0:14 Function Parameters: |
| 0:? Sequence |
| 0:14 Sequence |
| 0:14 move second child to first child ( temp 4-component vector of float) |
| 0:14 pos: direct index for structure ( temp 4-component vector of float) |
| 0:14 direct index ( temp structure{ temp 4-component vector of float pos}) |
| 0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos}) |
| 0:14 Constant: |
| 0:14 0 (const int) |
| 0:14 Constant: |
| 0:14 0 (const int) |
| 0:14 direct index ( in 4-component vector of float Position) |
| 0:? 'i.pos' ( in 3-element array of 4-component vector of float Position) |
| 0:14 Constant: |
| 0:14 0 (const int) |
| 0:14 move second child to first child ( temp 4-component vector of float) |
| 0:14 pos: direct index for structure ( temp 4-component vector of float) |
| 0:14 direct index ( temp structure{ temp 4-component vector of float pos}) |
| 0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos}) |
| 0:14 Constant: |
| 0:14 1 (const int) |
| 0:14 Constant: |
| 0:14 0 (const int) |
| 0:14 direct index ( in 4-component vector of float Position) |
| 0:? 'i.pos' ( in 3-element array of 4-component vector of float Position) |
| 0:14 Constant: |
| 0:14 1 (const int) |
| 0:14 move second child to first child ( temp 4-component vector of float) |
| 0:14 pos: direct index for structure ( temp 4-component vector of float) |
| 0:14 direct index ( temp structure{ temp 4-component vector of float pos}) |
| 0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos}) |
| 0:14 Constant: |
| 0:14 2 (const int) |
| 0:14 Constant: |
| 0:14 0 (const int) |
| 0:14 direct index ( in 4-component vector of float Position) |
| 0:? 'i.pos' ( in 3-element array of 4-component vector of float Position) |
| 0:14 Constant: |
| 0:14 2 (const int) |
| 0:14 Function Call: @main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41; ( temp void) |
| 0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos}) |
| 0:? 'ts' ( temp structure{ temp 4-component vector of float pos}) |
| 0:? Linker Objects |
| 0:? 'i.pos' ( in 3-element array of 4-component vector of float Position) |
| 0:? 'ts.pos' ( out 4-component vector of float Position) |
| |
| // Module Version 10000 |
| // Generated by (magic number): 80002 |
| // Id's are bound by 67 |
| |
| Capability Geometry |
| 1: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical GLSL450 |
| EntryPoint Geometry 4 "main" 40 49 |
| ExecutionMode 4 Triangles |
| ExecutionMode 4 Invocations 1 |
| ExecutionMode 4 OutputTriangleStrip |
| ExecutionMode 4 OutputVertices 3 |
| Source HLSL 500 |
| Name 4 "main" |
| Name 8 "PS_IN" |
| MemberName 8(PS_IN) 0 "pos" |
| Name 13 "GS_OUT" |
| MemberName 13(GS_OUT) 0 "pos" |
| Name 18 "@main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41;" |
| Name 16 "i" |
| Name 17 "ts" |
| Name 22 "x" |
| Name 33 "o" |
| Name 40 "ts.pos" |
| Name 46 "i" |
| Name 49 "i.pos" |
| Name 61 "ts" |
| Name 62 "param" |
| Name 64 "param" |
| Decorate 40(ts.pos) BuiltIn Position |
| Decorate 49(i.pos) BuiltIn Position |
| 2: TypeVoid |
| 3: TypeFunction 2 |
| 6: TypeFloat 32 |
| 7: TypeVector 6(float) 4 |
| 8(PS_IN): TypeStruct 7(fvec4) |
| 9: TypeInt 32 0 |
| 10: 9(int) Constant 3 |
| 11: TypeArray 8(PS_IN) 10 |
| 12: TypePointer Function 11 |
| 13(GS_OUT): TypeStruct 7(fvec4) |
| 14: TypePointer Function 13(GS_OUT) |
| 15: TypeFunction 2 12(ptr) 14(ptr) |
| 20: TypeInt 32 1 |
| 21: TypePointer Function 20(int) |
| 23: 20(int) Constant 0 |
| 30: 20(int) Constant 3 |
| 31: TypeBool |
| 35: TypePointer Function 7(fvec4) |
| 39: TypePointer Output 7(fvec4) |
| 40(ts.pos): 39(ptr) Variable Output |
| 44: 20(int) Constant 1 |
| 47: TypeArray 7(fvec4) 10 |
| 48: TypePointer Input 47 |
| 49(i.pos): 48(ptr) Variable Input |
| 50: TypePointer Input 7(fvec4) |
| 57: 20(int) Constant 2 |
| 4(main): 2 Function None 3 |
| 5: Label |
| 46(i): 12(ptr) Variable Function |
| 61(ts): 14(ptr) Variable Function |
| 62(param): 12(ptr) Variable Function |
| 64(param): 14(ptr) Variable Function |
| 51: 50(ptr) AccessChain 49(i.pos) 23 |
| 52: 7(fvec4) Load 51 |
| 53: 35(ptr) AccessChain 46(i) 23 23 |
| Store 53 52 |
| 54: 50(ptr) AccessChain 49(i.pos) 44 |
| 55: 7(fvec4) Load 54 |
| 56: 35(ptr) AccessChain 46(i) 44 23 |
| Store 56 55 |
| 58: 50(ptr) AccessChain 49(i.pos) 57 |
| 59: 7(fvec4) Load 58 |
| 60: 35(ptr) AccessChain 46(i) 57 23 |
| Store 60 59 |
| 63: 11 Load 46(i) |
| Store 62(param) 63 |
| 65: 2 FunctionCall 18(@main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41;) 62(param) 64(param) |
| 66: 13(GS_OUT) Load 64(param) |
| Store 61(ts) 66 |
| Return |
| FunctionEnd |
| 18(@main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41;): 2 Function None 15 |
| 16(i): 12(ptr) FunctionParameter |
| 17(ts): 14(ptr) FunctionParameter |
| 19: Label |
| 22(x): 21(ptr) Variable Function |
| 33(o): 14(ptr) Variable Function |
| Store 22(x) 23 |
| Branch 24 |
| 24: Label |
| LoopMerge 26 27 None |
| Branch 28 |
| 28: Label |
| 29: 20(int) Load 22(x) |
| 32: 31(bool) SLessThan 29 30 |
| BranchConditional 32 25 26 |
| 25: Label |
| 34: 20(int) Load 22(x) |
| 36: 35(ptr) AccessChain 16(i) 34 23 |
| 37: 7(fvec4) Load 36 |
| 38: 35(ptr) AccessChain 33(o) 23 |
| Store 38 37 |
| 41: 35(ptr) AccessChain 33(o) 23 |
| 42: 7(fvec4) Load 41 |
| Store 40(ts.pos) 42 |
| EmitVertex |
| Branch 27 |
| 27: Label |
| 43: 20(int) Load 22(x) |
| 45: 20(int) IAdd 43 44 |
| Store 22(x) 45 |
| Branch 24 |
| 26: Label |
| Return |
| FunctionEnd |