• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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