1hlsl.struct.split.array.geom 2Shader version: 500 3invocations = -1 4max_vertices = 4 5input primitive = points 6output primitive = triangle_strip 70:? Sequence 80:13 Function Definition: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void) 90:13 Function Parameters: 100:13 'v' ( in 1-element array of uint) 110: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}) 120:? Sequence 130:16 Sequence 140: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}) 150: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}) 160:16 Constant: 170:16 0.000000 180:16 0.000000 190:16 0.000000 200:16 0.000000 210:16 0.000000 220:16 0.000000 230:16 0.000000 240:16 0.000000 250:16 0.000000 260:16 0 (const uint) 270:18 Sequence 280:18 move second child to first child ( temp int) 290:18 'x' ( temp int) 300:18 Constant: 310:18 0 (const int) 320:18 Loop with condition tested first 330:18 Loop Condition 340:18 Compare Less Than ( temp bool) 350:18 'x' ( temp int) 360:18 Constant: 370:18 2 (const int) 380:18 Loop Body 390:19 Sequence 400:19 move second child to first child ( temp int) 410:19 'y' ( temp int) 420:19 Constant: 430:19 0 (const int) 440:19 Loop with condition tested first 450:19 Loop Condition 460:19 Compare Less Than ( temp bool) 470:19 'y' ( temp int) 480:19 Constant: 490:19 2 (const int) 500:19 Loop Body 510: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}) 520: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}) 530: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}) 540: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}) 550:20 'x' ( temp int) 560:20 'y' ( temp int) 570: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}) 580:19 Loop Terminal Expression 590:19 Pre-Increment ( temp int) 600:19 'y' ( temp int) 610:18 Loop Terminal Expression 620:18 Pre-Increment ( temp int) 630:18 'x' ( temp int) 640:13 Function Definition: main( ( temp void) 650:13 Function Parameters: 660:? Sequence 670:13 move second child to first child ( temp 1-element array of uint) 680:? 'v' ( temp 1-element array of uint) 690:? 'v' (layout( location=0) in 1-element array of uint) 700:13 Function Call: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void) 710:? 'v' ( temp 1-element array of uint) 720:? '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}) 730:? Linker Objects 740:? 'v' (layout( location=0) in 1-element array of uint) 750:? 'OutputStream.Pos' ( out 4-component vector of float Position) 760:? 'OutputStream.TexCoord' (layout( location=0) out 2-component vector of float) 770:? 'OutputStream.TerrainPos' (layout( location=1) out 3-component vector of float) 780:? 'OutputStream.VertexID' (layout( location=2) out uint) 79 80 81Linked geometry stage: 82 83 84Shader version: 500 85invocations = 1 86max_vertices = 4 87input primitive = points 88output primitive = triangle_strip 890:? Sequence 900:13 Function Definition: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void) 910:13 Function Parameters: 920:13 'v' ( in 1-element array of uint) 930: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}) 940:? Sequence 950:16 Sequence 960: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}) 970: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}) 980:16 Constant: 990:16 0.000000 1000:16 0.000000 1010:16 0.000000 1020:16 0.000000 1030:16 0.000000 1040:16 0.000000 1050:16 0.000000 1060:16 0.000000 1070:16 0.000000 1080:16 0 (const uint) 1090:18 Sequence 1100:18 move second child to first child ( temp int) 1110:18 'x' ( temp int) 1120:18 Constant: 1130:18 0 (const int) 1140:18 Loop with condition tested first 1150:18 Loop Condition 1160:18 Compare Less Than ( temp bool) 1170:18 'x' ( temp int) 1180:18 Constant: 1190:18 2 (const int) 1200:18 Loop Body 1210:19 Sequence 1220:19 move second child to first child ( temp int) 1230:19 'y' ( temp int) 1240:19 Constant: 1250:19 0 (const int) 1260:19 Loop with condition tested first 1270:19 Loop Condition 1280:19 Compare Less Than ( temp bool) 1290:19 'y' ( temp int) 1300:19 Constant: 1310:19 2 (const int) 1320:19 Loop Body 1330: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}) 1340: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}) 1350: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}) 1360: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}) 1370:20 'x' ( temp int) 1380:20 'y' ( temp int) 1390: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}) 1400:19 Loop Terminal Expression 1410:19 Pre-Increment ( temp int) 1420:19 'y' ( temp int) 1430:18 Loop Terminal Expression 1440:18 Pre-Increment ( temp int) 1450:18 'x' ( temp int) 1460:13 Function Definition: main( ( temp void) 1470:13 Function Parameters: 1480:? Sequence 1490:13 move second child to first child ( temp 1-element array of uint) 1500:? 'v' ( temp 1-element array of uint) 1510:? 'v' (layout( location=0) in 1-element array of uint) 1520:13 Function Call: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void) 1530:? 'v' ( temp 1-element array of uint) 1540:? '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}) 1550:? Linker Objects 1560:? 'v' (layout( location=0) in 1-element array of uint) 1570:? 'OutputStream.Pos' ( out 4-component vector of float Position) 1580:? 'OutputStream.TexCoord' (layout( location=0) out 2-component vector of float) 1590:? 'OutputStream.TerrainPos' (layout( location=1) out 3-component vector of float) 1600:? 'OutputStream.VertexID' (layout( location=2) out uint) 161 162// Module Version 10000 163// Generated by (magic number): 8000a 164// Id's are bound by 82 165 166 Capability Geometry 167 1: ExtInstImport "GLSL.std.450" 168 MemoryModel Logical GLSL450 169 EntryPoint Geometry 4 "main" 66 75 77 79 81 170 ExecutionMode 4 InputPoints 171 ExecutionMode 4 Invocations 1 172 ExecutionMode 4 OutputTriangleStrip 173 ExecutionMode 4 OutputVertices 4 174 Source HLSL 500 175 Name 4 "main" 176 Name 14 "PSInput" 177 MemberName 14(PSInput) 0 "Pos" 178 MemberName 14(PSInput) 1 "TexCoord" 179 MemberName 14(PSInput) 2 "TerrainPos" 180 MemberName 14(PSInput) 3 "VertexID" 181 Name 19 "@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;" 182 Name 17 "v" 183 Name 18 "OutputStream" 184 Name 21 "Out" 185 Name 30 "x" 186 Name 41 "y" 187 Name 54 "Verts" 188 Name 64 "v" 189 Name 66 "v" 190 Name 68 "OutputStream" 191 Name 69 "param" 192 Name 71 "param" 193 Name 75 "OutputStream.Pos" 194 Name 77 "OutputStream.TexCoord" 195 Name 79 "OutputStream.TerrainPos" 196 Name 81 "OutputStream.VertexID" 197 Decorate 66(v) Location 0 198 Decorate 75(OutputStream.Pos) BuiltIn Position 199 Decorate 77(OutputStream.TexCoord) Location 0 200 Decorate 79(OutputStream.TerrainPos) Location 1 201 Decorate 81(OutputStream.VertexID) Location 2 202 2: TypeVoid 203 3: TypeFunction 2 204 6: TypeInt 32 0 205 7: 6(int) Constant 1 206 8: TypeArray 6(int) 7 207 9: TypePointer Function 8 208 10: TypeFloat 32 209 11: TypeVector 10(float) 4 210 12: TypeVector 10(float) 2 211 13: TypeVector 10(float) 3 212 14(PSInput): TypeStruct 11(fvec4) 12(fvec2) 13(fvec3) 6(int) 213 15: TypePointer Function 14(PSInput) 214 16: TypeFunction 2 9(ptr) 15(ptr) 215 22: 10(float) Constant 0 216 23: 11(fvec4) ConstantComposite 22 22 22 22 217 24: 12(fvec2) ConstantComposite 22 22 218 25: 13(fvec3) ConstantComposite 22 22 22 219 26: 6(int) Constant 0 220 27: 14(PSInput) ConstantComposite 23 24 25 26 221 28: TypeInt 32 1 222 29: TypePointer Function 28(int) 223 31: 28(int) Constant 0 224 38: 28(int) Constant 2 225 39: TypeBool 226 49: 6(int) Constant 3 227 50: TypeArray 14(PSInput) 49 228 51: 6(int) Constant 2 229 52: TypeArray 50 51 230 53: TypePointer Function 52 231 60: 28(int) Constant 1 232 65: TypePointer Input 8 233 66(v): 65(ptr) Variable Input 234 74: TypePointer Output 11(fvec4) 23575(OutputStream.Pos): 74(ptr) Variable Output 236 76: TypePointer Output 12(fvec2) 23777(OutputStream.TexCoord): 76(ptr) Variable Output 238 78: TypePointer Output 13(fvec3) 23979(OutputStream.TerrainPos): 78(ptr) Variable Output 240 80: TypePointer Output 6(int) 24181(OutputStream.VertexID): 80(ptr) Variable Output 242 4(main): 2 Function None 3 243 5: Label 244 64(v): 9(ptr) Variable Function 24568(OutputStream): 15(ptr) Variable Function 246 69(param): 9(ptr) Variable Function 247 71(param): 15(ptr) Variable Function 248 67: 8 Load 66(v) 249 Store 64(v) 67 250 70: 8 Load 64(v) 251 Store 69(param) 70 252 72: 2 FunctionCall 19(@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;) 69(param) 71(param) 253 73: 14(PSInput) Load 71(param) 254 Store 68(OutputStream) 73 255 Return 256 FunctionEnd 25719(@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;): 2 Function None 16 258 17(v): 9(ptr) FunctionParameter 25918(OutputStream): 15(ptr) FunctionParameter 260 20: Label 261 21(Out): 15(ptr) Variable Function 262 30(x): 29(ptr) Variable Function 263 41(y): 29(ptr) Variable Function 264 54(Verts): 53(ptr) Variable Function 265 Store 21(Out) 27 266 Store 30(x) 31 267 Branch 32 268 32: Label 269 LoopMerge 34 35 None 270 Branch 36 271 36: Label 272 37: 28(int) Load 30(x) 273 40: 39(bool) SLessThan 37 38 274 BranchConditional 40 33 34 275 33: Label 276 Store 41(y) 31 277 Branch 42 278 42: Label 279 LoopMerge 44 45 None 280 Branch 46 281 46: Label 282 47: 28(int) Load 41(y) 283 48: 39(bool) SLessThan 47 38 284 BranchConditional 48 43 44 285 43: Label 286 55: 28(int) Load 30(x) 287 56: 28(int) Load 41(y) 288 57: 14(PSInput) Load 21(Out) 289 58: 15(ptr) AccessChain 54(Verts) 55 56 290 Store 58 57 291 Branch 45 292 45: Label 293 59: 28(int) Load 41(y) 294 61: 28(int) IAdd 59 60 295 Store 41(y) 61 296 Branch 42 297 44: Label 298 Branch 35 299 35: Label 300 62: 28(int) Load 30(x) 301 63: 28(int) IAdd 62 60 302 Store 30(x) 63 303 Branch 32 304 34: Label 305 Return 306 FunctionEnd 307