• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1spv.subgroupExtendedTypesVote.comp
2// Module Version 10300
3// Generated by (magic number): 8000b
4// Id's are bound by 277
5
6                              Capability Shader
7                              Capability Float16
8                              Capability Int64
9                              Capability Int16
10                              Capability Int8
11                              Capability GroupNonUniform
12                              Capability GroupNonUniformVote
13                              Capability StorageUniformBufferBlock16
14                              Capability StorageBuffer8BitAccess
15                              Extension  "SPV_KHR_8bit_storage"
16               1:             ExtInstImport  "GLSL.std.450"
17                              MemoryModel Logical GLSL450
18                              EntryPoint GLCompute 4  "main" 10 12
19                              ExecutionMode 4 LocalSize 8 1 1
20                              Source GLSL 450
21                              SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_float16"
22                              SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_int16"
23                              SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_int64"
24                              SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_int8"
25                              SourceExtension  "GL_EXT_shader_subgroup_extended_types_float16"
26                              SourceExtension  "GL_EXT_shader_subgroup_extended_types_int16"
27                              SourceExtension  "GL_EXT_shader_subgroup_extended_types_int64"
28                              SourceExtension  "GL_EXT_shader_subgroup_extended_types_int8"
29                              SourceExtension  "GL_KHR_shader_subgroup_basic"
30                              SourceExtension  "GL_KHR_shader_subgroup_vote"
31                              Name 4  "main"
32                              Name 8  "invocation"
33                              Name 10  "gl_SubgroupInvocationID"
34                              Name 12  "gl_SubgroupSize"
35                              Name 32  "Buffers"
36                              MemberName 32(Buffers) 0  "i8"
37                              MemberName 32(Buffers) 1  "u8"
38                              MemberName 32(Buffers) 2  "i16"
39                              MemberName 32(Buffers) 3  "u16"
40                              MemberName 32(Buffers) 4  "i64"
41                              MemberName 32(Buffers) 5  "u64"
42                              MemberName 32(Buffers) 6  "f16"
43                              MemberName 32(Buffers) 7  "r"
44                              Name 35  "data"
45                              Decorate 10(gl_SubgroupInvocationID) RelaxedPrecision
46                              Decorate 10(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
47                              Decorate 11 RelaxedPrecision
48                              Decorate 12(gl_SubgroupSize) RelaxedPrecision
49                              Decorate 12(gl_SubgroupSize) BuiltIn SubgroupSize
50                              Decorate 13 RelaxedPrecision
51                              Decorate 14 RelaxedPrecision
52                              Decorate 16 RelaxedPrecision
53                              MemberDecorate 32(Buffers) 0 Offset 0
54                              MemberDecorate 32(Buffers) 1 Offset 4
55                              MemberDecorate 32(Buffers) 2 Offset 8
56                              MemberDecorate 32(Buffers) 3 Offset 16
57                              MemberDecorate 32(Buffers) 4 Offset 32
58                              MemberDecorate 32(Buffers) 5 Offset 64
59                              MemberDecorate 32(Buffers) 6 Offset 96
60                              MemberDecorate 32(Buffers) 7 Offset 104
61                              Decorate 32(Buffers) Block
62                              Decorate 35(data) DescriptorSet 0
63                              Decorate 35(data) Binding 0
64                              Decorate 276 BuiltIn WorkgroupSize
65               2:             TypeVoid
66               3:             TypeFunction 2
67               6:             TypeInt 32 0
68               7:             TypePointer Function 6(int)
69               9:             TypePointer Input 6(int)
7010(gl_SubgroupInvocationID):      9(ptr) Variable Input
7112(gl_SubgroupSize):      9(ptr) Variable Input
72              15:      6(int) Constant 4
73              17:             TypeInt 8 1
74              18:             TypeVector 17(int8_t) 4
75              19:             TypeInt 8 0
76              20:             TypeVector 19(int8_t) 4
77              21:             TypeInt 16 1
78              22:             TypeVector 21(int16_t) 4
79              23:             TypeInt 16 0
80              24:             TypeVector 23(int16_t) 4
81              25:             TypeInt 64 1
82              26:             TypeVector 25(int64_t) 4
83              27:             TypeInt 64 0
84              28:             TypeVector 27(int64_t) 4
85              29:             TypeFloat 16
86              30:             TypeVector 29(float16_t) 4
87              31:             TypeInt 32 1
88     32(Buffers):             TypeStruct 18(i8vec4) 20(i8vec4) 22(i16vec4) 24(i16vec4) 26(i64vec4) 28(i64vec4) 30(f16vec4) 31(int)
89              33:             TypeArray 32(Buffers) 15
90              34:             TypePointer StorageBuffer 33
91        35(data):     34(ptr) Variable StorageBuffer
92              37:     31(int) Constant 7
93              38:             TypePointer StorageBuffer 31(int)
94              41:     31(int) Constant 0
95              42:             TypeBool
96              44:      6(int) Constant 3
97              49:      6(int) Constant 0
98              50:             TypePointer StorageBuffer 17(int8_t)
99              54:     31(int) Constant 1
100              58:             TypeVector 17(int8_t) 2
101              59:             TypePointer StorageBuffer 18(i8vec4)
102              67:     31(int) Constant 2
103              68:             TypeVector 17(int8_t) 3
104              76:     31(int) Constant 3
105              83:             TypePointer StorageBuffer 19(int8_t)
106              90:             TypeVector 19(int8_t) 2
107              91:             TypePointer StorageBuffer 20(i8vec4)
108              99:             TypeVector 19(int8_t) 3
109             113:             TypePointer StorageBuffer 21(int16_t)
110             120:             TypeVector 21(int16_t) 2
111             121:             TypePointer StorageBuffer 22(i16vec4)
112             129:             TypeVector 21(int16_t) 3
113             143:             TypePointer StorageBuffer 23(int16_t)
114             150:             TypeVector 23(int16_t) 2
115             151:             TypePointer StorageBuffer 24(i16vec4)
116             159:             TypeVector 23(int16_t) 3
117             181:     31(int) Constant 4
118             182:             TypePointer StorageBuffer 25(int64_t)
119             189:             TypeVector 25(int64_t) 2
120             190:             TypePointer StorageBuffer 26(i64vec4)
121             198:             TypeVector 25(int64_t) 3
122             212:     31(int) Constant 5
123             213:             TypePointer StorageBuffer 27(int64_t)
124             220:             TypeVector 27(int64_t) 2
125             221:             TypePointer StorageBuffer 28(i64vec4)
126             229:             TypeVector 27(int64_t) 3
127             243:     31(int) Constant 6
128             244:             TypePointer StorageBuffer 29(float16_t)
129             251:             TypeVector 29(float16_t) 2
130             252:             TypePointer StorageBuffer 30(f16vec4)
131             260:             TypeVector 29(float16_t) 3
132             273:             TypeVector 6(int) 3
133             274:      6(int) Constant 8
134             275:      6(int) Constant 1
135             276:  273(ivec3) ConstantComposite 274 275 275
136         4(main):           2 Function None 3
137               5:             Label
138   8(invocation):      7(ptr) Variable Function
139              11:      6(int) Load 10(gl_SubgroupInvocationID)
140              13:      6(int) Load 12(gl_SubgroupSize)
141              14:      6(int) IAdd 11 13
142              16:      6(int) UMod 14 15
143                              Store 8(invocation) 16
144              36:      6(int) Load 8(invocation)
145              39:     38(ptr) AccessChain 35(data) 36 37
146              40:     31(int) Load 39
147              43:    42(bool) SLessThan 40 41
148              45:    42(bool) GroupNonUniformAll 44 43
149                              SelectionMerge 47 None
150                              BranchConditional 45 46 172
151              46:               Label
152              48:      6(int)   Load 8(invocation)
153              51:     50(ptr)   AccessChain 35(data) 41 41 49
154              52:  17(int8_t)   Load 51
155              53:    42(bool)   GroupNonUniformAllEqual 44 52
156              55:     31(int)   Select 53 54 41
157              56:     38(ptr)   AccessChain 35(data) 48 37
158                                Store 56 55
159              57:      6(int)   Load 8(invocation)
160              60:     59(ptr)   AccessChain 35(data) 54 41
161              61:  18(i8vec4)   Load 60
162              62:  58(i8vec2)   VectorShuffle 61 61 0 1
163              63:    42(bool)   GroupNonUniformAllEqual 44 62
164              64:     31(int)   Select 63 54 41
165              65:     38(ptr)   AccessChain 35(data) 57 37
166                                Store 65 64
167              66:      6(int)   Load 8(invocation)
168              69:     59(ptr)   AccessChain 35(data) 67 41
169              70:  18(i8vec4)   Load 69
170              71:  68(i8vec3)   VectorShuffle 70 70 0 1 2
171              72:    42(bool)   GroupNonUniformAllEqual 44 71
172              73:     31(int)   Select 72 54 41
173              74:     38(ptr)   AccessChain 35(data) 66 37
174                                Store 74 73
175              75:      6(int)   Load 8(invocation)
176              77:     59(ptr)   AccessChain 35(data) 76 41
177              78:  18(i8vec4)   Load 77
178              79:    42(bool)   GroupNonUniformAllEqual 44 78
179              80:     31(int)   Select 79 54 41
180              81:     38(ptr)   AccessChain 35(data) 75 37
181                                Store 81 80
182              82:      6(int)   Load 8(invocation)
183              84:     83(ptr)   AccessChain 35(data) 41 54 49
184              85:  19(int8_t)   Load 84
185              86:    42(bool)   GroupNonUniformAllEqual 44 85
186              87:     31(int)   Select 86 54 41
187              88:     38(ptr)   AccessChain 35(data) 82 37
188                                Store 88 87
189              89:      6(int)   Load 8(invocation)
190              92:     91(ptr)   AccessChain 35(data) 54 54
191              93:  20(i8vec4)   Load 92
192              94:  90(i8vec2)   VectorShuffle 93 93 0 1
193              95:    42(bool)   GroupNonUniformAllEqual 44 94
194              96:     31(int)   Select 95 54 41
195              97:     38(ptr)   AccessChain 35(data) 89 37
196                                Store 97 96
197              98:      6(int)   Load 8(invocation)
198             100:     91(ptr)   AccessChain 35(data) 67 54
199             101:  20(i8vec4)   Load 100
200             102:  99(i8vec3)   VectorShuffle 101 101 0 1 2
201             103:    42(bool)   GroupNonUniformAllEqual 44 102
202             104:     31(int)   Select 103 54 41
203             105:     38(ptr)   AccessChain 35(data) 98 37
204                                Store 105 104
205             106:      6(int)   Load 8(invocation)
206             107:     91(ptr)   AccessChain 35(data) 76 54
207             108:  20(i8vec4)   Load 107
208             109:    42(bool)   GroupNonUniformAllEqual 44 108
209             110:     31(int)   Select 109 54 41
210             111:     38(ptr)   AccessChain 35(data) 106 37
211                                Store 111 110
212             112:      6(int)   Load 8(invocation)
213             114:    113(ptr)   AccessChain 35(data) 41 67 49
214             115: 21(int16_t)   Load 114
215             116:    42(bool)   GroupNonUniformAllEqual 44 115
216             117:     31(int)   Select 116 54 41
217             118:     38(ptr)   AccessChain 35(data) 112 37
218                                Store 118 117
219             119:      6(int)   Load 8(invocation)
220             122:    121(ptr)   AccessChain 35(data) 54 67
221             123: 22(i16vec4)   Load 122
222             124:120(i16vec2)   VectorShuffle 123 123 0 1
223             125:    42(bool)   GroupNonUniformAllEqual 44 124
224             126:     31(int)   Select 125 54 41
225             127:     38(ptr)   AccessChain 35(data) 119 37
226                                Store 127 126
227             128:      6(int)   Load 8(invocation)
228             130:    121(ptr)   AccessChain 35(data) 67 67
229             131: 22(i16vec4)   Load 130
230             132:129(i16vec3)   VectorShuffle 131 131 0 1 2
231             133:    42(bool)   GroupNonUniformAllEqual 44 132
232             134:     31(int)   Select 133 54 41
233             135:     38(ptr)   AccessChain 35(data) 128 37
234                                Store 135 134
235             136:      6(int)   Load 8(invocation)
236             137:    121(ptr)   AccessChain 35(data) 76 67
237             138: 22(i16vec4)   Load 137
238             139:    42(bool)   GroupNonUniformAllEqual 44 138
239             140:     31(int)   Select 139 54 41
240             141:     38(ptr)   AccessChain 35(data) 136 37
241                                Store 141 140
242             142:      6(int)   Load 8(invocation)
243             144:    143(ptr)   AccessChain 35(data) 41 76 49
244             145: 23(int16_t)   Load 144
245             146:    42(bool)   GroupNonUniformAllEqual 44 145
246             147:     31(int)   Select 146 54 41
247             148:     38(ptr)   AccessChain 35(data) 142 37
248                                Store 148 147
249             149:      6(int)   Load 8(invocation)
250             152:    151(ptr)   AccessChain 35(data) 54 76
251             153: 24(i16vec4)   Load 152
252             154:150(i16vec2)   VectorShuffle 153 153 0 1
253             155:    42(bool)   GroupNonUniformAllEqual 44 154
254             156:     31(int)   Select 155 54 41
255             157:     38(ptr)   AccessChain 35(data) 149 37
256                                Store 157 156
257             158:      6(int)   Load 8(invocation)
258             160:    151(ptr)   AccessChain 35(data) 67 76
259             161: 24(i16vec4)   Load 160
260             162:159(i16vec3)   VectorShuffle 161 161 0 1 2
261             163:    42(bool)   GroupNonUniformAllEqual 44 162
262             164:     31(int)   Select 163 54 41
263             165:     38(ptr)   AccessChain 35(data) 158 37
264                                Store 165 164
265             166:      6(int)   Load 8(invocation)
266             167:    151(ptr)   AccessChain 35(data) 76 76
267             168: 24(i16vec4)   Load 167
268             169:    42(bool)   GroupNonUniformAllEqual 44 168
269             170:     31(int)   Select 169 54 41
270             171:     38(ptr)   AccessChain 35(data) 166 37
271                                Store 171 170
272                                Branch 47
273             172:               Label
274             173:      6(int)   Load 8(invocation)
275             174:     38(ptr)   AccessChain 35(data) 173 37
276             175:     31(int)   Load 174
277             176:    42(bool)   SLessThan 175 41
278             177:    42(bool)   GroupNonUniformAny 44 176
279                                SelectionMerge 179 None
280                                BranchConditional 177 178 179
281             178:                 Label
282             180:      6(int)     Load 8(invocation)
283             183:    182(ptr)     AccessChain 35(data) 41 181 49
284             184: 25(int64_t)     Load 183
285             185:    42(bool)     GroupNonUniformAllEqual 44 184
286             186:     31(int)     Select 185 54 41
287             187:     38(ptr)     AccessChain 35(data) 180 37
288                                  Store 187 186
289             188:      6(int)     Load 8(invocation)
290             191:    190(ptr)     AccessChain 35(data) 54 181
291             192: 26(i64vec4)     Load 191
292             193:189(i64vec2)     VectorShuffle 192 192 0 1
293             194:    42(bool)     GroupNonUniformAllEqual 44 193
294             195:     31(int)     Select 194 54 41
295             196:     38(ptr)     AccessChain 35(data) 188 37
296                                  Store 196 195
297             197:      6(int)     Load 8(invocation)
298             199:    190(ptr)     AccessChain 35(data) 67 181
299             200: 26(i64vec4)     Load 199
300             201:198(i64vec3)     VectorShuffle 200 200 0 1 2
301             202:    42(bool)     GroupNonUniformAllEqual 44 201
302             203:     31(int)     Select 202 54 41
303             204:     38(ptr)     AccessChain 35(data) 197 37
304                                  Store 204 203
305             205:      6(int)     Load 8(invocation)
306             206:    190(ptr)     AccessChain 35(data) 76 181
307             207: 26(i64vec4)     Load 206
308             208:    42(bool)     GroupNonUniformAllEqual 44 207
309             209:     31(int)     Select 208 54 41
310             210:     38(ptr)     AccessChain 35(data) 205 37
311                                  Store 210 209
312             211:      6(int)     Load 8(invocation)
313             214:    213(ptr)     AccessChain 35(data) 41 212 49
314             215: 27(int64_t)     Load 214
315             216:    42(bool)     GroupNonUniformAllEqual 44 215
316             217:     31(int)     Select 216 54 41
317             218:     38(ptr)     AccessChain 35(data) 211 37
318                                  Store 218 217
319             219:      6(int)     Load 8(invocation)
320             222:    221(ptr)     AccessChain 35(data) 54 212
321             223: 28(i64vec4)     Load 222
322             224:220(i64vec2)     VectorShuffle 223 223 0 1
323             225:    42(bool)     GroupNonUniformAllEqual 44 224
324             226:     31(int)     Select 225 54 41
325             227:     38(ptr)     AccessChain 35(data) 219 37
326                                  Store 227 226
327             228:      6(int)     Load 8(invocation)
328             230:    221(ptr)     AccessChain 35(data) 67 212
329             231: 28(i64vec4)     Load 230
330             232:229(i64vec3)     VectorShuffle 231 231 0 1 2
331             233:    42(bool)     GroupNonUniformAllEqual 44 232
332             234:     31(int)     Select 233 54 41
333             235:     38(ptr)     AccessChain 35(data) 228 37
334                                  Store 235 234
335             236:      6(int)     Load 8(invocation)
336             237:    221(ptr)     AccessChain 35(data) 76 212
337             238: 28(i64vec4)     Load 237
338             239:    42(bool)     GroupNonUniformAllEqual 44 238
339             240:     31(int)     Select 239 54 41
340             241:     38(ptr)     AccessChain 35(data) 236 37
341                                  Store 241 240
342             242:      6(int)     Load 8(invocation)
343             245:    244(ptr)     AccessChain 35(data) 41 243 49
344             246:29(float16_t)     Load 245
345             247:    42(bool)     GroupNonUniformAllEqual 44 246
346             248:     31(int)     Select 247 54 41
347             249:     38(ptr)     AccessChain 35(data) 242 37
348                                  Store 249 248
349             250:      6(int)     Load 8(invocation)
350             253:    252(ptr)     AccessChain 35(data) 54 243
351             254: 30(f16vec4)     Load 253
352             255:251(f16vec2)     VectorShuffle 254 254 0 1
353             256:    42(bool)     GroupNonUniformAllEqual 44 255
354             257:     31(int)     Select 256 54 41
355             258:     38(ptr)     AccessChain 35(data) 250 37
356                                  Store 258 257
357             259:      6(int)     Load 8(invocation)
358             261:    252(ptr)     AccessChain 35(data) 67 243
359             262: 30(f16vec4)     Load 261
360             263:260(f16vec3)     VectorShuffle 262 262 0 1 2
361             264:    42(bool)     GroupNonUniformAllEqual 44 263
362             265:     31(int)     Select 264 54 41
363             266:     38(ptr)     AccessChain 35(data) 259 37
364                                  Store 266 265
365             267:      6(int)     Load 8(invocation)
366             268:    252(ptr)     AccessChain 35(data) 76 243
367             269: 30(f16vec4)     Load 268
368             270:    42(bool)     GroupNonUniformAllEqual 44 269
369             271:     31(int)     Select 270 54 41
370             272:     38(ptr)     AccessChain 35(data) 267 37
371                                  Store 272 271
372                                  Branch 179
373             179:               Label
374                                Branch 47
375              47:             Label
376                              Return
377                              FunctionEnd
378