1 hlsl.struct.split.array.geom
5 input primitive = points
6 output primitive = triangle_strip
8 0:13 Function Definition: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void)
9 0:13 Function Parameters:
10 0:13 'v' ( in 1-element array of uint)
11 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})
14 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})
15 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})
28 0:18 move second child to first child ( temp int)
32 0:18 Loop with condition tested first
34 0:18 Compare Less Than ( temp bool)
40 0:19 move second child to first child ( temp int)
44 0:19 Loop with condition tested first
46 0:19 Compare Less Than ( temp bool)
51 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})
52 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})
53 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})
54 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})
57 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})
58 0:19 Loop Terminal Expression
59 0:19 Pre-Increment ( temp int)
61 0:18 Loop Terminal Expression
62 0:18 Pre-Increment ( temp int)
64 0:13 Function Definition: main( ( temp void)
65 0:13 Function Parameters:
67 0:13 move second child to first child ( temp 1-element array of uint)
68 0:? 'v' ( temp 1-element array of uint)
69 0:? 'v' (layout( location=0) in 1-element array of uint)
70 0:13 Function Call: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void)
71 0:? 'v' ( temp 1-element array of uint)
72 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})
74 0:? 'v' (layout( location=0) in 1-element array of uint)
75 0:? 'OutputStream' (layout( location=0) out structure{ temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID})
78 Linked geometry stage:
84 input primitive = points
85 output primitive = triangle_strip
87 0:13 Function Definition: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void)
88 0:13 Function Parameters:
89 0:13 'v' ( in 1-element array of uint)
90 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})
93 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})
94 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})
107 0:18 move second child to first child ( temp int)
111 0:18 Loop with condition tested first
113 0:18 Compare Less Than ( temp bool)
119 0:19 move second child to first child ( temp int)
123 0:19 Loop with condition tested first
125 0:19 Compare Less Than ( temp bool)
130 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})
131 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})
132 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})
133 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})
136 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})
137 0:19 Loop Terminal Expression
138 0:19 Pre-Increment ( temp int)
140 0:18 Loop Terminal Expression
141 0:18 Pre-Increment ( temp int)
143 0:13 Function Definition: main( ( temp void)
144 0:13 Function Parameters:
146 0:13 move second child to first child ( temp 1-element array of uint)
147 0:? 'v' ( temp 1-element array of uint)
148 0:? 'v' (layout( location=0) in 1-element array of uint)
149 0:13 Function Call: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void)
150 0:? 'v' ( temp 1-element array of uint)
151 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})
153 0:? 'v' (layout( location=0) in 1-element array of uint)
154 0:? 'OutputStream' (layout( location=0) out structure{ temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID})
156 // Module Version 10000
157 // Generated by (magic number): 80001
158 // Id's are bound by 77
161 1: ExtInstImport "GLSL.std.450"
162 MemoryModel Logical GLSL450
163 EntryPoint Geometry 4 "main" 66 76
164 ExecutionMode 4 InputPoints
165 ExecutionMode 4 Invocations 1
166 ExecutionMode 4 OutputTriangleStrip
167 ExecutionMode 4 OutputVertices 4
170 MemberName 14(PSInput) 0 "Pos"
171 MemberName 14(PSInput) 1 "TexCoord"
172 MemberName 14(PSInput) 2 "TerrainPos"
173 MemberName 14(PSInput) 3 "VertexID"
174 Name 19 "@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;"
176 Name 18 "OutputStream"
183 Name 68 "OutputStream"
187 MemberName 74(PSInput) 0 "TexCoord"
188 MemberName 74(PSInput) 1 "TerrainPos"
189 MemberName 74(PSInput) 2 "VertexID"
190 Name 76 "OutputStream"
191 Decorate 66(v) Location 0
192 Decorate 76(OutputStream) Location 0
197 8: TypeArray 6(int) 7
198 9: TypePointer Function 8
200 11: TypeVector 10(float) 4
201 12: TypeVector 10(float) 2
202 13: TypeVector 10(float) 3
203 14(PSInput): TypeStruct 11(fvec4) 12(fvec2) 13(fvec3) 6(int)
204 15: TypePointer Function 14(PSInput)
205 16: TypeFunction 2 9(ptr) 15(ptr)
206 22: 10(float) Constant 0
207 23: 11(fvec4) ConstantComposite 22 22 22 22
208 24: 12(fvec2) ConstantComposite 22 22
209 25: 13(fvec3) ConstantComposite 22 22 22
210 26: 6(int) Constant 0
211 27: 14(PSInput) ConstantComposite 23 24 25 26
213 29: TypePointer Function 28(int)
214 31: 28(int) Constant 0
215 38: 28(int) Constant 2
217 49: 6(int) Constant 3
218 50: TypeArray 14(PSInput) 49
219 51: 6(int) Constant 2
221 53: TypePointer Function 52
222 60: 28(int) Constant 1
223 65: TypePointer Input 8
224 66(v): 65(ptr) Variable Input
225 74(PSInput): TypeStruct 12(fvec2) 13(fvec3) 6(int)
226 75: TypePointer Output 74(PSInput)
227 76(OutputStream): 75(ptr) Variable Output
228 4(main): 2 Function None 3
230 64(v): 9(ptr) Variable Function
231 68(OutputStream): 15(ptr) Variable Function
232 69(param): 9(ptr) Variable Function
233 71(param): 15(ptr) Variable Function
238 72: 2 FunctionCall 19(@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;) 69(param) 71(param)
239 73: 14(PSInput) Load 71(param)
240 Store 68(OutputStream) 73
243 19(@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;): 2 Function None 16
244 17(v): 9(ptr) FunctionParameter
245 18(OutputStream): 15(ptr) FunctionParameter
247 21(Out): 15(ptr) Variable Function
248 30(x): 29(ptr) Variable Function
249 41(y): 29(ptr) Variable Function
250 54(Verts): 53(ptr) Variable Function
258 37: 28(int) Load 30(x)
259 40: 39(bool) SLessThan 37 38
260 BranchConditional 40 33 34
268 47: 28(int) Load 41(y)
269 48: 39(bool) SLessThan 47 38
270 BranchConditional 48 43 44
272 55: 28(int) Load 30(x)
273 56: 28(int) Load 41(y)
274 57: 14(PSInput) Load 21(Out)
275 58: 15(ptr) AccessChain 54(Verts) 55 56
279 59: 28(int) Load 41(y)
280 61: 28(int) IAdd 59 60
286 62: 28(int) Load 30(x)
287 63: 28(int) IAdd 62 60