1 hlsl.array.flatten.frag 2 WARNING: AST will form illegal SPIR-V; need to transform to legalize 3 Shader version: 500 4 gl_FragCoord origin is upper left 5 0:? Sequence 6 0:17 Function Definition: TestFn1( ( temp 4-component vector of float) 7 0:17 Function Parameters: 8 0:? Sequence 9 0:18 Branch: Return with expression 10 0:18 texture ( temp 4-component vector of float) 11 0:18 Construct combined texture-sampler ( temp sampler1D) 12 0:? 'g_tex[1]' ( uniform texture1D) 13 0:? 'g_samp[1]' ( uniform sampler) 14 0:18 Constant: 15 0:18 0.200000 16 0:22 Function Definition: TestFn2(t11[3];p1[3]; ( temp 4-component vector of float) 17 0:22 Function Parameters: 18 0:22 'l_tex' ( in 3-element array of texture1D) 19 0:22 'l_samp' ( in 3-element array of sampler) 20 0:? Sequence 21 0:23 Branch: Return with expression 22 0:23 texture ( temp 4-component vector of float) 23 0:23 Construct combined texture-sampler ( temp sampler1D) 24 0:23 direct index ( temp texture1D) 25 0:23 'l_tex' ( in 3-element array of texture1D) 26 0:23 Constant: 27 0:23 2 (const int) 28 0:23 direct index ( temp sampler) 29 0:23 'l_samp' ( in 3-element array of sampler) 30 0:23 Constant: 31 0:23 2 (const int) 32 0:23 Constant: 33 0:23 0.200000 34 0:26 Sequence 35 0:26 move second child to first child ( temp 5-element array of int) 36 0:26 'not_flattened_a' ( global 5-element array of int) 37 0:26 Constant: 38 0:26 1 (const int) 39 0:26 2 (const int) 40 0:26 3 (const int) 41 0:26 4 (const int) 42 0:26 5 (const int) 43 0:31 Function Definition: @main(struct-PS_OUTPUT-vf41; ( temp void) 44 0:31 Function Parameters: 45 0:31 'ps_output' ( out structure{ temp 4-component vector of float color}) 46 0:? Sequence 47 0:33 Sequence 48 0:33 Sequence 49 0:33 move second child to first child ( temp sampler) 50 0:33 direct index ( temp sampler) 51 0:33 'local_sampler_array' ( temp 3-element array of sampler) 52 0:33 Constant: 53 0:33 0 (const int) 54 0:? 'g_samp[0]' ( uniform sampler) 55 0:33 move second child to first child ( temp sampler) 56 0:33 direct index ( temp sampler) 57 0:33 'local_sampler_array' ( temp 3-element array of sampler) 58 0:33 Constant: 59 0:33 1 (const int) 60 0:? 'g_samp[1]' ( uniform sampler) 61 0:33 move second child to first child ( temp sampler) 62 0:33 direct index ( temp sampler) 63 0:33 'local_sampler_array' ( temp 3-element array of sampler) 64 0:33 Constant: 65 0:33 2 (const int) 66 0:? 'g_samp[2]' ( uniform sampler) 67 0:34 Sequence 68 0:34 Sequence 69 0:34 move second child to first child ( temp texture1D) 70 0:34 direct index ( temp texture1D) 71 0:34 'local_texture_array' ( temp 3-element array of texture1D) 72 0:34 Constant: 73 0:34 0 (const int) 74 0:? 'g_tex[0]' ( uniform texture1D) 75 0:34 move second child to first child ( temp texture1D) 76 0:34 direct index ( temp texture1D) 77 0:34 'local_texture_array' ( temp 3-element array of texture1D) 78 0:34 Constant: 79 0:34 1 (const int) 80 0:? 'g_tex[1]' ( uniform texture1D) 81 0:34 move second child to first child ( temp texture1D) 82 0:34 direct index ( temp texture1D) 83 0:34 'local_texture_array' ( temp 3-element array of texture1D) 84 0:34 Constant: 85 0:34 2 (const int) 86 0:? 'g_tex[2]' ( uniform texture1D) 87 0:35 Sequence 88 0:35 move second child to first child ( temp 4-element array of float) 89 0:35 'local_float_array' ( temp 4-element array of float) 90 0:35 g_floats: direct index for structure ( uniform 4-element array of float) 91 0:35 'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 3X3 matrix of float g_mats, layout( binding=10) uniform 4-element array of 3X3 matrix of float g_mats_explicit, uniform 4-element array of float g_floats}) 92 0:35 Constant: 93 0:35 2 (const uint) 94 0:37 move second child to first child ( temp 4-component vector of float) 95 0:37 color: direct index for structure ( temp 4-component vector of float) 96 0:37 'ps_output' ( out structure{ temp 4-component vector of float color}) 97 0:37 Constant: 98 0:37 0 (const int) 99 0:37 add ( temp 4-component vector of float) 100 0:37 Function Call: TestFn1( ( temp 4-component vector of float) 101 0:37 Function Call: TestFn2(t11[3];p1[3]; ( temp 4-component vector of float) 102 0:37 Comma ( temp 3-element array of texture1D) 103 0:37 Sequence 104 0:37 move second child to first child ( temp texture1D) 105 0:37 direct index ( temp texture1D) 106 0:37 'aggShadow' ( temp 3-element array of texture1D) 107 0:37 Constant: 108 0:37 0 (const int) 109 0:? 'g_tex[0]' ( uniform texture1D) 110 0:37 move second child to first child ( temp texture1D) 111 0:37 direct index ( temp texture1D) 112 0:37 'aggShadow' ( temp 3-element array of texture1D) 113 0:37 Constant: 114 0:37 1 (const int) 115 0:? 'g_tex[1]' ( uniform texture1D) 116 0:37 move second child to first child ( temp texture1D) 117 0:37 direct index ( temp texture1D) 118 0:37 'aggShadow' ( temp 3-element array of texture1D) 119 0:37 Constant: 120 0:37 2 (const int) 121 0:? 'g_tex[2]' ( uniform texture1D) 122 0:37 'aggShadow' ( temp 3-element array of texture1D) 123 0:37 Comma ( temp 3-element array of sampler) 124 0:37 Sequence 125 0:37 move second child to first child ( temp sampler) 126 0:37 direct index ( temp sampler) 127 0:37 'aggShadow' ( temp 3-element array of sampler) 128 0:37 Constant: 129 0:37 0 (const int) 130 0:? 'g_samp[0]' ( uniform sampler) 131 0:37 move second child to first child ( temp sampler) 132 0:37 direct index ( temp sampler) 133 0:37 'aggShadow' ( temp 3-element array of sampler) 134 0:37 Constant: 135 0:37 1 (const int) 136 0:? 'g_samp[1]' ( uniform sampler) 137 0:37 move second child to first child ( temp sampler) 138 0:37 direct index ( temp sampler) 139 0:37 'aggShadow' ( temp 3-element array of sampler) 140 0:37 Constant: 141 0:37 2 (const int) 142 0:? 'g_samp[2]' ( uniform sampler) 143 0:37 'aggShadow' ( temp 3-element array of sampler) 144 0:31 Function Definition: main( ( temp void) 145 0:31 Function Parameters: 146 0:? Sequence 147 0:31 Function Call: @main(struct-PS_OUTPUT-vf41; ( temp void) 148 0:? 'ps_output' ( temp structure{ temp 4-component vector of float color}) 149 0:31 Sequence 150 0:31 move second child to first child ( temp 4-component vector of float) 151 0:? 'ps_output.color' (layout( location=0) out 4-component vector of float) 152 0:31 color: direct index for structure ( temp 4-component vector of float) 153 0:? 'ps_output' ( temp structure{ temp 4-component vector of float color}) 154 0:31 Constant: 155 0:31 0 (const int) 156 0:? Linker Objects 157 0:? 'g_tex[0]' ( uniform texture1D) 158 0:? 'g_tex[1]' ( uniform texture1D) 159 0:? 'g_tex[2]' ( uniform texture1D) 160 0:? 'g_tex_explicit[0]' (layout( binding=1) uniform texture1D) 161 0:? 'g_tex_explicit[1]' (layout( binding=2) uniform texture1D) 162 0:? 'g_tex_explicit[2]' (layout( binding=3) uniform texture1D) 163 0:? 'g_samp[0]' ( uniform sampler) 164 0:? 'g_samp[1]' ( uniform sampler) 165 0:? 'g_samp[2]' ( uniform sampler) 166 0:? 'g_samp_explicit[0]' (layout( binding=5) uniform sampler) 167 0:? 'g_samp_explicit[1]' (layout( binding=6) uniform sampler) 168 0:? 'g_samp_explicit[2]' (layout( binding=7) uniform sampler) 169 0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 3X3 matrix of float g_mats, layout( binding=10) uniform 4-element array of 3X3 matrix of float g_mats_explicit, uniform 4-element array of float g_floats}) 170 0:? 'not_flattened_a' ( global 5-element array of int) 171 0:? 'ps_output.color' (layout( location=0) out 4-component vector of float) 172 173 174 Linked fragment stage: 175 176 177 Shader version: 500 178 gl_FragCoord origin is upper left 179 0:? Sequence 180 0:17 Function Definition: TestFn1( ( temp 4-component vector of float) 181 0:17 Function Parameters: 182 0:? Sequence 183 0:18 Branch: Return with expression 184 0:18 texture ( temp 4-component vector of float) 185 0:18 Construct combined texture-sampler ( temp sampler1D) 186 0:? 'g_tex[1]' ( uniform texture1D) 187 0:? 'g_samp[1]' ( uniform sampler) 188 0:18 Constant: 189 0:18 0.200000 190 0:22 Function Definition: TestFn2(t11[3];p1[3]; ( temp 4-component vector of float) 191 0:22 Function Parameters: 192 0:22 'l_tex' ( in 3-element array of texture1D) 193 0:22 'l_samp' ( in 3-element array of sampler) 194 0:? Sequence 195 0:23 Branch: Return with expression 196 0:23 texture ( temp 4-component vector of float) 197 0:23 Construct combined texture-sampler ( temp sampler1D) 198 0:23 direct index ( temp texture1D) 199 0:23 'l_tex' ( in 3-element array of texture1D) 200 0:23 Constant: 201 0:23 2 (const int) 202 0:23 direct index ( temp sampler) 203 0:23 'l_samp' ( in 3-element array of sampler) 204 0:23 Constant: 205 0:23 2 (const int) 206 0:23 Constant: 207 0:23 0.200000 208 0:26 Sequence 209 0:26 move second child to first child ( temp 5-element array of int) 210 0:26 'not_flattened_a' ( global 5-element array of int) 211 0:26 Constant: 212 0:26 1 (const int) 213 0:26 2 (const int) 214 0:26 3 (const int) 215 0:26 4 (const int) 216 0:26 5 (const int) 217 0:31 Function Definition: @main(struct-PS_OUTPUT-vf41; ( temp void) 218 0:31 Function Parameters: 219 0:31 'ps_output' ( out structure{ temp 4-component vector of float color}) 220 0:? Sequence 221 0:33 Sequence 222 0:33 Sequence 223 0:33 move second child to first child ( temp sampler) 224 0:33 direct index ( temp sampler) 225 0:33 'local_sampler_array' ( temp 3-element array of sampler) 226 0:33 Constant: 227 0:33 0 (const int) 228 0:? 'g_samp[0]' ( uniform sampler) 229 0:33 move second child to first child ( temp sampler) 230 0:33 direct index ( temp sampler) 231 0:33 'local_sampler_array' ( temp 3-element array of sampler) 232 0:33 Constant: 233 0:33 1 (const int) 234 0:? 'g_samp[1]' ( uniform sampler) 235 0:33 move second child to first child ( temp sampler) 236 0:33 direct index ( temp sampler) 237 0:33 'local_sampler_array' ( temp 3-element array of sampler) 238 0:33 Constant: 239 0:33 2 (const int) 240 0:? 'g_samp[2]' ( uniform sampler) 241 0:34 Sequence 242 0:34 Sequence 243 0:34 move second child to first child ( temp texture1D) 244 0:34 direct index ( temp texture1D) 245 0:34 'local_texture_array' ( temp 3-element array of texture1D) 246 0:34 Constant: 247 0:34 0 (const int) 248 0:? 'g_tex[0]' ( uniform texture1D) 249 0:34 move second child to first child ( temp texture1D) 250 0:34 direct index ( temp texture1D) 251 0:34 'local_texture_array' ( temp 3-element array of texture1D) 252 0:34 Constant: 253 0:34 1 (const int) 254 0:? 'g_tex[1]' ( uniform texture1D) 255 0:34 move second child to first child ( temp texture1D) 256 0:34 direct index ( temp texture1D) 257 0:34 'local_texture_array' ( temp 3-element array of texture1D) 258 0:34 Constant: 259 0:34 2 (const int) 260 0:? 'g_tex[2]' ( uniform texture1D) 261 0:35 Sequence 262 0:35 move second child to first child ( temp 4-element array of float) 263 0:35 'local_float_array' ( temp 4-element array of float) 264 0:35 g_floats: direct index for structure ( uniform 4-element array of float) 265 0:35 'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 3X3 matrix of float g_mats, layout( binding=10) uniform 4-element array of 3X3 matrix of float g_mats_explicit, uniform 4-element array of float g_floats}) 266 0:35 Constant: 267 0:35 2 (const uint) 268 0:37 move second child to first child ( temp 4-component vector of float) 269 0:37 color: direct index for structure ( temp 4-component vector of float) 270 0:37 'ps_output' ( out structure{ temp 4-component vector of float color}) 271 0:37 Constant: 272 0:37 0 (const int) 273 0:37 add ( temp 4-component vector of float) 274 0:37 Function Call: TestFn1( ( temp 4-component vector of float) 275 0:37 Function Call: TestFn2(t11[3];p1[3]; ( temp 4-component vector of float) 276 0:37 Comma ( temp 3-element array of texture1D) 277 0:37 Sequence 278 0:37 move second child to first child ( temp texture1D) 279 0:37 direct index ( temp texture1D) 280 0:37 'aggShadow' ( temp 3-element array of texture1D) 281 0:37 Constant: 282 0:37 0 (const int) 283 0:? 'g_tex[0]' ( uniform texture1D) 284 0:37 move second child to first child ( temp texture1D) 285 0:37 direct index ( temp texture1D) 286 0:37 'aggShadow' ( temp 3-element array of texture1D) 287 0:37 Constant: 288 0:37 1 (const int) 289 0:? 'g_tex[1]' ( uniform texture1D) 290 0:37 move second child to first child ( temp texture1D) 291 0:37 direct index ( temp texture1D) 292 0:37 'aggShadow' ( temp 3-element array of texture1D) 293 0:37 Constant: 294 0:37 2 (const int) 295 0:? 'g_tex[2]' ( uniform texture1D) 296 0:37 'aggShadow' ( temp 3-element array of texture1D) 297 0:37 Comma ( temp 3-element array of sampler) 298 0:37 Sequence 299 0:37 move second child to first child ( temp sampler) 300 0:37 direct index ( temp sampler) 301 0:37 'aggShadow' ( temp 3-element array of sampler) 302 0:37 Constant: 303 0:37 0 (const int) 304 0:? 'g_samp[0]' ( uniform sampler) 305 0:37 move second child to first child ( temp sampler) 306 0:37 direct index ( temp sampler) 307 0:37 'aggShadow' ( temp 3-element array of sampler) 308 0:37 Constant: 309 0:37 1 (const int) 310 0:? 'g_samp[1]' ( uniform sampler) 311 0:37 move second child to first child ( temp sampler) 312 0:37 direct index ( temp sampler) 313 0:37 'aggShadow' ( temp 3-element array of sampler) 314 0:37 Constant: 315 0:37 2 (const int) 316 0:? 'g_samp[2]' ( uniform sampler) 317 0:37 'aggShadow' ( temp 3-element array of sampler) 318 0:31 Function Definition: main( ( temp void) 319 0:31 Function Parameters: 320 0:? Sequence 321 0:31 Function Call: @main(struct-PS_OUTPUT-vf41; ( temp void) 322 0:? 'ps_output' ( temp structure{ temp 4-component vector of float color}) 323 0:31 Sequence 324 0:31 move second child to first child ( temp 4-component vector of float) 325 0:? 'ps_output.color' (layout( location=0) out 4-component vector of float) 326 0:31 color: direct index for structure ( temp 4-component vector of float) 327 0:? 'ps_output' ( temp structure{ temp 4-component vector of float color}) 328 0:31 Constant: 329 0:31 0 (const int) 330 0:? Linker Objects 331 0:? 'g_tex[0]' ( uniform texture1D) 332 0:? 'g_tex[1]' ( uniform texture1D) 333 0:? 'g_tex[2]' ( uniform texture1D) 334 0:? 'g_tex_explicit[0]' (layout( binding=1) uniform texture1D) 335 0:? 'g_tex_explicit[1]' (layout( binding=2) uniform texture1D) 336 0:? 'g_tex_explicit[2]' (layout( binding=3) uniform texture1D) 337 0:? 'g_samp[0]' ( uniform sampler) 338 0:? 'g_samp[1]' ( uniform sampler) 339 0:? 'g_samp[2]' ( uniform sampler) 340 0:? 'g_samp_explicit[0]' (layout( binding=5) uniform sampler) 341 0:? 'g_samp_explicit[1]' (layout( binding=6) uniform sampler) 342 0:? 'g_samp_explicit[2]' (layout( binding=7) uniform sampler) 343 0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 3X3 matrix of float g_mats, layout( binding=10) uniform 4-element array of 3X3 matrix of float g_mats_explicit, uniform 4-element array of float g_floats}) 344 0:? 'not_flattened_a' ( global 5-element array of int) 345 0:? 'ps_output.color' (layout( location=0) out 4-component vector of float) 346 347 // Module Version 10000 348 // Generated by (magic number): 80007 349 // Id's are bound by 143 350 351 Capability Shader 352 Capability Sampled1D 353 1: ExtInstImport "GLSL.std.450" 354 MemoryModel Logical GLSL450 355 EntryPoint Fragment 4 "main" 134 356 ExecutionMode 4 OriginUpperLeft 357 Source HLSL 500 358 Name 4 "main" 359 Name 9 "TestFn1(" 360 Name 22 "TestFn2(t11[3];p1[3];" 361 Name 20 "l_tex" 362 Name 21 "l_samp" 363 Name 24 "PS_OUTPUT" 364 MemberName 24(PS_OUTPUT) 0 "color" 365 Name 28 "@main(struct-PS_OUTPUT-vf41;" 366 Name 27 "ps_output" 367 Name 34 "not_flattened_a" 368 Name 42 "g_tex[1]" 369 Name 45 "g_samp[1]" 370 Name 63 "local_sampler_array" 371 Name 65 "g_samp[0]" 372 Name 70 "g_samp[2]" 373 Name 73 "local_texture_array" 374 Name 74 "g_tex[0]" 375 Name 79 "g_tex[2]" 376 Name 85 "local_float_array" 377 Name 91 "$Global" 378 MemberName 91($Global) 0 "g_mats" 379 MemberName 91($Global) 1 "g_mats_explicit" 380 MemberName 91($Global) 2 "g_floats" 381 Name 93 "" 382 Name 107 "aggShadow" 383 Name 114 "aggShadow" 384 Name 121 "param" 385 Name 123 "param" 386 Name 129 "ps_output" 387 Name 130 "param" 388 Name 134 "ps_output.color" 389 Name 137 "g_tex_explicit[0]" 390 Name 138 "g_tex_explicit[1]" 391 Name 139 "g_tex_explicit[2]" 392 Name 140 "g_samp_explicit[0]" 393 Name 141 "g_samp_explicit[1]" 394 Name 142 "g_samp_explicit[2]" 395 Decorate 42(g_tex[1]) DescriptorSet 0 396 Decorate 42(g_tex[1]) Binding 0 397 Decorate 45(g_samp[1]) DescriptorSet 0 398 Decorate 45(g_samp[1]) Binding 0 399 Decorate 65(g_samp[0]) DescriptorSet 0 400 Decorate 65(g_samp[0]) Binding 0 401 Decorate 70(g_samp[2]) DescriptorSet 0 402 Decorate 70(g_samp[2]) Binding 0 403 Decorate 74(g_tex[0]) DescriptorSet 0 404 Decorate 74(g_tex[0]) Binding 0 405 Decorate 79(g_tex[2]) DescriptorSet 0 406 Decorate 79(g_tex[2]) Binding 0 407 Decorate 88 ArrayStride 48 408 Decorate 89 ArrayStride 48 409 Decorate 90 ArrayStride 16 410 MemberDecorate 91($Global) 0 RowMajor 411 MemberDecorate 91($Global) 0 Offset 0 412 MemberDecorate 91($Global) 0 MatrixStride 16 413 MemberDecorate 91($Global) 1 RowMajor 414 MemberDecorate 91($Global) 1 Offset 192 415 MemberDecorate 91($Global) 1 MatrixStride 16 416 MemberDecorate 91($Global) 2 Offset 384 417 Decorate 91($Global) Block 418 Decorate 93 DescriptorSet 0 419 Decorate 93 Binding 0 420 Decorate 134(ps_output.color) Location 0 421 Decorate 137(g_tex_explicit[0]) DescriptorSet 0 422 Decorate 137(g_tex_explicit[0]) Binding 1 423 Decorate 138(g_tex_explicit[1]) DescriptorSet 0 424 Decorate 138(g_tex_explicit[1]) Binding 2 425 Decorate 139(g_tex_explicit[2]) DescriptorSet 0 426 Decorate 139(g_tex_explicit[2]) Binding 3 427 Decorate 140(g_samp_explicit[0]) DescriptorSet 0 428 Decorate 140(g_samp_explicit[0]) Binding 5 429 Decorate 141(g_samp_explicit[1]) DescriptorSet 0 430 Decorate 141(g_samp_explicit[1]) Binding 6 431 Decorate 142(g_samp_explicit[2]) DescriptorSet 0 432 Decorate 142(g_samp_explicit[2]) Binding 7 433 2: TypeVoid 434 3: TypeFunction 2 435 6: TypeFloat 32 436 7: TypeVector 6(float) 4 437 8: TypeFunction 7(fvec4) 438 11: TypeImage 6(float) 1D sampled format:Unknown 439 12: TypeInt 32 0 440 13: 12(int) Constant 3 441 14: TypeArray 11 13 442 15: TypePointer Function 14 443 16: TypeSampler 444 17: TypeArray 16 13 445 18: TypePointer Function 17 446 19: TypeFunction 7(fvec4) 15(ptr) 18(ptr) 447 24(PS_OUTPUT): TypeStruct 7(fvec4) 448 25: TypePointer Function 24(PS_OUTPUT) 449 26: TypeFunction 2 25(ptr) 450 30: TypeInt 32 1 451 31: 12(int) Constant 5 452 32: TypeArray 30(int) 31 453 33: TypePointer Private 32 454 34(not_flattened_a): 33(ptr) Variable Private 455 35: 30(int) Constant 1 456 36: 30(int) Constant 2 457 37: 30(int) Constant 3 458 38: 30(int) Constant 4 459 39: 30(int) Constant 5 460 40: 32 ConstantComposite 35 36 37 38 39 461 41: TypePointer UniformConstant 11 462 42(g_tex[1]): 41(ptr) Variable UniformConstant 463 44: TypePointer UniformConstant 16 464 45(g_samp[1]): 44(ptr) Variable UniformConstant 465 47: TypeSampledImage 11 466 49: 6(float) Constant 1045220557 467 53: TypePointer Function 11 468 56: TypePointer Function 16 469 64: 30(int) Constant 0 470 65(g_samp[0]): 44(ptr) Variable UniformConstant 471 70(g_samp[2]): 44(ptr) Variable UniformConstant 472 74(g_tex[0]): 41(ptr) Variable UniformConstant 473 79(g_tex[2]): 41(ptr) Variable UniformConstant 474 82: 12(int) Constant 4 475 83: TypeArray 6(float) 82 476 84: TypePointer Function 83 477 86: TypeVector 6(float) 3 478 87: TypeMatrix 86(fvec3) 3 479 88: TypeArray 87 82 480 89: TypeArray 87 82 481 90: TypeArray 6(float) 82 482 91($Global): TypeStruct 88 89 90 483 92: TypePointer Uniform 91($Global) 484 93: 92(ptr) Variable Uniform 485 94: TypePointer Uniform 90 486 98: TypePointer Function 6(float) 487 127: TypePointer Function 7(fvec4) 488 133: TypePointer Output 7(fvec4) 489 134(ps_output.color): 133(ptr) Variable Output 490 137(g_tex_explicit[0]): 41(ptr) Variable UniformConstant 491 138(g_tex_explicit[1]): 41(ptr) Variable UniformConstant 492 139(g_tex_explicit[2]): 41(ptr) Variable UniformConstant 493 140(g_samp_explicit[0]): 44(ptr) Variable UniformConstant 494 141(g_samp_explicit[1]): 44(ptr) Variable UniformConstant 495 142(g_samp_explicit[2]): 44(ptr) Variable UniformConstant 496 4(main): 2 Function None 3 497 5: Label 498 129(ps_output): 25(ptr) Variable Function 499 130(param): 25(ptr) Variable Function 500 Store 34(not_flattened_a) 40 501 131: 2 FunctionCall 28(@main(struct-PS_OUTPUT-vf41;) 130(param) 502 132:24(PS_OUTPUT) Load 130(param) 503 Store 129(ps_output) 132 504 135: 127(ptr) AccessChain 129(ps_output) 64 505 136: 7(fvec4) Load 135 506 Store 134(ps_output.color) 136 507 Return 508 FunctionEnd 509 9(TestFn1(): 7(fvec4) Function None 8 510 10: Label 511 43: 11 Load 42(g_tex[1]) 512 46: 16 Load 45(g_samp[1]) 513 48: 47 SampledImage 43 46 514 50: 7(fvec4) ImageSampleImplicitLod 48 49 515 ReturnValue 50 516 FunctionEnd 517 22(TestFn2(t11[3];p1[3];): 7(fvec4) Function None 19 518 20(l_tex): 15(ptr) FunctionParameter 519 21(l_samp): 18(ptr) FunctionParameter 520 23: Label 521 54: 53(ptr) AccessChain 20(l_tex) 36 522 55: 11 Load 54 523 57: 56(ptr) AccessChain 21(l_samp) 36 524 58: 16 Load 57 525 59: 47 SampledImage 55 58 526 60: 7(fvec4) ImageSampleImplicitLod 59 49 527 ReturnValue 60 528 FunctionEnd 529 28(@main(struct-PS_OUTPUT-vf41;): 2 Function None 26 530 27(ps_output): 25(ptr) FunctionParameter 531 29: Label 532 63(local_sampler_array): 18(ptr) Variable Function 533 73(local_texture_array): 15(ptr) Variable Function 534 85(local_float_array): 84(ptr) Variable Function 535 107(aggShadow): 15(ptr) Variable Function 536 114(aggShadow): 18(ptr) Variable Function 537 121(param): 15(ptr) Variable Function 538 123(param): 18(ptr) Variable Function 539 66: 16 Load 65(g_samp[0]) 540 67: 56(ptr) AccessChain 63(local_sampler_array) 64 541 Store 67 66 542 68: 16 Load 45(g_samp[1]) 543 69: 56(ptr) AccessChain 63(local_sampler_array) 35 544 Store 69 68 545 71: 16 Load 70(g_samp[2]) 546 72: 56(ptr) AccessChain 63(local_sampler_array) 36 547 Store 72 71 548 75: 11 Load 74(g_tex[0]) 549 76: 53(ptr) AccessChain 73(local_texture_array) 64 550 Store 76 75 551 77: 11 Load 42(g_tex[1]) 552 78: 53(ptr) AccessChain 73(local_texture_array) 35 553 Store 78 77 554 80: 11 Load 79(g_tex[2]) 555 81: 53(ptr) AccessChain 73(local_texture_array) 36 556 Store 81 80 557 95: 94(ptr) AccessChain 93 36 558 96: 90 Load 95 559 97: 6(float) CompositeExtract 96 0 560 99: 98(ptr) AccessChain 85(local_float_array) 64 561 Store 99 97 562 100: 6(float) CompositeExtract 96 1 563 101: 98(ptr) AccessChain 85(local_float_array) 35 564 Store 101 100 565 102: 6(float) CompositeExtract 96 2 566 103: 98(ptr) AccessChain 85(local_float_array) 36 567 Store 103 102 568 104: 6(float) CompositeExtract 96 3 569 105: 98(ptr) AccessChain 85(local_float_array) 37 570 Store 105 104 571 106: 7(fvec4) FunctionCall 9(TestFn1() 572 108: 11 Load 74(g_tex[0]) 573 109: 53(ptr) AccessChain 107(aggShadow) 64 574 Store 109 108 575 110: 11 Load 42(g_tex[1]) 576 111: 53(ptr) AccessChain 107(aggShadow) 35 577 Store 111 110 578 112: 11 Load 79(g_tex[2]) 579 113: 53(ptr) AccessChain 107(aggShadow) 36 580 Store 113 112 581 115: 16 Load 65(g_samp[0]) 582 116: 56(ptr) AccessChain 114(aggShadow) 64 583 Store 116 115 584 117: 16 Load 45(g_samp[1]) 585 118: 56(ptr) AccessChain 114(aggShadow) 35 586 Store 118 117 587 119: 16 Load 70(g_samp[2]) 588 120: 56(ptr) AccessChain 114(aggShadow) 36 589 Store 120 119 590 122: 14 Load 107(aggShadow) 591 Store 121(param) 122 592 124: 17 Load 114(aggShadow) 593 Store 123(param) 124 594 125: 7(fvec4) FunctionCall 22(TestFn2(t11[3];p1[3];) 121(param) 123(param) 595 126: 7(fvec4) FAdd 106 125 596 128: 127(ptr) AccessChain 27(ps_output) 64 597 Store 128 126 598 Return 599 FunctionEnd 600