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): 80007 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 107(pos) Flat 356 Decorate 107(pos) Location 0 357 Decorate 110(@entryPointOutput) Location 0 358 2: TypeVoid 359 3: TypeFunction 2 360 6: TypeInt 32 0 361 7: TypePointer Function 6(int) 362 8: TypeFloat 32 363 9: TypeVector 8(float) 4 364 10: TypeFunction 9(fvec4) 7(ptr) 365 15: TypeRuntimeArray 6(int) 366 16(sbuf): TypeStruct 15 367 17: TypePointer Uniform 16(sbuf) 368 18(sbuf): 17(ptr) Variable Uniform 369 19: TypeInt 32 1 370 21: 19(int) Constant 0 371 23: 19(int) Constant 2 372 25: TypePointer Uniform 6(int) 373 29: TypePointer Function 19(int) 374 32: 6(int) Constant 4 375 39: 19(int) Constant 1 376 43: TypeVector 6(int) 2 377 45: TypeVector 8(float) 2 378 47: 8(float) Constant 0 379 55: 6(int) Constant 8 380 69: TypeVector 6(int) 3 381 71: TypeVector 8(float) 3 382 80: 6(int) Constant 12 383 95: 19(int) Constant 3 384 99: TypeVector 6(int) 4 385 106: TypePointer Input 6(int) 386 107(pos): 106(ptr) Variable Input 387 109: TypePointer Output 9(fvec4) 388110(@entryPointOutput): 109(ptr) Variable Output 389 4(main): 2 Function None 3 390 5: Label 391 105(pos): 7(ptr) Variable Function 392 111(param): 7(ptr) Variable Function 393 108: 6(int) Load 107(pos) 394 Store 105(pos) 108 395 112: 6(int) Load 105(pos) 396 Store 111(param) 112 397 113: 9(fvec4) FunctionCall 12(@main(u1;) 111(param) 398 Store 110(@entryPointOutput) 113 399 Return 400 FunctionEnd 401 12(@main(u1;): 9(fvec4) Function None 10 402 11(pos): 7(ptr) FunctionParameter 403 13: Label 404 14(size): 7(ptr) Variable Function 40530(byteAddrTemp): 29(ptr) Variable Function 40653(byteAddrTemp): 29(ptr) Variable Function 40778(byteAddrTemp): 29(ptr) Variable Function 408 20: 19(int) ArrayLength 18(sbuf) 0 409 Store 14(size) 20 410 22: 6(int) Load 11(pos) 411 24: 19(int) ShiftRightLogical 22 23 412 26: 25(ptr) AccessChain 18(sbuf) 21 24 413 27: 6(int) Load 26 414 28: 8(float) ConvertUToF 27 415 31: 6(int) Load 11(pos) 416 33: 6(int) IAdd 31 32 417 34: 19(int) ShiftRightLogical 33 23 418 Store 30(byteAddrTemp) 34 419 35: 19(int) Load 30(byteAddrTemp) 420 36: 25(ptr) AccessChain 18(sbuf) 21 35 421 37: 6(int) Load 36 422 38: 19(int) Load 30(byteAddrTemp) 423 40: 19(int) IAdd 38 39 424 41: 25(ptr) AccessChain 18(sbuf) 21 40 425 42: 6(int) Load 41 426 44: 43(ivec2) CompositeConstruct 37 42 427 46: 45(fvec2) ConvertUToF 44 428 48: 8(float) CompositeExtract 46 0 429 49: 8(float) CompositeExtract 46 1 430 50: 9(fvec4) CompositeConstruct 48 49 47 47 431 51: 9(fvec4) CompositeConstruct 28 28 28 28 432 52: 9(fvec4) FAdd 51 50 433 54: 6(int) Load 11(pos) 434 56: 6(int) IAdd 54 55 435 57: 19(int) ShiftRightLogical 56 23 436 Store 53(byteAddrTemp) 57 437 58: 19(int) Load 53(byteAddrTemp) 438 59: 25(ptr) AccessChain 18(sbuf) 21 58 439 60: 6(int) Load 59 440 61: 19(int) Load 53(byteAddrTemp) 441 62: 19(int) IAdd 61 39 442 63: 25(ptr) AccessChain 18(sbuf) 21 62 443 64: 6(int) Load 63 444 65: 19(int) Load 53(byteAddrTemp) 445 66: 19(int) IAdd 65 23 446 67: 25(ptr) AccessChain 18(sbuf) 21 66 447 68: 6(int) Load 67 448 70: 69(ivec3) CompositeConstruct 60 64 68 449 72: 71(fvec3) ConvertUToF 70 450 73: 8(float) CompositeExtract 72 0 451 74: 8(float) CompositeExtract 72 1 452 75: 8(float) CompositeExtract 72 2 453 76: 9(fvec4) CompositeConstruct 73 74 75 47 454 77: 9(fvec4) FAdd 52 76 455 79: 6(int) Load 11(pos) 456 81: 6(int) IAdd 79 80 457 82: 19(int) ShiftRightLogical 81 23 458 Store 78(byteAddrTemp) 82 459 83: 19(int) Load 78(byteAddrTemp) 460 84: 25(ptr) AccessChain 18(sbuf) 21 83 461 85: 6(int) Load 84 462 86: 19(int) Load 78(byteAddrTemp) 463 87: 19(int) IAdd 86 39 464 88: 25(ptr) AccessChain 18(sbuf) 21 87 465 89: 6(int) Load 88 466 90: 19(int) Load 78(byteAddrTemp) 467 91: 19(int) IAdd 90 23 468 92: 25(ptr) AccessChain 18(sbuf) 21 91 469 93: 6(int) Load 92 470 94: 19(int) Load 78(byteAddrTemp) 471 96: 19(int) IAdd 94 95 472 97: 25(ptr) AccessChain 18(sbuf) 21 96 473 98: 6(int) Load 97 474 100: 99(ivec4) CompositeConstruct 85 89 93 98 475 101: 9(fvec4) ConvertUToF 100 476 102: 9(fvec4) FAdd 77 101 477 ReturnValue 102 478 FunctionEnd 479