1#[doc = "Extended instruction operand kinds."]
6#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
7#[allow(clippy::upper_case_acronyms)]
8pub enum ExtOperandKind {
9 KernelPropertyFlags,
10}
11static NONSEMANTIC_CLSPVREFLECTION_INSTRUCTIONS: &[ExtendedInstruction<'static>] = &[
12 ext_inst!(
13 NonsemanticClspvreflection,
14 NonsemanticClspvreflectionOp,
15 Kernel,
16 [],
17 [],
18 [
19 (OperandKind::IdRef, One),
20 (OperandKind::IdRef, One),
21 (OperandKind::IdRef, ZeroOrOne),
22 (OperandKind::IdRef, ZeroOrOne),
23 (OperandKind::IdRef, ZeroOrOne)
24 ],
25 ),
26 ext_inst!(
27 NonsemanticClspvreflection,
28 NonsemanticClspvreflectionOp,
29 ArgumentInfo,
30 [],
31 [],
32 [
33 (OperandKind::IdRef, One),
34 (OperandKind::IdRef, ZeroOrOne),
35 (OperandKind::IdRef, ZeroOrOne),
36 (OperandKind::IdRef, ZeroOrOne),
37 (OperandKind::IdRef, ZeroOrOne)
38 ],
39 ),
40 ext_inst!(
41 NonsemanticClspvreflection,
42 NonsemanticClspvreflectionOp,
43 ArgumentStorageBuffer,
44 [],
45 [],
46 [
47 (OperandKind::IdRef, One),
48 (OperandKind::IdRef, One),
49 (OperandKind::IdRef, One),
50 (OperandKind::IdRef, One),
51 (OperandKind::IdRef, ZeroOrOne)
52 ],
53 ),
54 ext_inst!(
55 NonsemanticClspvreflection,
56 NonsemanticClspvreflectionOp,
57 ArgumentUniform,
58 [],
59 [],
60 [
61 (OperandKind::IdRef, One),
62 (OperandKind::IdRef, One),
63 (OperandKind::IdRef, One),
64 (OperandKind::IdRef, One),
65 (OperandKind::IdRef, ZeroOrOne)
66 ],
67 ),
68 ext_inst!(
69 NonsemanticClspvreflection,
70 NonsemanticClspvreflectionOp,
71 ArgumentPodStorageBuffer,
72 [],
73 [],
74 [
75 (OperandKind::IdRef, One),
76 (OperandKind::IdRef, One),
77 (OperandKind::IdRef, One),
78 (OperandKind::IdRef, One),
79 (OperandKind::IdRef, One),
80 (OperandKind::IdRef, One),
81 (OperandKind::IdRef, ZeroOrOne)
82 ],
83 ),
84 ext_inst!(
85 NonsemanticClspvreflection,
86 NonsemanticClspvreflectionOp,
87 ArgumentPodUniform,
88 [],
89 [],
90 [
91 (OperandKind::IdRef, One),
92 (OperandKind::IdRef, One),
93 (OperandKind::IdRef, One),
94 (OperandKind::IdRef, One),
95 (OperandKind::IdRef, One),
96 (OperandKind::IdRef, One),
97 (OperandKind::IdRef, ZeroOrOne)
98 ],
99 ),
100 ext_inst!(
101 NonsemanticClspvreflection,
102 NonsemanticClspvreflectionOp,
103 ArgumentPodPushConstant,
104 [],
105 [],
106 [
107 (OperandKind::IdRef, One),
108 (OperandKind::IdRef, One),
109 (OperandKind::IdRef, One),
110 (OperandKind::IdRef, One),
111 (OperandKind::IdRef, ZeroOrOne)
112 ],
113 ),
114 ext_inst!(
115 NonsemanticClspvreflection,
116 NonsemanticClspvreflectionOp,
117 ArgumentSampledImage,
118 [],
119 [],
120 [
121 (OperandKind::IdRef, One),
122 (OperandKind::IdRef, One),
123 (OperandKind::IdRef, One),
124 (OperandKind::IdRef, One),
125 (OperandKind::IdRef, ZeroOrOne)
126 ],
127 ),
128 ext_inst!(
129 NonsemanticClspvreflection,
130 NonsemanticClspvreflectionOp,
131 ArgumentStorageImage,
132 [],
133 [],
134 [
135 (OperandKind::IdRef, One),
136 (OperandKind::IdRef, One),
137 (OperandKind::IdRef, One),
138 (OperandKind::IdRef, One),
139 (OperandKind::IdRef, ZeroOrOne)
140 ],
141 ),
142 ext_inst!(
143 NonsemanticClspvreflection,
144 NonsemanticClspvreflectionOp,
145 ArgumentSampler,
146 [],
147 [],
148 [
149 (OperandKind::IdRef, One),
150 (OperandKind::IdRef, One),
151 (OperandKind::IdRef, One),
152 (OperandKind::IdRef, One),
153 (OperandKind::IdRef, ZeroOrOne)
154 ],
155 ),
156 ext_inst!(
157 NonsemanticClspvreflection,
158 NonsemanticClspvreflectionOp,
159 ArgumentWorkgroup,
160 [],
161 [],
162 [
163 (OperandKind::IdRef, One),
164 (OperandKind::IdRef, One),
165 (OperandKind::IdRef, One),
166 (OperandKind::IdRef, One),
167 (OperandKind::IdRef, ZeroOrOne)
168 ],
169 ),
170 ext_inst!(
171 NonsemanticClspvreflection,
172 NonsemanticClspvreflectionOp,
173 SpecConstantWorkgroupSize,
174 [],
175 [],
176 [
177 (OperandKind::IdRef, One),
178 (OperandKind::IdRef, One),
179 (OperandKind::IdRef, One)
180 ],
181 ),
182 ext_inst!(
183 NonsemanticClspvreflection,
184 NonsemanticClspvreflectionOp,
185 SpecConstantGlobalOffset,
186 [],
187 [],
188 [
189 (OperandKind::IdRef, One),
190 (OperandKind::IdRef, One),
191 (OperandKind::IdRef, One)
192 ],
193 ),
194 ext_inst!(
195 NonsemanticClspvreflection,
196 NonsemanticClspvreflectionOp,
197 SpecConstantWorkDim,
198 [],
199 [],
200 [(OperandKind::IdRef, One)],
201 ),
202 ext_inst!(
203 NonsemanticClspvreflection,
204 NonsemanticClspvreflectionOp,
205 PushConstantGlobalOffset,
206 [],
207 [],
208 [(OperandKind::IdRef, One), (OperandKind::IdRef, One)],
209 ),
210 ext_inst!(
211 NonsemanticClspvreflection,
212 NonsemanticClspvreflectionOp,
213 PushConstantEnqueuedLocalSize,
214 [],
215 [],
216 [(OperandKind::IdRef, One), (OperandKind::IdRef, One)],
217 ),
218 ext_inst!(
219 NonsemanticClspvreflection,
220 NonsemanticClspvreflectionOp,
221 PushConstantGlobalSize,
222 [],
223 [],
224 [(OperandKind::IdRef, One), (OperandKind::IdRef, One)],
225 ),
226 ext_inst!(
227 NonsemanticClspvreflection,
228 NonsemanticClspvreflectionOp,
229 PushConstantRegionOffset,
230 [],
231 [],
232 [(OperandKind::IdRef, One), (OperandKind::IdRef, One)],
233 ),
234 ext_inst!(
235 NonsemanticClspvreflection,
236 NonsemanticClspvreflectionOp,
237 PushConstantNumWorkgroups,
238 [],
239 [],
240 [(OperandKind::IdRef, One), (OperandKind::IdRef, One)],
241 ),
242 ext_inst!(
243 NonsemanticClspvreflection,
244 NonsemanticClspvreflectionOp,
245 PushConstantRegionGroupOffset,
246 [],
247 [],
248 [(OperandKind::IdRef, One), (OperandKind::IdRef, One)],
249 ),
250 ext_inst!(
251 NonsemanticClspvreflection,
252 NonsemanticClspvreflectionOp,
253 ConstantDataStorageBuffer,
254 [],
255 [],
256 [
257 (OperandKind::IdRef, One),
258 (OperandKind::IdRef, One),
259 (OperandKind::IdRef, One)
260 ],
261 ),
262 ext_inst!(
263 NonsemanticClspvreflection,
264 NonsemanticClspvreflectionOp,
265 ConstantDataUniform,
266 [],
267 [],
268 [
269 (OperandKind::IdRef, One),
270 (OperandKind::IdRef, One),
271 (OperandKind::IdRef, One)
272 ],
273 ),
274 ext_inst!(
275 NonsemanticClspvreflection,
276 NonsemanticClspvreflectionOp,
277 LiteralSampler,
278 [],
279 [],
280 [
281 (OperandKind::IdRef, One),
282 (OperandKind::IdRef, One),
283 (OperandKind::IdRef, One)
284 ],
285 ),
286 ext_inst!(
287 NonsemanticClspvreflection,
288 NonsemanticClspvreflectionOp,
289 PropertyRequiredWorkgroupSize,
290 [],
291 [],
292 [
293 (OperandKind::IdRef, One),
294 (OperandKind::IdRef, One),
295 (OperandKind::IdRef, One),
296 (OperandKind::IdRef, One)
297 ],
298 ),
299 ext_inst!(
300 NonsemanticClspvreflection,
301 NonsemanticClspvreflectionOp,
302 SpecConstantSubgroupMaxSize,
303 [],
304 [],
305 [(OperandKind::IdRef, One)],
306 ),
307 ext_inst!(
308 NonsemanticClspvreflection,
309 NonsemanticClspvreflectionOp,
310 ArgumentPointerPushConstant,
311 [],
312 [],
313 [
314 (OperandKind::IdRef, One),
315 (OperandKind::IdRef, One),
316 (OperandKind::IdRef, One),
317 (OperandKind::IdRef, One),
318 (OperandKind::IdRef, ZeroOrOne)
319 ],
320 ),
321 ext_inst!(
322 NonsemanticClspvreflection,
323 NonsemanticClspvreflectionOp,
324 ArgumentPointerUniform,
325 [],
326 [],
327 [
328 (OperandKind::IdRef, One),
329 (OperandKind::IdRef, One),
330 (OperandKind::IdRef, One),
331 (OperandKind::IdRef, One),
332 (OperandKind::IdRef, One),
333 (OperandKind::IdRef, One),
334 (OperandKind::IdRef, ZeroOrOne)
335 ],
336 ),
337 ext_inst!(
338 NonsemanticClspvreflection,
339 NonsemanticClspvreflectionOp,
340 ProgramScopeVariablesStorageBuffer,
341 [],
342 [],
343 [
344 (OperandKind::IdRef, One),
345 (OperandKind::IdRef, One),
346 (OperandKind::IdRef, One)
347 ],
348 ),
349 ext_inst!(
350 NonsemanticClspvreflection,
351 NonsemanticClspvreflectionOp,
352 ProgramScopeVariablePointerRelocation,
353 [],
354 [],
355 [
356 (OperandKind::IdRef, One),
357 (OperandKind::IdRef, One),
358 (OperandKind::IdRef, One)
359 ],
360 ),
361 ext_inst!(
362 NonsemanticClspvreflection,
363 NonsemanticClspvreflectionOp,
364 ImageArgumentInfoChannelOrderPushConstant,
365 [],
366 [],
367 [
368 (OperandKind::IdRef, One),
369 (OperandKind::IdRef, One),
370 (OperandKind::IdRef, One),
371 (OperandKind::IdRef, One)
372 ],
373 ),
374 ext_inst!(
375 NonsemanticClspvreflection,
376 NonsemanticClspvreflectionOp,
377 ImageArgumentInfoChannelDataTypePushConstant,
378 [],
379 [],
380 [
381 (OperandKind::IdRef, One),
382 (OperandKind::IdRef, One),
383 (OperandKind::IdRef, One),
384 (OperandKind::IdRef, One)
385 ],
386 ),
387 ext_inst!(
388 NonsemanticClspvreflection,
389 NonsemanticClspvreflectionOp,
390 ImageArgumentInfoChannelOrderUniform,
391 [],
392 [],
393 [
394 (OperandKind::IdRef, One),
395 (OperandKind::IdRef, One),
396 (OperandKind::IdRef, One),
397 (OperandKind::IdRef, One),
398 (OperandKind::IdRef, One),
399 (OperandKind::IdRef, One)
400 ],
401 ),
402 ext_inst!(
403 NonsemanticClspvreflection,
404 NonsemanticClspvreflectionOp,
405 ImageArgumentInfoChannelDataTypeUniform,
406 [],
407 [],
408 [
409 (OperandKind::IdRef, One),
410 (OperandKind::IdRef, One),
411 (OperandKind::IdRef, One),
412 (OperandKind::IdRef, One),
413 (OperandKind::IdRef, One),
414 (OperandKind::IdRef, One)
415 ],
416 ),
417 ext_inst!(
418 NonsemanticClspvreflection,
419 NonsemanticClspvreflectionOp,
420 ArgumentStorageTexelBuffer,
421 [],
422 [],
423 [
424 (OperandKind::IdRef, One),
425 (OperandKind::IdRef, One),
426 (OperandKind::IdRef, One),
427 (OperandKind::IdRef, One),
428 (OperandKind::IdRef, ZeroOrOne)
429 ],
430 ),
431 ext_inst!(
432 NonsemanticClspvreflection,
433 NonsemanticClspvreflectionOp,
434 ArgumentUniformTexelBuffer,
435 [],
436 [],
437 [
438 (OperandKind::IdRef, One),
439 (OperandKind::IdRef, One),
440 (OperandKind::IdRef, One),
441 (OperandKind::IdRef, One),
442 (OperandKind::IdRef, ZeroOrOne)
443 ],
444 ),
445 ext_inst!(
446 NonsemanticClspvreflection,
447 NonsemanticClspvreflectionOp,
448 ConstantDataPointerPushConstant,
449 [],
450 [],
451 [
452 (OperandKind::IdRef, One),
453 (OperandKind::IdRef, One),
454 (OperandKind::IdRef, One)
455 ],
456 ),
457 ext_inst!(
458 NonsemanticClspvreflection,
459 NonsemanticClspvreflectionOp,
460 ProgramScopeVariablePointerPushConstant,
461 [],
462 [],
463 [
464 (OperandKind::IdRef, One),
465 (OperandKind::IdRef, One),
466 (OperandKind::IdRef, One)
467 ],
468 ),
469 ext_inst!(
470 NonsemanticClspvreflection,
471 NonsemanticClspvreflectionOp,
472 PrintfInfo,
473 [],
474 [],
475 [
476 (OperandKind::IdRef, One),
477 (OperandKind::IdRef, One),
478 (OperandKind::IdRef, ZeroOrMore)
479 ],
480 ),
481 ext_inst!(
482 NonsemanticClspvreflection,
483 NonsemanticClspvreflectionOp,
484 PrintfBufferStorageBuffer,
485 [],
486 [],
487 [
488 (OperandKind::IdRef, One),
489 (OperandKind::IdRef, One),
490 (OperandKind::IdRef, One)
491 ],
492 ),
493 ext_inst!(
494 NonsemanticClspvreflection,
495 NonsemanticClspvreflectionOp,
496 PrintfBufferPointerPushConstant,
497 [],
498 [],
499 [
500 (OperandKind::IdRef, One),
501 (OperandKind::IdRef, One),
502 (OperandKind::IdRef, One)
503 ],
504 ),
505 ext_inst!(
506 NonsemanticClspvreflection,
507 NonsemanticClspvreflectionOp,
508 NormalizedSamplerMaskPushConstant,
509 [],
510 [],
511 [
512 (OperandKind::IdRef, One),
513 (OperandKind::IdRef, One),
514 (OperandKind::IdRef, One),
515 (OperandKind::IdRef, One)
516 ],
517 ),
518 ext_inst!(
519 NonsemanticClspvreflection,
520 NonsemanticClspvreflectionOp,
521 WorkgroupVariableSize,
522 [],
523 [],
524 [(OperandKind::IdRef, One), (OperandKind::IdRef, One)],
525 ),
526];
527pub static NONSEMANTIC_CLSPVREFLECTION_INSTRUCTION_TABLE: InstructionTable<ExtInstOp> =
528 InstructionTable(
529 NONSEMANTIC_CLSPVREFLECTION_INSTRUCTIONS,
530 std::marker::PhantomData,
531 );