• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1hlsl.wavevote.comp
2Shader version: 500
3local_size = (32, 16, 1)
40:? Sequence
50:5  Function Definition: @CSMain(vu3; ( temp void)
60:5    Function Parameters:
70:5      'dti' ( in 3-component vector of uint)
80:?     Sequence
90:6      move second child to first child ( temp uint64_t)
100:6        indirect index (layout( row_major std430) buffer uint64_t)
110:6          @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint64_t)
120:6            'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
130:6            Constant:
140:6              0 (const uint)
150:6          direct index ( temp uint)
160:6            'dti' ( in 3-component vector of uint)
170:6            Constant:
180:6              0 (const int)
190:6        Construct uint64 (layout( row_major std430) buffer uint64_t)
200:6          Convert uint to uint64 ( temp 4-component vector of uint64_t)
210:6            subgroupBallot ( temp 4-component vector of uint)
220:6              subgroupAny ( temp bool)
230:6                Compare Equal ( temp bool)
240:6                  direct index ( temp uint)
250:6                    'dti' ( in 3-component vector of uint)
260:6                    Constant:
270:6                      0 (const int)
280:6                  Constant:
290:6                    0 (const uint)
300:7      move second child to first child ( temp uint64_t)
310:7        indirect index (layout( row_major std430) buffer uint64_t)
320:7          @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint64_t)
330:7            'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
340:7            Constant:
350:7              0 (const uint)
360:7          direct index ( temp uint)
370:7            'dti' ( in 3-component vector of uint)
380:7            Constant:
390:7              1 (const int)
400:7        Construct uint64 (layout( row_major std430) buffer uint64_t)
410:7          Convert uint to uint64 ( temp 4-component vector of uint64_t)
420:7            subgroupBallot ( temp 4-component vector of uint)
430:7              subgroupAll ( temp bool)
440:7                Compare Equal ( temp bool)
450:7                  direct index ( temp uint)
460:7                    'dti' ( in 3-component vector of uint)
470:7                    Constant:
480:7                      1 (const int)
490:7                  Constant:
500:7                    0 (const uint)
510:8      move second child to first child ( temp uint64_t)
520:8        indirect index (layout( row_major std430) buffer uint64_t)
530:8          @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint64_t)
540:8            'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
550:8            Constant:
560:8              0 (const uint)
570:8          direct index ( temp uint)
580:8            'dti' ( in 3-component vector of uint)
590:8            Constant:
600:8              2 (const int)
610:8        Construct uint64 (layout( row_major std430) buffer uint64_t)
620:8          Convert uint to uint64 ( temp 4-component vector of uint64_t)
630:8            subgroupBallot ( temp 4-component vector of uint)
640:8              subgroupAllEqual ( temp bool)
650:8                Compare Equal ( temp bool)
660:8                  direct index ( temp uint)
670:8                    'dti' ( in 3-component vector of uint)
680:8                    Constant:
690:8                      2 (const int)
700:8                  Constant:
710:8                    0 (const uint)
720:9      move second child to first child ( temp uint64_t)
730:9        indirect index (layout( row_major std430) buffer uint64_t)
740:9          @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint64_t)
750:9            'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
760:9            Constant:
770:9              0 (const uint)
780:9          direct index ( temp uint)
790:9            'dti' ( in 3-component vector of uint)
800:9            Constant:
810:9              2 (const int)
820:9        Construct uint64 (layout( row_major std430) buffer uint64_t)
830:9          Convert uint to uint64 ( temp 4-component vector of uint64_t)
840:9            subgroupBallot ( temp 4-component vector of uint)
850:9              subgroupAllEqual ( temp bool)
860:9                direct index ( temp uint)
870:9                  'dti' ( in 3-component vector of uint)
880:9                  Constant:
890:9                    2 (const int)
900:5  Function Definition: CSMain( ( temp void)
910:5    Function Parameters:
920:?     Sequence
930:5      move second child to first child ( temp 3-component vector of uint)
940:?         'dti' ( temp 3-component vector of uint)
950:?         'dti' ( in 3-component vector of uint GlobalInvocationID)
960:5      Function Call: @CSMain(vu3; ( temp void)
970:?         'dti' ( temp 3-component vector of uint)
980:?   Linker Objects
990:?     'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
1000:?     'dti' ( in 3-component vector of uint GlobalInvocationID)
101
102
103Linked compute stage:
104
105
106Shader version: 500
107local_size = (32, 16, 1)
1080:? Sequence
1090:5  Function Definition: @CSMain(vu3; ( temp void)
1100:5    Function Parameters:
1110:5      'dti' ( in 3-component vector of uint)
1120:?     Sequence
1130:6      move second child to first child ( temp uint64_t)
1140:6        indirect index (layout( row_major std430) buffer uint64_t)
1150:6          @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint64_t)
1160:6            'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
1170:6            Constant:
1180:6              0 (const uint)
1190:6          direct index ( temp uint)
1200:6            'dti' ( in 3-component vector of uint)
1210:6            Constant:
1220:6              0 (const int)
1230:6        Construct uint64 (layout( row_major std430) buffer uint64_t)
1240:6          Convert uint to uint64 ( temp 4-component vector of uint64_t)
1250:6            subgroupBallot ( temp 4-component vector of uint)
1260:6              subgroupAny ( temp bool)
1270:6                Compare Equal ( temp bool)
1280:6                  direct index ( temp uint)
1290:6                    'dti' ( in 3-component vector of uint)
1300:6                    Constant:
1310:6                      0 (const int)
1320:6                  Constant:
1330:6                    0 (const uint)
1340:7      move second child to first child ( temp uint64_t)
1350:7        indirect index (layout( row_major std430) buffer uint64_t)
1360:7          @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint64_t)
1370:7            'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
1380:7            Constant:
1390:7              0 (const uint)
1400:7          direct index ( temp uint)
1410:7            'dti' ( in 3-component vector of uint)
1420:7            Constant:
1430:7              1 (const int)
1440:7        Construct uint64 (layout( row_major std430) buffer uint64_t)
1450:7          Convert uint to uint64 ( temp 4-component vector of uint64_t)
1460:7            subgroupBallot ( temp 4-component vector of uint)
1470:7              subgroupAll ( temp bool)
1480:7                Compare Equal ( temp bool)
1490:7                  direct index ( temp uint)
1500:7                    'dti' ( in 3-component vector of uint)
1510:7                    Constant:
1520:7                      1 (const int)
1530:7                  Constant:
1540:7                    0 (const uint)
1550:8      move second child to first child ( temp uint64_t)
1560:8        indirect index (layout( row_major std430) buffer uint64_t)
1570:8          @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint64_t)
1580:8            'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
1590:8            Constant:
1600:8              0 (const uint)
1610:8          direct index ( temp uint)
1620:8            'dti' ( in 3-component vector of uint)
1630:8            Constant:
1640:8              2 (const int)
1650:8        Construct uint64 (layout( row_major std430) buffer uint64_t)
1660:8          Convert uint to uint64 ( temp 4-component vector of uint64_t)
1670:8            subgroupBallot ( temp 4-component vector of uint)
1680:8              subgroupAllEqual ( temp bool)
1690:8                Compare Equal ( temp bool)
1700:8                  direct index ( temp uint)
1710:8                    'dti' ( in 3-component vector of uint)
1720:8                    Constant:
1730:8                      2 (const int)
1740:8                  Constant:
1750:8                    0 (const uint)
1760:9      move second child to first child ( temp uint64_t)
1770:9        indirect index (layout( row_major std430) buffer uint64_t)
1780:9          @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint64_t)
1790:9            'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
1800:9            Constant:
1810:9              0 (const uint)
1820:9          direct index ( temp uint)
1830:9            'dti' ( in 3-component vector of uint)
1840:9            Constant:
1850:9              2 (const int)
1860:9        Construct uint64 (layout( row_major std430) buffer uint64_t)
1870:9          Convert uint to uint64 ( temp 4-component vector of uint64_t)
1880:9            subgroupBallot ( temp 4-component vector of uint)
1890:9              subgroupAllEqual ( temp bool)
1900:9                direct index ( temp uint)
1910:9                  'dti' ( in 3-component vector of uint)
1920:9                  Constant:
1930:9                    2 (const int)
1940:5  Function Definition: CSMain( ( temp void)
1950:5    Function Parameters:
1960:?     Sequence
1970:5      move second child to first child ( temp 3-component vector of uint)
1980:?         'dti' ( temp 3-component vector of uint)
1990:?         'dti' ( in 3-component vector of uint GlobalInvocationID)
2000:5      Function Call: @CSMain(vu3; ( temp void)
2010:?         'dti' ( temp 3-component vector of uint)
2020:?   Linker Objects
2030:?     'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
2040:?     'dti' ( in 3-component vector of uint GlobalInvocationID)
205
206// Module Version 10300
207// Generated by (magic number): 8000a
208// Id's are bound by 75
209
210                              Capability Shader
211                              Capability Int64
212                              Capability GroupNonUniform
213                              Capability GroupNonUniformVote
214                              Capability GroupNonUniformBallot
215               1:             ExtInstImport  "GLSL.std.450"
216                              MemoryModel Logical GLSL450
217                              EntryPoint GLCompute 4  "CSMain" 70
218                              ExecutionMode 4 LocalSize 32 16 1
219                              Source HLSL 500
220                              Name 4  "CSMain"
221                              Name 11  "@CSMain(vu3;"
222                              Name 10  "dti"
223                              Name 15  "data"
224                              MemberName 15(data) 0  "@data"
225                              Name 17  "data"
226                              Name 68  "dti"
227                              Name 70  "dti"
228                              Name 72  "param"
229                              Decorate 14 ArrayStride 8
230                              MemberDecorate 15(data) 0 Offset 0
231                              Decorate 15(data) BufferBlock
232                              Decorate 17(data) DescriptorSet 0
233                              Decorate 17(data) Binding 0
234                              Decorate 70(dti) BuiltIn GlobalInvocationId
235               2:             TypeVoid
236               3:             TypeFunction 2
237               6:             TypeInt 32 0
238               7:             TypeVector 6(int) 3
239               8:             TypePointer Function 7(ivec3)
240               9:             TypeFunction 2 8(ptr)
241              13:             TypeInt 64 0
242              14:             TypeRuntimeArray 13(int64_t)
243        15(data):             TypeStruct 14
244              16:             TypePointer Uniform 15(data)
245        17(data):     16(ptr) Variable Uniform
246              18:             TypeInt 32 1
247              19:     18(int) Constant 0
248              20:      6(int) Constant 0
249              21:             TypePointer Function 6(int)
250              26:             TypeBool
251              28:      6(int) Constant 3
252              30:             TypeVector 6(int) 4
253              32:             TypeVector 13(int64_t) 4
254              35:             TypePointer Uniform 13(int64_t)
255              37:      6(int) Constant 1
256              48:      6(int) Constant 2
257              69:             TypePointer Input 7(ivec3)
258         70(dti):     69(ptr) Variable Input
259       4(CSMain):           2 Function None 3
260               5:             Label
261         68(dti):      8(ptr) Variable Function
262       72(param):      8(ptr) Variable Function
263              71:    7(ivec3) Load 70(dti)
264                              Store 68(dti) 71
265              73:    7(ivec3) Load 68(dti)
266                              Store 72(param) 73
267              74:           2 FunctionCall 11(@CSMain(vu3;) 72(param)
268                              Return
269                              FunctionEnd
27011(@CSMain(vu3;):           2 Function None 9
271         10(dti):      8(ptr) FunctionParameter
272              12:             Label
273              22:     21(ptr) AccessChain 10(dti) 20
274              23:      6(int) Load 22
275              24:     21(ptr) AccessChain 10(dti) 20
276              25:      6(int) Load 24
277              27:    26(bool) IEqual 25 20
278              29:    26(bool) GroupNonUniformAny 28 27
279              31:   30(ivec4) GroupNonUniformBallot 28 29
280              33: 32(i64vec4) UConvert 31
281              34: 13(int64_t) CompositeExtract 33 0
282              36:     35(ptr) AccessChain 17(data) 19 23
283                              Store 36 34
284              38:     21(ptr) AccessChain 10(dti) 37
285              39:      6(int) Load 38
286              40:     21(ptr) AccessChain 10(dti) 37
287              41:      6(int) Load 40
288              42:    26(bool) IEqual 41 20
289              43:    26(bool) GroupNonUniformAll 28 42
290              44:   30(ivec4) GroupNonUniformBallot 28 43
291              45: 32(i64vec4) UConvert 44
292              46: 13(int64_t) CompositeExtract 45 0
293              47:     35(ptr) AccessChain 17(data) 19 39
294                              Store 47 46
295              49:     21(ptr) AccessChain 10(dti) 48
296              50:      6(int) Load 49
297              51:     21(ptr) AccessChain 10(dti) 48
298              52:      6(int) Load 51
299              53:    26(bool) IEqual 52 20
300              54:    26(bool) GroupNonUniformAllEqual 28 53
301              55:   30(ivec4) GroupNonUniformBallot 28 54
302              56: 32(i64vec4) UConvert 55
303              57: 13(int64_t) CompositeExtract 56 0
304              58:     35(ptr) AccessChain 17(data) 19 50
305                              Store 58 57
306              59:     21(ptr) AccessChain 10(dti) 48
307              60:      6(int) Load 59
308              61:     21(ptr) AccessChain 10(dti) 48
309              62:      6(int) Load 61
310              63:    26(bool) GroupNonUniformAllEqual 28 62
311              64:   30(ivec4) GroupNonUniformBallot 28 63
312              65: 32(i64vec4) UConvert 64
313              66: 13(int64_t) CompositeExtract 65 0
314              67:     35(ptr) AccessChain 17(data) 19 60
315                              Store 67 66
316                              Return
317                              FunctionEnd
318