| hlsl.struct.split.array.geom |
| Shader version: 500 |
| invocations = -1 |
| max_vertices = 4 |
| input primitive = points |
| output primitive = triangle_strip |
| 0:? Sequence |
| 0:13 Function Definition: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void) |
| 0:13 Function Parameters: |
| 0:13 'v' ( in 1-element array of uint) |
| 0:13 'OutputStream' ( out structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) |
| 0:? Sequence |
| 0:16 Sequence |
| 0:16 move second child to first child ( temp structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) |
| 0:16 'Out' ( temp structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) |
| 0:16 Constant: |
| 0:16 0.000000 |
| 0:16 0.000000 |
| 0:16 0.000000 |
| 0:16 0.000000 |
| 0:16 0.000000 |
| 0:16 0.000000 |
| 0:16 0.000000 |
| 0:16 0.000000 |
| 0:16 0.000000 |
| 0:16 0 (const uint) |
| 0:18 Sequence |
| 0:18 move second child to first child ( temp int) |
| 0:18 'x' ( temp int) |
| 0:18 Constant: |
| 0:18 0 (const int) |
| 0:18 Loop with condition tested first |
| 0:18 Loop Condition |
| 0:18 Compare Less Than ( temp bool) |
| 0:18 'x' ( temp int) |
| 0:18 Constant: |
| 0:18 2 (const int) |
| 0:18 Loop Body |
| 0:19 Sequence |
| 0:19 move second child to first child ( temp int) |
| 0:19 'y' ( temp int) |
| 0:19 Constant: |
| 0:19 0 (const int) |
| 0:19 Loop with condition tested first |
| 0:19 Loop Condition |
| 0:19 Compare Less Than ( temp bool) |
| 0:19 'y' ( temp int) |
| 0:19 Constant: |
| 0:19 2 (const int) |
| 0:19 Loop Body |
| 0:20 move second child to first child ( temp structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) |
| 0:20 indirect index ( temp structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) |
| 0:20 indirect index ( temp 3-element array of structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) |
| 0:20 'Verts' ( temp 2-element array of 3-element array of structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) |
| 0:20 'x' ( temp int) |
| 0:20 'y' ( temp int) |
| 0:20 'Out' ( temp structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) |
| 0:19 Loop Terminal Expression |
| 0:19 Pre-Increment ( temp int) |
| 0:19 'y' ( temp int) |
| 0:18 Loop Terminal Expression |
| 0:18 Pre-Increment ( temp int) |
| 0:18 'x' ( temp int) |
| 0:13 Function Definition: main( ( temp void) |
| 0:13 Function Parameters: |
| 0:? Sequence |
| 0:13 move second child to first child ( temp 1-element array of uint) |
| 0:? 'v' ( temp 1-element array of uint) |
| 0:? 'v' (layout( location=0) in 1-element array of uint) |
| 0:13 Function Call: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void) |
| 0:? 'v' ( temp 1-element array of uint) |
| 0:? 'OutputStream' ( temp structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) |
| 0:? Linker Objects |
| 0:? 'v' (layout( location=0) in 1-element array of uint) |
| 0:? 'OutputStream.Pos' ( out 4-component vector of float Position) |
| 0:? 'OutputStream.TexCoord' (layout( location=0) out 2-component vector of float) |
| 0:? 'OutputStream.TerrainPos' (layout( location=1) out 3-component vector of float) |
| 0:? 'OutputStream.VertexID' (layout( location=2) out uint) |
| |
| |
| Linked geometry stage: |
| |
| |
| Shader version: 500 |
| invocations = 1 |
| max_vertices = 4 |
| input primitive = points |
| output primitive = triangle_strip |
| 0:? Sequence |
| 0:13 Function Definition: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void) |
| 0:13 Function Parameters: |
| 0:13 'v' ( in 1-element array of uint) |
| 0:13 'OutputStream' ( out structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) |
| 0:? Sequence |
| 0:16 Sequence |
| 0:16 move second child to first child ( temp structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) |
| 0:16 'Out' ( temp structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) |
| 0:16 Constant: |
| 0:16 0.000000 |
| 0:16 0.000000 |
| 0:16 0.000000 |
| 0:16 0.000000 |
| 0:16 0.000000 |
| 0:16 0.000000 |
| 0:16 0.000000 |
| 0:16 0.000000 |
| 0:16 0.000000 |
| 0:16 0 (const uint) |
| 0:18 Sequence |
| 0:18 move second child to first child ( temp int) |
| 0:18 'x' ( temp int) |
| 0:18 Constant: |
| 0:18 0 (const int) |
| 0:18 Loop with condition tested first |
| 0:18 Loop Condition |
| 0:18 Compare Less Than ( temp bool) |
| 0:18 'x' ( temp int) |
| 0:18 Constant: |
| 0:18 2 (const int) |
| 0:18 Loop Body |
| 0:19 Sequence |
| 0:19 move second child to first child ( temp int) |
| 0:19 'y' ( temp int) |
| 0:19 Constant: |
| 0:19 0 (const int) |
| 0:19 Loop with condition tested first |
| 0:19 Loop Condition |
| 0:19 Compare Less Than ( temp bool) |
| 0:19 'y' ( temp int) |
| 0:19 Constant: |
| 0:19 2 (const int) |
| 0:19 Loop Body |
| 0:20 move second child to first child ( temp structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) |
| 0:20 indirect index ( temp structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) |
| 0:20 indirect index ( temp 3-element array of structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) |
| 0:20 'Verts' ( temp 2-element array of 3-element array of structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) |
| 0:20 'x' ( temp int) |
| 0:20 'y' ( temp int) |
| 0:20 'Out' ( temp structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) |
| 0:19 Loop Terminal Expression |
| 0:19 Pre-Increment ( temp int) |
| 0:19 'y' ( temp int) |
| 0:18 Loop Terminal Expression |
| 0:18 Pre-Increment ( temp int) |
| 0:18 'x' ( temp int) |
| 0:13 Function Definition: main( ( temp void) |
| 0:13 Function Parameters: |
| 0:? Sequence |
| 0:13 move second child to first child ( temp 1-element array of uint) |
| 0:? 'v' ( temp 1-element array of uint) |
| 0:? 'v' (layout( location=0) in 1-element array of uint) |
| 0:13 Function Call: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void) |
| 0:? 'v' ( temp 1-element array of uint) |
| 0:? 'OutputStream' ( temp structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) |
| 0:? Linker Objects |
| 0:? 'v' (layout( location=0) in 1-element array of uint) |
| 0:? 'OutputStream.Pos' ( out 4-component vector of float Position) |
| 0:? 'OutputStream.TexCoord' (layout( location=0) out 2-component vector of float) |
| 0:? 'OutputStream.TerrainPos' (layout( location=1) out 3-component vector of float) |
| 0:? 'OutputStream.VertexID' (layout( location=2) out uint) |
| |
| // Module Version 10000 |
| // Generated by (magic number): 80004 |
| // Id's are bound by 82 |
| |
| Capability Geometry |
| 1: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical GLSL450 |
| EntryPoint Geometry 4 "main" 66 75 77 79 81 |
| ExecutionMode 4 InputPoints |
| ExecutionMode 4 Invocations 1 |
| ExecutionMode 4 OutputTriangleStrip |
| ExecutionMode 4 OutputVertices 4 |
| Source HLSL 500 |
| Name 4 "main" |
| Name 14 "PSInput" |
| MemberName 14(PSInput) 0 "Pos" |
| MemberName 14(PSInput) 1 "TexCoord" |
| MemberName 14(PSInput) 2 "TerrainPos" |
| MemberName 14(PSInput) 3 "VertexID" |
| Name 19 "@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;" |
| Name 17 "v" |
| Name 18 "OutputStream" |
| Name 21 "Out" |
| Name 30 "x" |
| Name 41 "y" |
| Name 54 "Verts" |
| Name 64 "v" |
| Name 66 "v" |
| Name 68 "OutputStream" |
| Name 69 "param" |
| Name 71 "param" |
| Name 75 "OutputStream.Pos" |
| Name 77 "OutputStream.TexCoord" |
| Name 79 "OutputStream.TerrainPos" |
| Name 81 "OutputStream.VertexID" |
| Decorate 66(v) Location 0 |
| Decorate 75(OutputStream.Pos) BuiltIn Position |
| Decorate 77(OutputStream.TexCoord) Location 0 |
| Decorate 79(OutputStream.TerrainPos) Location 1 |
| Decorate 81(OutputStream.VertexID) Location 2 |
| 2: TypeVoid |
| 3: TypeFunction 2 |
| 6: TypeInt 32 0 |
| 7: 6(int) Constant 1 |
| 8: TypeArray 6(int) 7 |
| 9: TypePointer Function 8 |
| 10: TypeFloat 32 |
| 11: TypeVector 10(float) 4 |
| 12: TypeVector 10(float) 2 |
| 13: TypeVector 10(float) 3 |
| 14(PSInput): TypeStruct 11(fvec4) 12(fvec2) 13(fvec3) 6(int) |
| 15: TypePointer Function 14(PSInput) |
| 16: TypeFunction 2 9(ptr) 15(ptr) |
| 22: 10(float) Constant 0 |
| 23: 11(fvec4) ConstantComposite 22 22 22 22 |
| 24: 12(fvec2) ConstantComposite 22 22 |
| 25: 13(fvec3) ConstantComposite 22 22 22 |
| 26: 6(int) Constant 0 |
| 27: 14(PSInput) ConstantComposite 23 24 25 26 |
| 28: TypeInt 32 1 |
| 29: TypePointer Function 28(int) |
| 31: 28(int) Constant 0 |
| 38: 28(int) Constant 2 |
| 39: TypeBool |
| 49: 6(int) Constant 3 |
| 50: TypeArray 14(PSInput) 49 |
| 51: 6(int) Constant 2 |
| 52: TypeArray 50 51 |
| 53: TypePointer Function 52 |
| 60: 28(int) Constant 1 |
| 65: TypePointer Input 8 |
| 66(v): 65(ptr) Variable Input |
| 74: TypePointer Output 11(fvec4) |
| 75(OutputStream.Pos): 74(ptr) Variable Output |
| 76: TypePointer Output 12(fvec2) |
| 77(OutputStream.TexCoord): 76(ptr) Variable Output |
| 78: TypePointer Output 13(fvec3) |
| 79(OutputStream.TerrainPos): 78(ptr) Variable Output |
| 80: TypePointer Output 6(int) |
| 81(OutputStream.VertexID): 80(ptr) Variable Output |
| 4(main): 2 Function None 3 |
| 5: Label |
| 64(v): 9(ptr) Variable Function |
| 68(OutputStream): 15(ptr) Variable Function |
| 69(param): 9(ptr) Variable Function |
| 71(param): 15(ptr) Variable Function |
| 67: 8 Load 66(v) |
| Store 64(v) 67 |
| 70: 8 Load 64(v) |
| Store 69(param) 70 |
| 72: 2 FunctionCall 19(@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;) 69(param) 71(param) |
| 73: 14(PSInput) Load 71(param) |
| Store 68(OutputStream) 73 |
| Return |
| FunctionEnd |
| 19(@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;): 2 Function None 16 |
| 17(v): 9(ptr) FunctionParameter |
| 18(OutputStream): 15(ptr) FunctionParameter |
| 20: Label |
| 21(Out): 15(ptr) Variable Function |
| 30(x): 29(ptr) Variable Function |
| 41(y): 29(ptr) Variable Function |
| 54(Verts): 53(ptr) Variable Function |
| Store 21(Out) 27 |
| Store 30(x) 31 |
| Branch 32 |
| 32: Label |
| LoopMerge 34 35 None |
| Branch 36 |
| 36: Label |
| 37: 28(int) Load 30(x) |
| 40: 39(bool) SLessThan 37 38 |
| BranchConditional 40 33 34 |
| 33: Label |
| Store 41(y) 31 |
| Branch 42 |
| 42: Label |
| LoopMerge 44 45 None |
| Branch 46 |
| 46: Label |
| 47: 28(int) Load 41(y) |
| 48: 39(bool) SLessThan 47 38 |
| BranchConditional 48 43 44 |
| 43: Label |
| 55: 28(int) Load 30(x) |
| 56: 28(int) Load 41(y) |
| 57: 14(PSInput) Load 21(Out) |
| 58: 15(ptr) AccessChain 54(Verts) 55 56 |
| Store 58 57 |
| Branch 45 |
| 45: Label |
| 59: 28(int) Load 41(y) |
| 61: 28(int) IAdd 59 60 |
| Store 41(y) 61 |
| Branch 42 |
| 44: Label |
| Branch 35 |
| 35: Label |
| 62: 28(int) Load 30(x) |
| 63: 28(int) IAdd 62 60 |
| Store 30(x) 63 |
| Branch 32 |
| 34: Label |
| Return |
| FunctionEnd |