1hlsl.buffer_ref_parameter.comp 2Shader version: 500 3local_size = (64, 1, 1) 40:? Sequence 50:4 Function Definition: pull_position(block--u1[0]1;u1; ( temp 3-component vector of float) 60:4 Function Parameters: 70:4 'buffer_position' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 80:4 'vertex_id' ( in uint) 90:? Sequence 100:5 Branch: Return with expression 110:? intBitsToFloat ( temp 3-component vector of float) 120:? Sequence 130:5 move second child to first child ( temp int) 140:5 'byteAddrTemp' ( temp int) 150:5 right-shift ( temp int) 160:5 component-wise multiply ( temp uint) 170:5 component-wise multiply ( temp uint) 180:5 'vertex_id' ( in uint) 190:5 Constant: 200:5 3 (const uint) 210:5 Constant: 220:5 4 (const uint) 230:5 Constant: 240:5 2 (const int) 250:? Construct vec3 ( temp 3-component vector of uint) 260:5 indirect index ( temp uint) 270:5 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 280:5 'buffer_position' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 290:5 Constant: 300:5 0 (const uint) 310:5 'byteAddrTemp' ( temp int) 320:5 indirect index ( temp uint) 330:5 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 340:5 'buffer_position' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 350:5 Constant: 360:5 0 (const uint) 370:5 add ( temp int) 380:5 'byteAddrTemp' ( temp int) 390:5 Constant: 400:5 1 (const int) 410:5 indirect index ( temp uint) 420:5 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 430:5 'buffer_position' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 440:5 Constant: 450:5 0 (const uint) 460:5 add ( temp int) 470:5 'byteAddrTemp' ( temp int) 480:5 Constant: 490:5 2 (const int) 500:9 Function Definition: @main(u1; ( temp void) 510:9 Function Parameters: 520:9 'gi' ( in uint) 530:? Sequence 540:10 Sequence 550:10 move second child to first child ( temp 3-component vector of float) 560:10 'position_ms' ( temp 3-component vector of float) 570:10 Function Call: pull_position(block--u1[0]1;u1; ( temp 3-component vector of float) 580:10 'buffer_position_ms' (layout( set=0 binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 590:10 'gi' ( in uint) 600:? Sequence 610:12 move second child to first child ( temp int) 620:12 'byteAddrTemp' ( temp int) 630:12 right-shift ( temp int) 640:12 Constant: 650:12 0 (const int) 660:12 Constant: 670:12 2 (const int) 680:12 move second child to first child ( temp uint) 690:12 indirect index (layout( row_major std430) buffer uint) 700:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 710:12 'r' (layout( set=0 binding=1 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 720:12 Constant: 730:12 0 (const uint) 740:12 'byteAddrTemp' ( temp int) 750:12 direct index ( temp uint) 760:12 floatBitsToUint ( temp 3-component vector of uint) 770:12 'position_ms' ( temp 3-component vector of float) 780:12 Constant: 790:12 0 (const int) 800:12 move second child to first child ( temp uint) 810:12 indirect index (layout( row_major std430) buffer uint) 820:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 830:12 'r' (layout( set=0 binding=1 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 840:12 Constant: 850:12 0 (const uint) 860:12 add ( temp int) 870:12 'byteAddrTemp' ( temp int) 880:12 Constant: 890:12 1 (const int) 900:12 direct index ( temp uint) 910:12 floatBitsToUint ( temp 3-component vector of uint) 920:12 'position_ms' ( temp 3-component vector of float) 930:12 Constant: 940:12 1 (const int) 950:12 move second child to first child ( temp uint) 960:12 indirect index (layout( row_major std430) buffer uint) 970:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 980:12 'r' (layout( set=0 binding=1 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 990:12 Constant: 1000:12 0 (const uint) 1010:12 add ( temp int) 1020:12 'byteAddrTemp' ( temp int) 1030:12 Constant: 1040:12 2 (const int) 1050:12 direct index ( temp uint) 1060:12 floatBitsToUint ( temp 3-component vector of uint) 1070:12 'position_ms' ( temp 3-component vector of float) 1080:12 Constant: 1090:12 2 (const int) 1100:9 Function Definition: main( ( temp void) 1110:9 Function Parameters: 1120:? Sequence 1130:9 move second child to first child ( temp uint) 1140:? 'gi' ( temp uint) 1150:? 'gi' ( in uint LocalInvocationIndex) 1160:9 Function Call: @main(u1; ( temp void) 1170:? 'gi' ( temp uint) 1180:? Linker Objects 1190:? 'buffer_position_ms' (layout( set=0 binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 1200:? 'r' (layout( set=0 binding=1 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 1210:? 'gi' ( in uint LocalInvocationIndex) 122 123 124Linked compute stage: 125 126 127Shader version: 500 128local_size = (64, 1, 1) 1290:? Sequence 1300:4 Function Definition: pull_position(block--u1[0]1;u1; ( temp 3-component vector of float) 1310:4 Function Parameters: 1320:4 'buffer_position' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 1330:4 'vertex_id' ( in uint) 1340:? Sequence 1350:5 Branch: Return with expression 1360:? intBitsToFloat ( temp 3-component vector of float) 1370:? Sequence 1380:5 move second child to first child ( temp int) 1390:5 'byteAddrTemp' ( temp int) 1400:5 right-shift ( temp int) 1410:5 component-wise multiply ( temp uint) 1420:5 component-wise multiply ( temp uint) 1430:5 'vertex_id' ( in uint) 1440:5 Constant: 1450:5 3 (const uint) 1460:5 Constant: 1470:5 4 (const uint) 1480:5 Constant: 1490:5 2 (const int) 1500:? Construct vec3 ( temp 3-component vector of uint) 1510:5 indirect index ( temp uint) 1520:5 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 1530:5 'buffer_position' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 1540:5 Constant: 1550:5 0 (const uint) 1560:5 'byteAddrTemp' ( temp int) 1570:5 indirect index ( temp uint) 1580:5 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 1590:5 'buffer_position' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 1600:5 Constant: 1610:5 0 (const uint) 1620:5 add ( temp int) 1630:5 'byteAddrTemp' ( temp int) 1640:5 Constant: 1650:5 1 (const int) 1660:5 indirect index ( temp uint) 1670:5 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 1680:5 'buffer_position' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 1690:5 Constant: 1700:5 0 (const uint) 1710:5 add ( temp int) 1720:5 'byteAddrTemp' ( temp int) 1730:5 Constant: 1740:5 2 (const int) 1750:9 Function Definition: @main(u1; ( temp void) 1760:9 Function Parameters: 1770:9 'gi' ( in uint) 1780:? Sequence 1790:10 Sequence 1800:10 move second child to first child ( temp 3-component vector of float) 1810:10 'position_ms' ( temp 3-component vector of float) 1820:10 Function Call: pull_position(block--u1[0]1;u1; ( temp 3-component vector of float) 1830:10 'buffer_position_ms' (layout( set=0 binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 1840:10 'gi' ( in uint) 1850:? Sequence 1860:12 move second child to first child ( temp int) 1870:12 'byteAddrTemp' ( temp int) 1880:12 right-shift ( temp int) 1890:12 Constant: 1900:12 0 (const int) 1910:12 Constant: 1920:12 2 (const int) 1930:12 move second child to first child ( temp uint) 1940:12 indirect index (layout( row_major std430) buffer uint) 1950:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 1960:12 'r' (layout( set=0 binding=1 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 1970:12 Constant: 1980:12 0 (const uint) 1990:12 'byteAddrTemp' ( temp int) 2000:12 direct index ( temp uint) 2010:12 floatBitsToUint ( temp 3-component vector of uint) 2020:12 'position_ms' ( temp 3-component vector of float) 2030:12 Constant: 2040:12 0 (const int) 2050:12 move second child to first child ( temp uint) 2060:12 indirect index (layout( row_major std430) buffer uint) 2070:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 2080:12 'r' (layout( set=0 binding=1 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 2090:12 Constant: 2100:12 0 (const uint) 2110:12 add ( temp int) 2120:12 'byteAddrTemp' ( temp int) 2130:12 Constant: 2140:12 1 (const int) 2150:12 direct index ( temp uint) 2160:12 floatBitsToUint ( temp 3-component vector of uint) 2170:12 'position_ms' ( temp 3-component vector of float) 2180:12 Constant: 2190:12 1 (const int) 2200:12 move second child to first child ( temp uint) 2210:12 indirect index (layout( row_major std430) buffer uint) 2220:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint) 2230:12 'r' (layout( set=0 binding=1 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 2240:12 Constant: 2250:12 0 (const uint) 2260:12 add ( temp int) 2270:12 'byteAddrTemp' ( temp int) 2280:12 Constant: 2290:12 2 (const int) 2300:12 direct index ( temp uint) 2310:12 floatBitsToUint ( temp 3-component vector of uint) 2320:12 'position_ms' ( temp 3-component vector of float) 2330:12 Constant: 2340:12 2 (const int) 2350:9 Function Definition: main( ( temp void) 2360:9 Function Parameters: 2370:? Sequence 2380:9 move second child to first child ( temp uint) 2390:? 'gi' ( temp uint) 2400:? 'gi' ( in uint LocalInvocationIndex) 2410:9 Function Call: @main(u1; ( temp void) 2420:? 'gi' ( temp uint) 2430:? Linker Objects 2440:? 'buffer_position_ms' (layout( set=0 binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 2450:? 'r' (layout( set=0 binding=1 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data}) 2460:? 'gi' ( in uint LocalInvocationIndex) 247 248// Module Version 10400 249// Generated by (magic number): 8000b 250// Id's are bound by 90 251 252 Capability Shader 253 1: ExtInstImport "GLSL.std.450" 254 MemoryModel Logical GLSL450 255 EntryPoint GLCompute 4 "main" 53 62 85 256 ExecutionMode 4 LocalSize 64 1 1 257 Source HLSL 500 258 Name 4 "main" 259 Name 8 "" 260 MemberName 8 0 "@data" 261 Name 16 "pull_position(block--u1[0]1;u1;" 262 Name 14 "buffer_position" 263 Name 15 "vertex_id" 264 Name 20 "@main(u1;" 265 Name 19 "gi" 266 Name 24 "byteAddrTemp" 267 Name 52 "position_ms" 268 Name 53 "buffer_position_ms" 269 Name 54 "param" 270 Name 57 "byteAddrTemp" 271 Name 60 "r" 272 MemberName 60(r) 0 "@data" 273 Name 62 "r" 274 Name 83 "gi" 275 Name 85 "gi" 276 Name 87 "param" 277 Decorate 7 ArrayStride 4 278 Decorate 8 Block 279 MemberDecorate 8 0 NonWritable 280 MemberDecorate 8 0 Offset 0 281 Decorate 14(buffer_position) NonWritable 282 Decorate 53(buffer_position_ms) NonWritable 283 Decorate 53(buffer_position_ms) Binding 0 284 Decorate 53(buffer_position_ms) DescriptorSet 0 285 Decorate 59 ArrayStride 4 286 Decorate 60(r) Block 287 MemberDecorate 60(r) 0 Offset 0 288 Decorate 62(r) Binding 1 289 Decorate 62(r) DescriptorSet 0 290 Decorate 85(gi) BuiltIn LocalInvocationIndex 291 2: TypeVoid 292 3: TypeFunction 2 293 6: TypeInt 32 0 294 7: TypeRuntimeArray 6(int) 295 8: TypeStruct 7 296 9: TypePointer StorageBuffer 8(struct) 297 10: TypePointer Function 6(int) 298 11: TypeFloat 32 299 12: TypeVector 11(float) 3 300 13: TypeFunction 12(fvec3) 9(ptr) 10(ptr) 301 18: TypeFunction 2 10(ptr) 302 22: TypeInt 32 1 303 23: TypePointer Function 22(int) 304 26: 6(int) Constant 3 305 28: 6(int) Constant 4 306 30: 22(int) Constant 2 307 32: 22(int) Constant 0 308 34: TypePointer StorageBuffer 6(int) 309 38: 22(int) Constant 1 310 46: TypeVector 6(int) 3 311 51: TypePointer Function 12(fvec3) 31253(buffer_position_ms): 9(ptr) Variable StorageBuffer 313 59: TypeRuntimeArray 6(int) 314 60(r): TypeStruct 59 315 61: TypePointer StorageBuffer 60(r) 316 62(r): 61(ptr) Variable StorageBuffer 317 66: 6(int) Constant 0 318 73: 6(int) Constant 1 319 80: 6(int) Constant 2 320 84: TypePointer Input 6(int) 321 85(gi): 84(ptr) Variable Input 322 4(main): 2 Function None 3 323 5: Label 324 83(gi): 10(ptr) Variable Function 325 87(param): 10(ptr) Variable Function 326 86: 6(int) Load 85(gi) 327 Store 83(gi) 86 328 88: 6(int) Load 83(gi) 329 Store 87(param) 88 330 89: 2 FunctionCall 20(@main(u1;) 87(param) 331 Return 332 FunctionEnd 33316(pull_position(block--u1[0]1;u1;): 12(fvec3) Function None 13 33414(buffer_position): 9(ptr) FunctionParameter 335 15(vertex_id): 10(ptr) FunctionParameter 336 17: Label 33724(byteAddrTemp): 23(ptr) Variable Function 338 25: 6(int) Load 15(vertex_id) 339 27: 6(int) IMul 25 26 340 29: 6(int) IMul 27 28 341 31: 22(int) ShiftRightLogical 29 30 342 Store 24(byteAddrTemp) 31 343 33: 22(int) Load 24(byteAddrTemp) 344 35: 34(ptr) AccessChain 14(buffer_position) 32 33 345 36: 6(int) Load 35 346 37: 22(int) Load 24(byteAddrTemp) 347 39: 22(int) IAdd 37 38 348 40: 34(ptr) AccessChain 14(buffer_position) 32 39 349 41: 6(int) Load 40 350 42: 22(int) Load 24(byteAddrTemp) 351 43: 22(int) IAdd 42 30 352 44: 34(ptr) AccessChain 14(buffer_position) 32 43 353 45: 6(int) Load 44 354 47: 46(ivec3) CompositeConstruct 36 41 45 355 48: 12(fvec3) Bitcast 47 356 ReturnValue 48 357 FunctionEnd 358 20(@main(u1;): 2 Function None 18 359 19(gi): 10(ptr) FunctionParameter 360 21: Label 361 52(position_ms): 51(ptr) Variable Function 362 54(param): 10(ptr) Variable Function 36357(byteAddrTemp): 23(ptr) Variable Function 364 55: 6(int) Load 19(gi) 365 Store 54(param) 55 366 56: 12(fvec3) FunctionCall 16(pull_position(block--u1[0]1;u1;) 53(buffer_position_ms) 54(param) 367 Store 52(position_ms) 56 368 58: 22(int) ShiftRightArithmetic 32 30 369 Store 57(byteAddrTemp) 58 370 63: 22(int) Load 57(byteAddrTemp) 371 64: 12(fvec3) Load 52(position_ms) 372 65: 46(ivec3) Bitcast 64 373 67: 6(int) CompositeExtract 65 0 374 68: 34(ptr) AccessChain 62(r) 32 63 375 Store 68 67 376 69: 22(int) Load 57(byteAddrTemp) 377 70: 22(int) IAdd 69 38 378 71: 12(fvec3) Load 52(position_ms) 379 72: 46(ivec3) Bitcast 71 380 74: 6(int) CompositeExtract 72 1 381 75: 34(ptr) AccessChain 62(r) 32 70 382 Store 75 74 383 76: 22(int) Load 57(byteAddrTemp) 384 77: 22(int) IAdd 76 30 385 78: 12(fvec3) Load 52(position_ms) 386 79: 46(ivec3) Bitcast 78 387 81: 6(int) CompositeExtract 79 2 388 82: 34(ptr) AccessChain 62(r) 32 77 389 Store 82 81 390 Return 391 FunctionEnd 392