1spv.subgroupVote.comp
2// Module Version 10300
3// Generated by (magic number): 80007
4// Id's are bound by 216
5
6                              Capability Shader
7                              Capability Float64
8                              Capability GroupNonUniform
9                              Capability GroupNonUniformVote
10               1:             ExtInstImport  "GLSL.std.450"
11                              MemoryModel Logical GLSL450
12                              EntryPoint GLCompute 4  "main" 10 12
13                              ExecutionMode 4 LocalSize 8 8 1
14                              Source GLSL 450
15                              SourceExtension  "GL_KHR_shader_subgroup_basic"
16                              SourceExtension  "GL_KHR_shader_subgroup_vote"
17                              Name 4  "main"
18                              Name 8  "invocation"
19                              Name 10  "gl_SubgroupInvocationID"
20                              Name 12  "gl_SubgroupSize"
21                              Name 24  "Buffers"
22                              MemberName 24(Buffers) 0  "f4"
23                              MemberName 24(Buffers) 1  "i4"
24                              MemberName 24(Buffers) 2  "u4"
25                              MemberName 24(Buffers) 3  "d4"
26                              MemberName 24(Buffers) 4  "r"
27                              Name 27  "data"
28                              Decorate 10(gl_SubgroupInvocationID) RelaxedPrecision
29                              Decorate 10(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
30                              Decorate 11 RelaxedPrecision
31                              Decorate 12(gl_SubgroupSize) RelaxedPrecision
32                              Decorate 12(gl_SubgroupSize) BuiltIn SubgroupSize
33                              Decorate 13 RelaxedPrecision
34                              Decorate 14 RelaxedPrecision
35                              Decorate 16 RelaxedPrecision
36                              MemberDecorate 24(Buffers) 0 Offset 0
37                              MemberDecorate 24(Buffers) 1 Offset 16
38                              MemberDecorate 24(Buffers) 2 Offset 32
39                              MemberDecorate 24(Buffers) 3 Offset 64
40                              MemberDecorate 24(Buffers) 4 Offset 96
41                              Decorate 24(Buffers) BufferBlock
42                              Decorate 27(data) DescriptorSet 0
43                              Decorate 27(data) Binding 0
44                              Decorate 215 BuiltIn WorkgroupSize
45               2:             TypeVoid
46               3:             TypeFunction 2
47               6:             TypeInt 32 0
48               7:             TypePointer Function 6(int)
49               9:             TypePointer Input 6(int)
5010(gl_SubgroupInvocationID):      9(ptr) Variable Input
5112(gl_SubgroupSize):      9(ptr) Variable Input
52              15:      6(int) Constant 4
53              17:             TypeFloat 32
54              18:             TypeVector 17(float) 4
55              19:             TypeInt 32 1
56              20:             TypeVector 19(int) 4
57              21:             TypeVector 6(int) 4
58              22:             TypeFloat 64
59              23:             TypeVector 22(float64_t) 4
60     24(Buffers):             TypeStruct 18(fvec4) 20(ivec4) 21(ivec4) 23(f64vec4) 19(int)
61              25:             TypeArray 24(Buffers) 15
62              26:             TypePointer Uniform 25
63        27(data):     26(ptr) Variable Uniform
64              29:     19(int) Constant 4
65              30:             TypePointer Uniform 19(int)
66              33:     19(int) Constant 0
67              34:             TypeBool
68              36:      6(int) Constant 3
69              41:      6(int) Constant 0
70              42:             TypePointer Uniform 17(float)
71              46:     19(int) Constant 1
72              50:             TypeVector 17(float) 2
73              51:             TypePointer Uniform 18(fvec4)
74              59:     19(int) Constant 2
75              60:             TypeVector 17(float) 3
76              68:     19(int) Constant 3
77              81:             TypeVector 19(int) 2
78              82:             TypePointer Uniform 20(ivec4)
79              90:             TypeVector 19(int) 3
80             104:             TypePointer Uniform 6(int)
81             111:             TypeVector 6(int) 2
82             112:             TypePointer Uniform 21(ivec4)
83             120:             TypeVector 6(int) 3
84             142:             TypePointer Uniform 22(float64_t)
85             149:             TypeVector 22(float64_t) 2
86             150:             TypePointer Uniform 23(f64vec4)
87             158:             TypeVector 22(float64_t) 3
88             182:   81(ivec2) ConstantComposite 33 33
89             183:             TypeVector 34(bool) 2
90             194:   90(ivec3) ConstantComposite 33 33 33
91             195:             TypeVector 34(bool) 3
92             205:   20(ivec4) ConstantComposite 33 33 33 33
93             206:             TypeVector 34(bool) 4
94             213:      6(int) Constant 8
95             214:      6(int) Constant 1
96             215:  120(ivec3) ConstantComposite 213 213 214
97         4(main):           2 Function None 3
98               5:             Label
99   8(invocation):      7(ptr) Variable Function
100              11:      6(int) Load 10(gl_SubgroupInvocationID)
101              13:      6(int) Load 12(gl_SubgroupSize)
102              14:      6(int) IAdd 11 13
103              16:      6(int) UMod 14 15
104                              Store 8(invocation) 16
105              28:      6(int) Load 8(invocation)
106              31:     30(ptr) AccessChain 27(data) 28 29
107              32:     19(int) Load 31
108              35:    34(bool) SLessThan 32 33
109              37:    34(bool) GroupNonUniformAll 36 35
110                              SelectionMerge 39 None
111                              BranchConditional 37 38 133
112              38:               Label
113              40:      6(int)   Load 8(invocation)
114              43:     42(ptr)   AccessChain 27(data) 33 33 41
115              44:   17(float)   Load 43
116              45:    34(bool)   GroupNonUniformAllEqual 36 44
117              47:     19(int)   Select 45 46 33
118              48:     30(ptr)   AccessChain 27(data) 40 29
119                                Store 48 47
120              49:      6(int)   Load 8(invocation)
121              52:     51(ptr)   AccessChain 27(data) 46 33
122              53:   18(fvec4)   Load 52
123              54:   50(fvec2)   VectorShuffle 53 53 0 1
124              55:    34(bool)   GroupNonUniformAllEqual 36 54
125              56:     19(int)   Select 55 46 33
126              57:     30(ptr)   AccessChain 27(data) 49 29
127                                Store 57 56
128              58:      6(int)   Load 8(invocation)
129              61:     51(ptr)   AccessChain 27(data) 59 33
130              62:   18(fvec4)   Load 61
131              63:   60(fvec3)   VectorShuffle 62 62 0 1 2
132              64:    34(bool)   GroupNonUniformAllEqual 36 63
133              65:     19(int)   Select 64 46 33
134              66:     30(ptr)   AccessChain 27(data) 58 29
135                                Store 66 65
136              67:      6(int)   Load 8(invocation)
137              69:     51(ptr)   AccessChain 27(data) 68 33
138              70:   18(fvec4)   Load 69
139              71:    34(bool)   GroupNonUniformAllEqual 36 70
140              72:     19(int)   Select 71 46 33
141              73:     30(ptr)   AccessChain 27(data) 67 29
142                                Store 73 72
143              74:      6(int)   Load 8(invocation)
144              75:     30(ptr)   AccessChain 27(data) 33 46 41
145              76:     19(int)   Load 75
146              77:    34(bool)   GroupNonUniformAllEqual 36 76
147              78:     19(int)   Select 77 46 33
148              79:     30(ptr)   AccessChain 27(data) 74 29
149                                Store 79 78
150              80:      6(int)   Load 8(invocation)
151              83:     82(ptr)   AccessChain 27(data) 46 46
152              84:   20(ivec4)   Load 83
153              85:   81(ivec2)   VectorShuffle 84 84 0 1
154              86:    34(bool)   GroupNonUniformAllEqual 36 85
155              87:     19(int)   Select 86 46 33
156              88:     30(ptr)   AccessChain 27(data) 80 29
157                                Store 88 87
158              89:      6(int)   Load 8(invocation)
159              91:     82(ptr)   AccessChain 27(data) 59 46
160              92:   20(ivec4)   Load 91
161              93:   90(ivec3)   VectorShuffle 92 92 0 1 2
162              94:    34(bool)   GroupNonUniformAllEqual 36 93
163              95:     19(int)   Select 94 46 33
164              96:     30(ptr)   AccessChain 27(data) 89 29
165                                Store 96 95
166              97:      6(int)   Load 8(invocation)
167              98:     82(ptr)   AccessChain 27(data) 68 46
168              99:   20(ivec4)   Load 98
169             100:    34(bool)   GroupNonUniformAllEqual 36 99
170             101:     19(int)   Select 100 46 33
171             102:     30(ptr)   AccessChain 27(data) 97 29
172                                Store 102 101
173             103:      6(int)   Load 8(invocation)
174             105:    104(ptr)   AccessChain 27(data) 33 59 41
175             106:      6(int)   Load 105
176             107:    34(bool)   GroupNonUniformAllEqual 36 106
177             108:     19(int)   Select 107 46 33
178             109:     30(ptr)   AccessChain 27(data) 103 29
179                                Store 109 108
180             110:      6(int)   Load 8(invocation)
181             113:    112(ptr)   AccessChain 27(data) 46 59
182             114:   21(ivec4)   Load 113
183             115:  111(ivec2)   VectorShuffle 114 114 0 1
184             116:    34(bool)   GroupNonUniformAllEqual 36 115
185             117:     19(int)   Select 116 46 33
186             118:     30(ptr)   AccessChain 27(data) 110 29
187                                Store 118 117
188             119:      6(int)   Load 8(invocation)
189             121:    112(ptr)   AccessChain 27(data) 59 59
190             122:   21(ivec4)   Load 121
191             123:  120(ivec3)   VectorShuffle 122 122 0 1 2
192             124:    34(bool)   GroupNonUniformAllEqual 36 123
193             125:     19(int)   Select 124 46 33
194             126:     30(ptr)   AccessChain 27(data) 119 29
195                                Store 126 125
196             127:      6(int)   Load 8(invocation)
197             128:    112(ptr)   AccessChain 27(data) 68 59
198             129:   21(ivec4)   Load 128
199             130:    34(bool)   GroupNonUniformAllEqual 36 129
200             131:     19(int)   Select 130 46 33
201             132:     30(ptr)   AccessChain 27(data) 127 29
202                                Store 132 131
203                                Branch 39
204             133:               Label
205             134:      6(int)   Load 8(invocation)
206             135:     30(ptr)   AccessChain 27(data) 134 29
207             136:     19(int)   Load 135
208             137:    34(bool)   SLessThan 136 33
209             138:    34(bool)   GroupNonUniformAny 36 137
210                                SelectionMerge 140 None
211                                BranchConditional 138 139 140
212             139:                 Label
213             141:      6(int)     Load 8(invocation)
214             143:    142(ptr)     AccessChain 27(data) 33 68 41
215             144:22(float64_t)     Load 143
216             145:    34(bool)     GroupNonUniformAllEqual 36 144
217             146:     19(int)     Select 145 46 33
218             147:     30(ptr)     AccessChain 27(data) 141 29
219                                  Store 147 146
220             148:      6(int)     Load 8(invocation)
221             151:    150(ptr)     AccessChain 27(data) 46 68
222             152: 23(f64vec4)     Load 151
223             153:149(f64vec2)     VectorShuffle 152 152 0 1
224             154:    34(bool)     GroupNonUniformAllEqual 36 153
225             155:     19(int)     Select 154 46 33
226             156:     30(ptr)     AccessChain 27(data) 148 29
227                                  Store 156 155
228             157:      6(int)     Load 8(invocation)
229             159:    150(ptr)     AccessChain 27(data) 59 68
230             160: 23(f64vec4)     Load 159
231             161:158(f64vec3)     VectorShuffle 160 160 0 1 2
232             162:    34(bool)     GroupNonUniformAllEqual 36 161
233             163:     19(int)     Select 162 46 33
234             164:     30(ptr)     AccessChain 27(data) 157 29
235                                  Store 164 163
236             165:      6(int)     Load 8(invocation)
237             166:    150(ptr)     AccessChain 27(data) 68 68
238             167: 23(f64vec4)     Load 166
239             168:    34(bool)     GroupNonUniformAllEqual 36 167
240             169:     19(int)     Select 168 46 33
241             170:     30(ptr)     AccessChain 27(data) 165 29
242                                  Store 170 169
243             171:      6(int)     Load 8(invocation)
244             172:     30(ptr)     AccessChain 27(data) 33 46 41
245             173:     19(int)     Load 172
246             174:    34(bool)     SLessThan 173 33
247             175:    34(bool)     GroupNonUniformAllEqual 36 174
248             176:     19(int)     Select 175 46 33
249             177:     30(ptr)     AccessChain 27(data) 171 29
250                                  Store 177 176
251             178:      6(int)     Load 8(invocation)
252             179:     82(ptr)     AccessChain 27(data) 46 46
253             180:   20(ivec4)     Load 179
254             181:   81(ivec2)     VectorShuffle 180 180 0 1
255             184:  183(bvec2)     SLessThan 181 182
256             185:    34(bool)     GroupNonUniformAllEqual 36 184
257             186:     19(int)     Select 185 46 33
258             187:   81(ivec2)     CompositeConstruct 186 186
259             188:     19(int)     CompositeExtract 187 0
260             189:     30(ptr)     AccessChain 27(data) 178 29
261                                  Store 189 188
262             190:      6(int)     Load 8(invocation)
263             191:     82(ptr)     AccessChain 27(data) 46 46
264             192:   20(ivec4)     Load 191
265             193:   90(ivec3)     VectorShuffle 192 192 0 1 2
266             196:  195(bvec3)     SLessThan 193 194
267             197:    34(bool)     GroupNonUniformAllEqual 36 196
268             198:     19(int)     Select 197 46 33
269             199:   90(ivec3)     CompositeConstruct 198 198 198
270             200:     19(int)     CompositeExtract 199 0
271             201:     30(ptr)     AccessChain 27(data) 190 29
272                                  Store 201 200
273             202:      6(int)     Load 8(invocation)
274             203:     82(ptr)     AccessChain 27(data) 46 46
275             204:   20(ivec4)     Load 203
276             207:  206(bvec4)     SLessThan 204 205
277             208:    34(bool)     GroupNonUniformAllEqual 36 207
278             209:     19(int)     Select 208 46 33
279             210:   20(ivec4)     CompositeConstruct 209 209 209 209
280             211:     19(int)     CompositeExtract 210 0
281             212:     30(ptr)     AccessChain 27(data) 202 29
282                                  Store 212 211
283                                  Branch 140
284             140:               Label
285                                Branch 39
286              39:             Label
287                              Return
288                              FunctionEnd
289