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): 80007
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 70(dti) BuiltIn GlobalInvocationId
234               2:             TypeVoid
235               3:             TypeFunction 2
236               6:             TypeInt 32 0
237               7:             TypeVector 6(int) 3
238               8:             TypePointer Function 7(ivec3)
239               9:             TypeFunction 2 8(ptr)
240              13:             TypeInt 64 0
241              14:             TypeRuntimeArray 13(int64_t)
242        15(data):             TypeStruct 14
243              16:             TypePointer Uniform 15(data)
244        17(data):     16(ptr) Variable Uniform
245              18:             TypeInt 32 1
246              19:     18(int) Constant 0
247              20:      6(int) Constant 0
248              21:             TypePointer Function 6(int)
249              26:             TypeBool
250              28:      6(int) Constant 3
251              30:             TypeVector 6(int) 4
252              32:             TypeVector 13(int64_t) 4
253              35:             TypePointer Uniform 13(int64_t)
254              37:      6(int) Constant 1
255              48:      6(int) Constant 2
256              69:             TypePointer Input 7(ivec3)
257         70(dti):     69(ptr) Variable Input
258       4(CSMain):           2 Function None 3
259               5:             Label
260         68(dti):      8(ptr) Variable Function
261       72(param):      8(ptr) Variable Function
262              71:    7(ivec3) Load 70(dti)
263                              Store 68(dti) 71
264              73:    7(ivec3) Load 68(dti)
265                              Store 72(param) 73
266              74:           2 FunctionCall 11(@CSMain(vu3;) 72(param)
267                              Return
268                              FunctionEnd
26911(@CSMain(vu3;):           2 Function None 9
270         10(dti):      8(ptr) FunctionParameter
271              12:             Label
272              22:     21(ptr) AccessChain 10(dti) 20
273              23:      6(int) Load 22
274              24:     21(ptr) AccessChain 10(dti) 20
275              25:      6(int) Load 24
276              27:    26(bool) IEqual 25 20
277              29:    26(bool) GroupNonUniformAny 28 27
278              31:   30(ivec4) GroupNonUniformBallot 28 29
279              33: 32(i64vec4) UConvert 31
280              34: 13(int64_t) CompositeExtract 33 0
281              36:     35(ptr) AccessChain 17(data) 19 23
282                              Store 36 34
283              38:     21(ptr) AccessChain 10(dti) 37
284              39:      6(int) Load 38
285              40:     21(ptr) AccessChain 10(dti) 37
286              41:      6(int) Load 40
287              42:    26(bool) IEqual 41 20
288              43:    26(bool) GroupNonUniformAll 28 42
289              44:   30(ivec4) GroupNonUniformBallot 28 43
290              45: 32(i64vec4) UConvert 44
291              46: 13(int64_t) CompositeExtract 45 0
292              47:     35(ptr) AccessChain 17(data) 19 39
293                              Store 47 46
294              49:     21(ptr) AccessChain 10(dti) 48
295              50:      6(int) Load 49
296              51:     21(ptr) AccessChain 10(dti) 48
297              52:      6(int) Load 51
298              53:    26(bool) IEqual 52 20
299              54:    26(bool) GroupNonUniformAllEqual 28 53
300              55:   30(ivec4) GroupNonUniformBallot 28 54
301              56: 32(i64vec4) UConvert 55
302              57: 13(int64_t) CompositeExtract 56 0
303              58:     35(ptr) AccessChain 17(data) 19 50
304                              Store 58 57
305              59:     21(ptr) AccessChain 10(dti) 48
306              60:      6(int) Load 59
307              61:     21(ptr) AccessChain 10(dti) 48
308              62:      6(int) Load 61
309              63:    26(bool) GroupNonUniformAllEqual 28 62
310              64:   30(ivec4) GroupNonUniformBallot 28 63
311              65: 32(i64vec4) UConvert 64
312              66: 13(int64_t) CompositeExtract 65 0
313              67:     35(ptr) AccessChain 17(data) 19 60
314                              Store 67 66
315                              Return
316                              FunctionEnd
317