1 hlsl.struct.split.array.geom 2 Shader version: 500 3 invocations = -1 4 max_vertices = 4 5 input primitive = points 6 output primitive = triangle_strip 7 0:? Sequence 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}) 12 0:? Sequence 13 0:16 Sequence 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}) 16 0:16 Constant: 17 0:16 0.000000 18 0:16 0.000000 19 0:16 0.000000 20 0:16 0.000000 21 0:16 0.000000 22 0:16 0.000000 23 0:16 0.000000 24 0:16 0.000000 25 0:16 0.000000 26 0:16 0 (const uint) 27 0:18 Sequence 28 0:18 move second child to first child ( temp int) 29 0:18 'x' ( temp int) 30 0:18 Constant: 31 0:18 0 (const int) 32 0:18 Loop with condition tested first 33 0:18 Loop Condition 34 0:18 Compare Less Than ( temp bool) 35 0:18 'x' ( temp int) 36 0:18 Constant: 37 0:18 2 (const int) 38 0:18 Loop Body 39 0:19 Sequence 40 0:19 move second child to first child ( temp int) 41 0:19 'y' ( temp int) 42 0:19 Constant: 43 0:19 0 (const int) 44 0:19 Loop with condition tested first 45 0:19 Loop Condition 46 0:19 Compare Less Than ( temp bool) 47 0:19 'y' ( temp int) 48 0:19 Constant: 49 0:19 2 (const int) 50 0:19 Loop Body 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}) 55 0:20 'x' ( temp int) 56 0:20 'y' ( temp int) 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) 60 0:19 'y' ( temp int) 61 0:18 Loop Terminal Expression 62 0:18 Pre-Increment ( temp int) 63 0:18 'x' ( temp int) 64 0:13 Function Definition: main( ( temp void) 65 0:13 Function Parameters: 66 0:? Sequence 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}) 73 0:? Linker Objects 74 0:? 'v' (layout( location=0) in 1-element array of uint) 75 0:? 'OutputStream.Pos' ( out 4-component vector of float Position) 76 0:? 'OutputStream.TexCoord' (layout( location=0) out 2-component vector of float) 77 0:? 'OutputStream.TerrainPos' (layout( location=1) out 3-component vector of float) 78 0:? 'OutputStream.VertexID' (layout( location=2) out uint) 79 80 81 Linked geometry stage: 82 83 84 Shader version: 500 85 invocations = 1 86 max_vertices = 4 87 input primitive = points 88 output primitive = triangle_strip 89 0:? Sequence 90 0:13 Function Definition: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void) 91 0:13 Function Parameters: 92 0:13 'v' ( in 1-element array of uint) 93 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}) 94 0:? Sequence 95 0:16 Sequence 96 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}) 97 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}) 98 0:16 Constant: 99 0:16 0.000000 100 0:16 0.000000 101 0:16 0.000000 102 0:16 0.000000 103 0:16 0.000000 104 0:16 0.000000 105 0:16 0.000000 106 0:16 0.000000 107 0:16 0.000000 108 0:16 0 (const uint) 109 0:18 Sequence 110 0:18 move second child to first child ( temp int) 111 0:18 'x' ( temp int) 112 0:18 Constant: 113 0:18 0 (const int) 114 0:18 Loop with condition tested first 115 0:18 Loop Condition 116 0:18 Compare Less Than ( temp bool) 117 0:18 'x' ( temp int) 118 0:18 Constant: 119 0:18 2 (const int) 120 0:18 Loop Body 121 0:19 Sequence 122 0:19 move second child to first child ( temp int) 123 0:19 'y' ( temp int) 124 0:19 Constant: 125 0:19 0 (const int) 126 0:19 Loop with condition tested first 127 0:19 Loop Condition 128 0:19 Compare Less Than ( temp bool) 129 0:19 'y' ( temp int) 130 0:19 Constant: 131 0:19 2 (const int) 132 0:19 Loop Body 133 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}) 134 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}) 135 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}) 136 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}) 137 0:20 'x' ( temp int) 138 0:20 'y' ( temp int) 139 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}) 140 0:19 Loop Terminal Expression 141 0:19 Pre-Increment ( temp int) 142 0:19 'y' ( temp int) 143 0:18 Loop Terminal Expression 144 0:18 Pre-Increment ( temp int) 145 0:18 'x' ( temp int) 146 0:13 Function Definition: main( ( temp void) 147 0:13 Function Parameters: 148 0:? Sequence 149 0:13 move second child to first child ( temp 1-element array of uint) 150 0:? 'v' ( temp 1-element array of uint) 151 0:? 'v' (layout( location=0) in 1-element array of uint) 152 0:13 Function Call: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void) 153 0:? 'v' ( temp 1-element array of uint) 154 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}) 155 0:? Linker Objects 156 0:? 'v' (layout( location=0) in 1-element array of uint) 157 0:? 'OutputStream.Pos' ( out 4-component vector of float Position) 158 0:? 'OutputStream.TexCoord' (layout( location=0) out 2-component vector of float) 159 0:? 'OutputStream.TerrainPos' (layout( location=1) out 3-component vector of float) 160 0:? 'OutputStream.VertexID' (layout( location=2) out uint) 161 162 // Module Version 10000 163 // Generated by (magic number): 80007 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) 235 75(OutputStream.Pos): 74(ptr) Variable Output 236 76: TypePointer Output 12(fvec2) 237 77(OutputStream.TexCoord): 76(ptr) Variable Output 238 78: TypePointer Output 13(fvec3) 239 79(OutputStream.TerrainPos): 78(ptr) Variable Output 240 80: TypePointer Output 6(int) 241 81(OutputStream.VertexID): 80(ptr) Variable Output 242 4(main): 2 Function None 3 243 5: Label 244 64(v): 9(ptr) Variable Function 245 68(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 257 19(@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;): 2 Function None 16 258 17(v): 9(ptr) FunctionParameter 259 18(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