1hlsl.wavequery.comp
2Shader version: 500
3local_size = (32, 16, 1)
40:? Sequence
50:5  Function Definition: @CSMain( ( temp void)
60:5    Function Parameters:
70:?     Sequence
80:6      move second child to first child ( temp uint)
90:6        indirect index (layout( row_major std430) buffer uint)
100:6          @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
110:6            'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
120:6            Constant:
130:6              0 (const uint)
140:6          '@gl_SubgroupInvocationID' ( in uint unknown built-in variable)
150:6        Test condition and select ( temp uint): no shortcircuit
160:6          Condition
170:6          subgroupElect ( temp bool)
180:6          true case
190:6          '@gl_SubgroupSize' ( in uint unknown built-in variable)
200:6          false case
210:6          Constant:
220:6            0 (const uint)
230:5  Function Definition: CSMain( ( temp void)
240:5    Function Parameters:
250:?     Sequence
260:5      Function Call: @CSMain( ( temp void)
270:?   Linker Objects
280:?     'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
29
30
31Linked compute stage:
32
33
34Shader version: 500
35local_size = (32, 16, 1)
360:? Sequence
370:5  Function Definition: @CSMain( ( temp void)
380:5    Function Parameters:
390:?     Sequence
400:6      move second child to first child ( temp uint)
410:6        indirect index (layout( row_major std430) buffer uint)
420:6          @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
430:6            'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
440:6            Constant:
450:6              0 (const uint)
460:6          '@gl_SubgroupInvocationID' ( in uint unknown built-in variable)
470:6        Test condition and select ( temp uint): no shortcircuit
480:6          Condition
490:6          subgroupElect ( temp bool)
500:6          true case
510:6          '@gl_SubgroupSize' ( in uint unknown built-in variable)
520:6          false case
530:6          Constant:
540:6            0 (const uint)
550:5  Function Definition: CSMain( ( temp void)
560:5    Function Parameters:
570:?     Sequence
580:5      Function Call: @CSMain( ( temp void)
590:?   Linker Objects
600:?     'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
61
62// Module Version 10300
63// Generated by (magic number): 80007
64// Id's are bound by 28
65
66                              Capability Shader
67                              Capability GroupNonUniform
68               1:             ExtInstImport  "GLSL.std.450"
69                              MemoryModel Logical GLSL450
70                              EntryPoint GLCompute 4  "CSMain" 16 21
71                              ExecutionMode 4 LocalSize 32 16 1
72                              Source HLSL 500
73                              Name 4  "CSMain"
74                              Name 6  "@CSMain("
75                              Name 10  "data"
76                              MemberName 10(data) 0  "@data"
77                              Name 12  "data"
78                              Name 16  "@gl_SubgroupInvocationID"
79                              Name 21  "@gl_SubgroupSize"
80                              Decorate 9 ArrayStride 4
81                              MemberDecorate 10(data) 0 Offset 0
82                              Decorate 10(data) BufferBlock
83                              Decorate 12(data) DescriptorSet 0
84                              Decorate 16(@gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
85                              Decorate 21(@gl_SubgroupSize) BuiltIn SubgroupSize
86               2:             TypeVoid
87               3:             TypeFunction 2
88               8:             TypeInt 32 0
89               9:             TypeRuntimeArray 8(int)
90        10(data):             TypeStruct 9
91              11:             TypePointer Uniform 10(data)
92        12(data):     11(ptr) Variable Uniform
93              13:             TypeInt 32 1
94              14:     13(int) Constant 0
95              15:             TypePointer Input 8(int)
9616(@gl_SubgroupInvocationID):     15(ptr) Variable Input
97              18:             TypeBool
98              19:      8(int) Constant 3
9921(@gl_SubgroupSize):     15(ptr) Variable Input
100              23:      8(int) Constant 0
101              25:             TypePointer Uniform 8(int)
102       4(CSMain):           2 Function None 3
103               5:             Label
104              27:           2 FunctionCall 6(@CSMain()
105                              Return
106                              FunctionEnd
107     6(@CSMain():           2 Function None 3
108               7:             Label
109              17:      8(int) Load 16(@gl_SubgroupInvocationID)
110              20:    18(bool) GroupNonUniformElect 19
111              22:      8(int) Load 21(@gl_SubgroupSize)
112              24:      8(int) Select 20 22 23
113              26:     25(ptr) AccessChain 12(data) 14 17
114                              Store 26 24
115                              Return
116                              FunctionEnd
117