1hlsl.structbuffer.byte.frag 2Shader version: 500 3gl_FragCoord origin is upper left 40:? Sequence 50:5 Function Definition: @main(u1; ( temp 4-component vector of float) 60:5 Function Parameters: 70:5 'pos' ( in uint) 80:? Sequence 90:7 Sequence 100:7 move second child to first child ( temp uint) 110:7 'size' ( temp uint) 120:7 array length ( temp uint) 130:7 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 140:7 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 150:7 Constant: 160:7 0 (const uint) 170:12 Branch: Return with expression 180:11 add ( temp 4-component vector of float) 190:10 add ( temp 4-component vector of float) 200:9 add ( temp 4-component vector of float) 210:9 Convert uint to float ( temp float) 220:9 indirect index (layout( row_major std430) buffer uint) 230:9 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 240:9 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 250:9 Constant: 260:9 0 (const uint) 270:9 right-shift ( temp int) 280:9 'pos' ( in uint) 290:9 Constant: 300:9 2 (const int) 310:? Construct vec4 ( temp 4-component vector of float) 320:? Convert uint to float ( temp 2-component vector of float) 330:? Sequence 340:10 move second child to first child ( temp int) 350:10 'byteAddrTemp' ( temp int) 360:10 right-shift ( temp int) 370:10 add ( temp uint) 380:10 'pos' ( in uint) 390:10 Constant: 400:10 4 (const uint) 410:10 Constant: 420:10 2 (const int) 430:? Construct vec2 ( temp 2-component vector of uint) 440:10 indirect index ( temp uint) 450:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 460:10 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 470:10 Constant: 480:10 0 (const uint) 490:10 'byteAddrTemp' ( temp int) 500:10 indirect index ( temp uint) 510:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 520:10 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 530:10 Constant: 540:10 0 (const uint) 550:10 add ( temp int) 560:10 'byteAddrTemp' ( temp int) 570:10 Constant: 580:10 1 (const int) 590:10 Constant: 600:10 0.000000 610:10 Constant: 620:10 0.000000 630:? Construct vec4 ( temp 4-component vector of float) 640:? Convert uint to float ( temp 3-component vector of float) 650:? Sequence 660:11 move second child to first child ( temp int) 670:11 'byteAddrTemp' ( temp int) 680:11 right-shift ( temp int) 690:11 add ( temp uint) 700:11 'pos' ( in uint) 710:11 Constant: 720:11 8 (const uint) 730:11 Constant: 740:11 2 (const int) 750:? Construct vec3 ( temp 3-component vector of uint) 760:11 indirect index ( temp uint) 770:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 780:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 790:11 Constant: 800:11 0 (const uint) 810:11 'byteAddrTemp' ( temp int) 820:11 indirect index ( temp uint) 830:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 840:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 850:11 Constant: 860:11 0 (const uint) 870:11 add ( temp int) 880:11 'byteAddrTemp' ( temp int) 890:11 Constant: 900:11 1 (const int) 910:11 indirect index ( temp uint) 920:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 930:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 940:11 Constant: 950:11 0 (const uint) 960:11 add ( temp int) 970:11 'byteAddrTemp' ( temp int) 980:11 Constant: 990:11 2 (const int) 1000:11 Constant: 1010:11 0.000000 1020:? Convert uint to float ( temp 4-component vector of float) 1030:? Sequence 1040:12 move second child to first child ( temp int) 1050:12 'byteAddrTemp' ( temp int) 1060:12 right-shift ( temp int) 1070:12 add ( temp uint) 1080:12 'pos' ( in uint) 1090:12 Constant: 1100:12 12 (const uint) 1110:12 Constant: 1120:12 2 (const int) 1130:? Construct vec4 ( temp 4-component vector of uint) 1140:12 indirect index ( temp uint) 1150:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 1160:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 1170:12 Constant: 1180:12 0 (const uint) 1190:12 'byteAddrTemp' ( temp int) 1200:12 indirect index ( temp uint) 1210:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 1220:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 1230:12 Constant: 1240:12 0 (const uint) 1250:12 add ( temp int) 1260:12 'byteAddrTemp' ( temp int) 1270:12 Constant: 1280:12 1 (const int) 1290:12 indirect index ( temp uint) 1300:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 1310:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 1320:12 Constant: 1330:12 0 (const uint) 1340:12 add ( temp int) 1350:12 'byteAddrTemp' ( temp int) 1360:12 Constant: 1370:12 2 (const int) 1380:12 indirect index ( temp uint) 1390:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 1400:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 1410:12 Constant: 1420:12 0 (const uint) 1430:12 add ( temp int) 1440:12 'byteAddrTemp' ( temp int) 1450:12 Constant: 1460:12 3 (const int) 1470:5 Function Definition: main( ( temp void) 1480:5 Function Parameters: 1490:? Sequence 1500:5 move second child to first child ( temp uint) 1510:? 'pos' ( temp uint) 1520:? 'pos' (layout( location=0) flat in uint) 1530:5 move second child to first child ( temp 4-component vector of float) 1540:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 1550:5 Function Call: @main(u1; ( temp 4-component vector of float) 1560:? 'pos' ( temp uint) 1570:? Linker Objects 1580:? 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 1590:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 1600:? 'pos' (layout( location=0) flat in uint) 161 162 163Linked fragment stage: 164 165 166Shader version: 500 167gl_FragCoord origin is upper left 1680:? Sequence 1690:5 Function Definition: @main(u1; ( temp 4-component vector of float) 1700:5 Function Parameters: 1710:5 'pos' ( in uint) 1720:? Sequence 1730:7 Sequence 1740:7 move second child to first child ( temp uint) 1750:7 'size' ( temp uint) 1760:7 array length ( temp uint) 1770:7 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 1780:7 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 1790:7 Constant: 1800:7 0 (const uint) 1810:12 Branch: Return with expression 1820:11 add ( temp 4-component vector of float) 1830:10 add ( temp 4-component vector of float) 1840:9 add ( temp 4-component vector of float) 1850:9 Convert uint to float ( temp float) 1860:9 indirect index (layout( row_major std430) buffer uint) 1870:9 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 1880:9 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 1890:9 Constant: 1900:9 0 (const uint) 1910:9 right-shift ( temp int) 1920:9 'pos' ( in uint) 1930:9 Constant: 1940:9 2 (const int) 1950:? Construct vec4 ( temp 4-component vector of float) 1960:? Convert uint to float ( temp 2-component vector of float) 1970:? Sequence 1980:10 move second child to first child ( temp int) 1990:10 'byteAddrTemp' ( temp int) 2000:10 right-shift ( temp int) 2010:10 add ( temp uint) 2020:10 'pos' ( in uint) 2030:10 Constant: 2040:10 4 (const uint) 2050:10 Constant: 2060:10 2 (const int) 2070:? Construct vec2 ( temp 2-component vector of uint) 2080:10 indirect index ( temp uint) 2090:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 2100:10 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 2110:10 Constant: 2120:10 0 (const uint) 2130:10 'byteAddrTemp' ( temp int) 2140:10 indirect index ( temp uint) 2150:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 2160:10 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 2170:10 Constant: 2180:10 0 (const uint) 2190:10 add ( temp int) 2200:10 'byteAddrTemp' ( temp int) 2210:10 Constant: 2220:10 1 (const int) 2230:10 Constant: 2240:10 0.000000 2250:10 Constant: 2260:10 0.000000 2270:? Construct vec4 ( temp 4-component vector of float) 2280:? Convert uint to float ( temp 3-component vector of float) 2290:? Sequence 2300:11 move second child to first child ( temp int) 2310:11 'byteAddrTemp' ( temp int) 2320:11 right-shift ( temp int) 2330:11 add ( temp uint) 2340:11 'pos' ( in uint) 2350:11 Constant: 2360:11 8 (const uint) 2370:11 Constant: 2380:11 2 (const int) 2390:? Construct vec3 ( temp 3-component vector of uint) 2400:11 indirect index ( temp uint) 2410:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 2420:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 2430:11 Constant: 2440:11 0 (const uint) 2450:11 'byteAddrTemp' ( temp int) 2460:11 indirect index ( temp uint) 2470:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 2480:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 2490:11 Constant: 2500:11 0 (const uint) 2510:11 add ( temp int) 2520:11 'byteAddrTemp' ( temp int) 2530:11 Constant: 2540:11 1 (const int) 2550:11 indirect index ( temp uint) 2560:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 2570:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 2580:11 Constant: 2590:11 0 (const uint) 2600:11 add ( temp int) 2610:11 'byteAddrTemp' ( temp int) 2620:11 Constant: 2630:11 2 (const int) 2640:11 Constant: 2650:11 0.000000 2660:? Convert uint to float ( temp 4-component vector of float) 2670:? Sequence 2680:12 move second child to first child ( temp int) 2690:12 'byteAddrTemp' ( temp int) 2700:12 right-shift ( temp int) 2710:12 add ( temp uint) 2720:12 'pos' ( in uint) 2730:12 Constant: 2740:12 12 (const uint) 2750:12 Constant: 2760:12 2 (const int) 2770:? Construct vec4 ( temp 4-component vector of uint) 2780:12 indirect index ( temp uint) 2790:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 2800:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 2810:12 Constant: 2820:12 0 (const uint) 2830:12 'byteAddrTemp' ( temp int) 2840:12 indirect index ( temp uint) 2850:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 2860:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 2870:12 Constant: 2880:12 0 (const uint) 2890:12 add ( temp int) 2900:12 'byteAddrTemp' ( temp int) 2910:12 Constant: 2920:12 1 (const int) 2930:12 indirect index ( temp uint) 2940:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 2950:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 2960:12 Constant: 2970:12 0 (const uint) 2980:12 add ( temp int) 2990:12 'byteAddrTemp' ( temp int) 3000:12 Constant: 3010:12 2 (const int) 3020:12 indirect index ( temp uint) 3030:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 3040:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 3050:12 Constant: 3060:12 0 (const uint) 3070:12 add ( temp int) 3080:12 'byteAddrTemp' ( temp int) 3090:12 Constant: 3100:12 3 (const int) 3110:5 Function Definition: main( ( temp void) 3120:5 Function Parameters: 3130:? Sequence 3140:5 move second child to first child ( temp uint) 3150:? 'pos' ( temp uint) 3160:? 'pos' (layout( location=0) flat in uint) 3170:5 move second child to first child ( temp 4-component vector of float) 3180:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 3190:5 Function Call: @main(u1; ( temp 4-component vector of float) 3200:? 'pos' ( temp uint) 3210:? Linker Objects 3220:? 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 3230:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 3240:? 'pos' (layout( location=0) flat in uint) 325 326// Module Version 10000 327// Generated by (magic number): 8000a 328// Id's are bound by 114 329 330 Capability Shader 331 1: ExtInstImport "GLSL.std.450" 332 MemoryModel Logical GLSL450 333 EntryPoint Fragment 4 "main" 107 110 334 ExecutionMode 4 OriginUpperLeft 335 Source HLSL 500 336 Name 4 "main" 337 Name 12 "@main(u1;" 338 Name 11 "pos" 339 Name 14 "size" 340 Name 16 "sbuf" 341 MemberName 16(sbuf) 0 "@data" 342 Name 18 "sbuf" 343 Name 30 "byteAddrTemp" 344 Name 53 "byteAddrTemp" 345 Name 78 "byteAddrTemp" 346 Name 105 "pos" 347 Name 107 "pos" 348 Name 110 "@entryPointOutput" 349 Name 111 "param" 350 Decorate 15 ArrayStride 4 351 MemberDecorate 16(sbuf) 0 NonWritable 352 MemberDecorate 16(sbuf) 0 Offset 0 353 Decorate 16(sbuf) BufferBlock 354 Decorate 18(sbuf) DescriptorSet 0 355 Decorate 18(sbuf) Binding 0 356 Decorate 107(pos) Flat 357 Decorate 107(pos) Location 0 358 Decorate 110(@entryPointOutput) Location 0 359 2: TypeVoid 360 3: TypeFunction 2 361 6: TypeInt 32 0 362 7: TypePointer Function 6(int) 363 8: TypeFloat 32 364 9: TypeVector 8(float) 4 365 10: TypeFunction 9(fvec4) 7(ptr) 366 15: TypeRuntimeArray 6(int) 367 16(sbuf): TypeStruct 15 368 17: TypePointer Uniform 16(sbuf) 369 18(sbuf): 17(ptr) Variable Uniform 370 20: TypeInt 32 1 371 21: 20(int) Constant 0 372 23: 20(int) Constant 2 373 25: TypePointer Uniform 6(int) 374 29: TypePointer Function 20(int) 375 32: 6(int) Constant 4 376 39: 20(int) Constant 1 377 43: TypeVector 6(int) 2 378 45: TypeVector 8(float) 2 379 47: 8(float) Constant 0 380 55: 6(int) Constant 8 381 69: TypeVector 6(int) 3 382 71: TypeVector 8(float) 3 383 80: 6(int) Constant 12 384 95: 20(int) Constant 3 385 99: TypeVector 6(int) 4 386 106: TypePointer Input 6(int) 387 107(pos): 106(ptr) Variable Input 388 109: TypePointer Output 9(fvec4) 389110(@entryPointOutput): 109(ptr) Variable Output 390 4(main): 2 Function None 3 391 5: Label 392 105(pos): 7(ptr) Variable Function 393 111(param): 7(ptr) Variable Function 394 108: 6(int) Load 107(pos) 395 Store 105(pos) 108 396 112: 6(int) Load 105(pos) 397 Store 111(param) 112 398 113: 9(fvec4) FunctionCall 12(@main(u1;) 111(param) 399 Store 110(@entryPointOutput) 113 400 Return 401 FunctionEnd 402 12(@main(u1;): 9(fvec4) Function None 10 403 11(pos): 7(ptr) FunctionParameter 404 13: Label 405 14(size): 7(ptr) Variable Function 40630(byteAddrTemp): 29(ptr) Variable Function 40753(byteAddrTemp): 29(ptr) Variable Function 40878(byteAddrTemp): 29(ptr) Variable Function 409 19: 6(int) ArrayLength 18(sbuf) 0 410 Store 14(size) 19 411 22: 6(int) Load 11(pos) 412 24: 20(int) ShiftRightLogical 22 23 413 26: 25(ptr) AccessChain 18(sbuf) 21 24 414 27: 6(int) Load 26 415 28: 8(float) ConvertUToF 27 416 31: 6(int) Load 11(pos) 417 33: 6(int) IAdd 31 32 418 34: 20(int) ShiftRightLogical 33 23 419 Store 30(byteAddrTemp) 34 420 35: 20(int) Load 30(byteAddrTemp) 421 36: 25(ptr) AccessChain 18(sbuf) 21 35 422 37: 6(int) Load 36 423 38: 20(int) Load 30(byteAddrTemp) 424 40: 20(int) IAdd 38 39 425 41: 25(ptr) AccessChain 18(sbuf) 21 40 426 42: 6(int) Load 41 427 44: 43(ivec2) CompositeConstruct 37 42 428 46: 45(fvec2) ConvertUToF 44 429 48: 8(float) CompositeExtract 46 0 430 49: 8(float) CompositeExtract 46 1 431 50: 9(fvec4) CompositeConstruct 48 49 47 47 432 51: 9(fvec4) CompositeConstruct 28 28 28 28 433 52: 9(fvec4) FAdd 51 50 434 54: 6(int) Load 11(pos) 435 56: 6(int) IAdd 54 55 436 57: 20(int) ShiftRightLogical 56 23 437 Store 53(byteAddrTemp) 57 438 58: 20(int) Load 53(byteAddrTemp) 439 59: 25(ptr) AccessChain 18(sbuf) 21 58 440 60: 6(int) Load 59 441 61: 20(int) Load 53(byteAddrTemp) 442 62: 20(int) IAdd 61 39 443 63: 25(ptr) AccessChain 18(sbuf) 21 62 444 64: 6(int) Load 63 445 65: 20(int) Load 53(byteAddrTemp) 446 66: 20(int) IAdd 65 23 447 67: 25(ptr) AccessChain 18(sbuf) 21 66 448 68: 6(int) Load 67 449 70: 69(ivec3) CompositeConstruct 60 64 68 450 72: 71(fvec3) ConvertUToF 70 451 73: 8(float) CompositeExtract 72 0 452 74: 8(float) CompositeExtract 72 1 453 75: 8(float) CompositeExtract 72 2 454 76: 9(fvec4) CompositeConstruct 73 74 75 47 455 77: 9(fvec4) FAdd 52 76 456 79: 6(int) Load 11(pos) 457 81: 6(int) IAdd 79 80 458 82: 20(int) ShiftRightLogical 81 23 459 Store 78(byteAddrTemp) 82 460 83: 20(int) Load 78(byteAddrTemp) 461 84: 25(ptr) AccessChain 18(sbuf) 21 83 462 85: 6(int) Load 84 463 86: 20(int) Load 78(byteAddrTemp) 464 87: 20(int) IAdd 86 39 465 88: 25(ptr) AccessChain 18(sbuf) 21 87 466 89: 6(int) Load 88 467 90: 20(int) Load 78(byteAddrTemp) 468 91: 20(int) IAdd 90 23 469 92: 25(ptr) AccessChain 18(sbuf) 21 91 470 93: 6(int) Load 92 471 94: 20(int) Load 78(byteAddrTemp) 472 96: 20(int) IAdd 94 95 473 97: 25(ptr) AccessChain 18(sbuf) 21 96 474 98: 6(int) Load 97 475 100: 99(ivec4) CompositeConstruct 85 89 93 98 476 101: 9(fvec4) ConvertUToF 100 477 102: 9(fvec4) FAdd 77 101 478 ReturnValue 102 479 FunctionEnd 480