1 hlsl.partialFlattenLocal.vert 2 WARNING: AST will form illegal SPIR-V; need to transform to legalize 3 Shader version: 500 4 0:? Sequence 5 0:12 Function Definition: @main(vf4; ( temp 4-component vector of float) 6 0:12 Function Parameters: 7 0:12 'pos' ( in 4-component vector of float) 8 0:? Sequence 9 0:14 move second child to first child ( temp texture2D) 10 0:14 tex: direct index for structure ( temp texture2D) 11 0:14 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n}) 12 0:14 Constant: 13 0:14 0 (const int) 14 0:14 'tex' ( uniform texture2D) 15 0:15 move second child to first child ( temp 3-component vector of float) 16 0:15 direct index ( temp 3-component vector of float) 17 0:15 pos: direct index for structure ( temp 3-element array of 3-component vector of float) 18 0:15 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n}) 19 0:15 Constant: 20 0:15 1 (const int) 21 0:15 Constant: 22 0:15 0 (const int) 23 0:? Constant: 24 0:? 0.000000 25 0:? 0.000000 26 0:? 0.000000 27 0:16 move second child to first child ( temp 2-component vector of float) 28 0:16 direct index ( temp 2-component vector of float) 29 0:16 uv: direct index for structure ( temp 2-element array of 2-component vector of float) 30 0:16 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n}) 31 0:16 Constant: 32 0:16 2 (const int) 33 0:16 Constant: 34 0:16 0 (const int) 35 0:? Constant: 36 0:? 0.000000 37 0:? 1.000000 38 0:17 move second child to first child ( temp float) 39 0:17 x: direct index for structure ( temp float) 40 0:17 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n}) 41 0:17 Constant: 42 0:17 3 (const int) 43 0:17 Constant: 44 0:17 1.000000 45 0:18 move second child to first child ( temp int) 46 0:18 n: direct index for structure ( temp int) 47 0:18 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n}) 48 0:18 Constant: 49 0:18 4 (const int) 50 0:18 Constant: 51 0:18 3 (const int) 52 0:20 Sequence 53 0:20 move second child to first child ( temp int) 54 0:20 'i' ( temp int) 55 0:20 Constant: 56 0:20 0 (const int) 57 0:20 Loop with condition tested first 58 0:20 Loop Condition 59 0:20 Compare Less Than ( temp bool) 60 0:20 'i' ( temp int) 61 0:20 Constant: 62 0:20 1 (const int) 63 0:20 Loop Body 64 0:? Sequence 65 0:21 add second child into first child ( temp 2-component vector of float) 66 0:21 vector swizzle ( temp 2-component vector of float) 67 0:21 indirect index ( temp 3-component vector of float) 68 0:21 pos: direct index for structure ( temp 3-element array of 3-component vector of float) 69 0:21 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n}) 70 0:21 Constant: 71 0:21 1 (const int) 72 0:21 'i' ( temp int) 73 0:21 Sequence 74 0:21 Constant: 75 0:21 0 (const int) 76 0:21 Constant: 77 0:21 1 (const int) 78 0:21 indirect index ( temp 2-component vector of float) 79 0:21 uv: direct index for structure ( temp 2-element array of 2-component vector of float) 80 0:21 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n}) 81 0:21 Constant: 82 0:21 2 (const int) 83 0:21 'i' ( temp int) 84 0:20 Loop Terminal Expression 85 0:20 Pre-Increment ( temp int) 86 0:20 'i' ( temp int) 87 0:24 Sequence 88 0:24 move second child to first child ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n}) 89 0:24 'packed2' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n}) 90 0:24 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n}) 91 0:26 Branch: Return with expression 92 0:26 add ( temp 4-component vector of float) 93 0:26 'pos' ( in 4-component vector of float) 94 0:? Construct vec4 ( temp 4-component vector of float) 95 0:26 direct index ( temp 3-component vector of float) 96 0:26 pos: direct index for structure ( temp 3-element array of 3-component vector of float) 97 0:26 'packed2' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n}) 98 0:26 Constant: 99 0:26 1 (const int) 100 0:26 Constant: 101 0:26 0 (const int) 102 0:26 Constant: 103 0:26 0.000000 104 0:12 Function Definition: main( ( temp void) 105 0:12 Function Parameters: 106 0:? Sequence 107 0:12 move second child to first child ( temp 4-component vector of float) 108 0:? 'pos' ( temp 4-component vector of float) 109 0:? 'pos' (layout( location=0) in 4-component vector of float) 110 0:12 move second child to first child ( temp 4-component vector of float) 111 0:? '@entryPointOutput' ( out 4-component vector of float Position) 112 0:12 Function Call: @main(vf4; ( temp 4-component vector of float) 113 0:? 'pos' ( temp 4-component vector of float) 114 0:? Linker Objects 115 0:? 'tex' ( uniform texture2D) 116 0:? '@entryPointOutput' ( out 4-component vector of float Position) 117 0:? 'pos' (layout( location=0) in 4-component vector of float) 118 119 120 Linked vertex stage: 121 122 123 Shader version: 500 124 0:? Sequence 125 0:12 Function Definition: @main(vf4; ( temp 4-component vector of float) 126 0:12 Function Parameters: 127 0:12 'pos' ( in 4-component vector of float) 128 0:? Sequence 129 0:14 move second child to first child ( temp texture2D) 130 0:14 tex: direct index for structure ( temp texture2D) 131 0:14 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n}) 132 0:14 Constant: 133 0:14 0 (const int) 134 0:14 'tex' ( uniform texture2D) 135 0:15 move second child to first child ( temp 3-component vector of float) 136 0:15 direct index ( temp 3-component vector of float) 137 0:15 pos: direct index for structure ( temp 3-element array of 3-component vector of float) 138 0:15 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n}) 139 0:15 Constant: 140 0:15 1 (const int) 141 0:15 Constant: 142 0:15 0 (const int) 143 0:? Constant: 144 0:? 0.000000 145 0:? 0.000000 146 0:? 0.000000 147 0:16 move second child to first child ( temp 2-component vector of float) 148 0:16 direct index ( temp 2-component vector of float) 149 0:16 uv: direct index for structure ( temp 2-element array of 2-component vector of float) 150 0:16 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n}) 151 0:16 Constant: 152 0:16 2 (const int) 153 0:16 Constant: 154 0:16 0 (const int) 155 0:? Constant: 156 0:? 0.000000 157 0:? 1.000000 158 0:17 move second child to first child ( temp float) 159 0:17 x: direct index for structure ( temp float) 160 0:17 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n}) 161 0:17 Constant: 162 0:17 3 (const int) 163 0:17 Constant: 164 0:17 1.000000 165 0:18 move second child to first child ( temp int) 166 0:18 n: direct index for structure ( temp int) 167 0:18 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n}) 168 0:18 Constant: 169 0:18 4 (const int) 170 0:18 Constant: 171 0:18 3 (const int) 172 0:20 Sequence 173 0:20 move second child to first child ( temp int) 174 0:20 'i' ( temp int) 175 0:20 Constant: 176 0:20 0 (const int) 177 0:20 Loop with condition tested first 178 0:20 Loop Condition 179 0:20 Compare Less Than ( temp bool) 180 0:20 'i' ( temp int) 181 0:20 Constant: 182 0:20 1 (const int) 183 0:20 Loop Body 184 0:? Sequence 185 0:21 add second child into first child ( temp 2-component vector of float) 186 0:21 vector swizzle ( temp 2-component vector of float) 187 0:21 indirect index ( temp 3-component vector of float) 188 0:21 pos: direct index for structure ( temp 3-element array of 3-component vector of float) 189 0:21 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n}) 190 0:21 Constant: 191 0:21 1 (const int) 192 0:21 'i' ( temp int) 193 0:21 Sequence 194 0:21 Constant: 195 0:21 0 (const int) 196 0:21 Constant: 197 0:21 1 (const int) 198 0:21 indirect index ( temp 2-component vector of float) 199 0:21 uv: direct index for structure ( temp 2-element array of 2-component vector of float) 200 0:21 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n}) 201 0:21 Constant: 202 0:21 2 (const int) 203 0:21 'i' ( temp int) 204 0:20 Loop Terminal Expression 205 0:20 Pre-Increment ( temp int) 206 0:20 'i' ( temp int) 207 0:24 Sequence 208 0:24 move second child to first child ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n}) 209 0:24 'packed2' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n}) 210 0:24 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n}) 211 0:26 Branch: Return with expression 212 0:26 add ( temp 4-component vector of float) 213 0:26 'pos' ( in 4-component vector of float) 214 0:? Construct vec4 ( temp 4-component vector of float) 215 0:26 direct index ( temp 3-component vector of float) 216 0:26 pos: direct index for structure ( temp 3-element array of 3-component vector of float) 217 0:26 'packed2' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n}) 218 0:26 Constant: 219 0:26 1 (const int) 220 0:26 Constant: 221 0:26 0 (const int) 222 0:26 Constant: 223 0:26 0.000000 224 0:12 Function Definition: main( ( temp void) 225 0:12 Function Parameters: 226 0:? Sequence 227 0:12 move second child to first child ( temp 4-component vector of float) 228 0:? 'pos' ( temp 4-component vector of float) 229 0:? 'pos' (layout( location=0) in 4-component vector of float) 230 0:12 move second child to first child ( temp 4-component vector of float) 231 0:? '@entryPointOutput' ( out 4-component vector of float Position) 232 0:12 Function Call: @main(vf4; ( temp 4-component vector of float) 233 0:? 'pos' ( temp 4-component vector of float) 234 0:? Linker Objects 235 0:? 'tex' ( uniform texture2D) 236 0:? '@entryPointOutput' ( out 4-component vector of float Position) 237 0:? 'pos' (layout( location=0) in 4-component vector of float) 238 239 // Module Version 10000 240 // Generated by (magic number): 80007 241 // Id's are bound by 90 242 243 Capability Shader 244 1: ExtInstImport "GLSL.std.450" 245 MemoryModel Logical GLSL450 246 EntryPoint Vertex 4 "main" 83 86 247 Source HLSL 500 248 Name 4 "main" 249 Name 11 "@main(vf4;" 250 Name 10 "pos" 251 Name 22 "Packed" 252 MemberName 22(Packed) 0 "tex" 253 MemberName 22(Packed) 1 "pos" 254 MemberName 22(Packed) 2 "uv" 255 MemberName 22(Packed) 3 "x" 256 MemberName 22(Packed) 4 "n" 257 Name 24 "packed" 258 Name 27 "tex" 259 Name 47 "i" 260 Name 69 "packed2" 261 Name 81 "pos" 262 Name 83 "pos" 263 Name 86 "@entryPointOutput" 264 Name 87 "param" 265 Decorate 27(tex) DescriptorSet 0 266 Decorate 27(tex) Binding 0 267 Decorate 83(pos) Location 0 268 Decorate 86(@entryPointOutput) BuiltIn Position 269 2: TypeVoid 270 3: TypeFunction 2 271 6: TypeFloat 32 272 7: TypeVector 6(float) 4 273 8: TypePointer Function 7(fvec4) 274 9: TypeFunction 7(fvec4) 8(ptr) 275 13: TypeImage 6(float) 2D sampled format:Unknown 276 14: TypeVector 6(float) 3 277 15: TypeInt 32 0 278 16: 15(int) Constant 3 279 17: TypeArray 14(fvec3) 16 280 18: TypeVector 6(float) 2 281 19: 15(int) Constant 2 282 20: TypeArray 18(fvec2) 19 283 21: TypeInt 32 1 284 22(Packed): TypeStruct 13 17 20 6(float) 21(int) 285 23: TypePointer Function 22(Packed) 286 25: 21(int) Constant 0 287 26: TypePointer UniformConstant 13 288 27(tex): 26(ptr) Variable UniformConstant 289 29: TypePointer Function 13 290 31: 21(int) Constant 1 291 32: 6(float) Constant 0 292 33: 14(fvec3) ConstantComposite 32 32 32 293 34: TypePointer Function 14(fvec3) 294 36: 21(int) Constant 2 295 37: 6(float) Constant 1065353216 296 38: 18(fvec2) ConstantComposite 32 37 297 39: TypePointer Function 18(fvec2) 298 41: 21(int) Constant 3 299 42: TypePointer Function 6(float) 300 44: 21(int) Constant 4 301 45: TypePointer Function 21(int) 302 54: TypeBool 303 82: TypePointer Input 7(fvec4) 304 83(pos): 82(ptr) Variable Input 305 85: TypePointer Output 7(fvec4) 306 86(@entryPointOutput): 85(ptr) Variable Output 307 4(main): 2 Function None 3 308 5: Label 309 81(pos): 8(ptr) Variable Function 310 87(param): 8(ptr) Variable Function 311 84: 7(fvec4) Load 83(pos) 312 Store 81(pos) 84 313 88: 7(fvec4) Load 81(pos) 314 Store 87(param) 88 315 89: 7(fvec4) FunctionCall 11(@main(vf4;) 87(param) 316 Store 86(@entryPointOutput) 89 317 Return 318 FunctionEnd 319 11(@main(vf4;): 7(fvec4) Function None 9 320 10(pos): 8(ptr) FunctionParameter 321 12: Label 322 24(packed): 23(ptr) Variable Function 323 47(i): 45(ptr) Variable Function 324 69(packed2): 23(ptr) Variable Function 325 28: 13 Load 27(tex) 326 30: 29(ptr) AccessChain 24(packed) 25 327 Store 30 28 328 35: 34(ptr) AccessChain 24(packed) 31 25 329 Store 35 33 330 40: 39(ptr) AccessChain 24(packed) 36 25 331 Store 40 38 332 43: 42(ptr) AccessChain 24(packed) 41 333 Store 43 37 334 46: 45(ptr) AccessChain 24(packed) 44 335 Store 46 41 336 Store 47(i) 25 337 Branch 48 338 48: Label 339 LoopMerge 50 51 None 340 Branch 52 341 52: Label 342 53: 21(int) Load 47(i) 343 55: 54(bool) SLessThan 53 31 344 BranchConditional 55 49 50 345 49: Label 346 56: 21(int) Load 47(i) 347 57: 21(int) Load 47(i) 348 58: 39(ptr) AccessChain 24(packed) 36 57 349 59: 18(fvec2) Load 58 350 60: 34(ptr) AccessChain 24(packed) 31 56 351 61: 14(fvec3) Load 60 352 62: 18(fvec2) VectorShuffle 61 61 0 1 353 63: 18(fvec2) FAdd 62 59 354 64: 34(ptr) AccessChain 24(packed) 31 56 355 65: 14(fvec3) Load 64 356 66: 14(fvec3) VectorShuffle 65 63 3 4 2 357 Store 64 66 358 Branch 51 359 51: Label 360 67: 21(int) Load 47(i) 361 68: 21(int) IAdd 67 31 362 Store 47(i) 68 363 Branch 48 364 50: Label 365 70: 22(Packed) Load 24(packed) 366 Store 69(packed2) 70 367 71: 7(fvec4) Load 10(pos) 368 72: 34(ptr) AccessChain 69(packed2) 31 25 369 73: 14(fvec3) Load 72 370 74: 6(float) CompositeExtract 73 0 371 75: 6(float) CompositeExtract 73 1 372 76: 6(float) CompositeExtract 73 2 373 77: 7(fvec4) CompositeConstruct 74 75 76 32 374 78: 7(fvec4) FAdd 71 77 375 ReturnValue 78 376 FunctionEnd 377