nir/lower_indirect_derefs: Add a threshold
[mesa.git] / src / compiler / spirv / spirv.core.grammar.json
1 {
2 "copyright" : [
3 "Copyright (c) 2014-2020 The Khronos Group Inc.",
4 "",
5 "Permission is hereby granted, free of charge, to any person obtaining a copy",
6 "of this software and/or associated documentation files (the \"Materials\"),",
7 "to deal in the Materials without restriction, including without limitation",
8 "the rights to use, copy, modify, merge, publish, distribute, sublicense,",
9 "and/or sell copies of the Materials, and to permit persons to whom the",
10 "Materials are furnished to do so, subject to the following conditions:",
11 "",
12 "The above copyright notice and this permission notice shall be included in",
13 "all copies or substantial portions of the Materials.",
14 "",
15 "MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS",
16 "STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND",
17 "HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ ",
18 "",
19 "THE MATERIALS ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS",
20 "OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,",
21 "FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL",
22 "THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER",
23 "LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING",
24 "FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS",
25 "IN THE MATERIALS."
26 ],
27 "magic_number" : "0x07230203",
28 "major_version" : 1,
29 "minor_version" : 5,
30 "revision" : 3,
31 "instruction_printing_class" : [
32 {
33 "tag" : "@exclude"
34 },
35 {
36 "tag" : "Miscellaneous",
37 "heading" : "Miscellaneous Instructions"
38 },
39 {
40 "tag" : "Debug",
41 "heading" : "Debug Instructions"
42 },
43 {
44 "tag" : "Annotation",
45 "heading" : "Annotation Instructions"
46 },
47 {
48 "tag" : "Extension",
49 "heading" : "Extension Instructions"
50 },
51 {
52 "tag" : "Mode-Setting",
53 "heading" : "Mode-Setting Instructions"
54 },
55 {
56 "tag" : "Type-Declaration",
57 "heading" : "Type-Declaration Instructions"
58 },
59 {
60 "tag" : "Constant-Creation",
61 "heading" : "Constant-Creation Instructions"
62 },
63 {
64 "tag" : "Memory",
65 "heading" : "Memory Instructions"
66 },
67 {
68 "tag" : "Function",
69 "heading" : "Function Instructions"
70 },
71 {
72 "tag" : "Image",
73 "heading" : "Image Instructions"
74 },
75 {
76 "tag" : "Conversion",
77 "heading" : "Conversion Instructions"
78 },
79 {
80 "tag" : "Composite",
81 "heading" : "Composite Instructions"
82 },
83 {
84 "tag" : "Arithmetic",
85 "heading" : "Arithmetic Instructions"
86 },
87 {
88 "tag" : "Bit",
89 "heading" : "Bit Instructions"
90 },
91 {
92 "tag" : "Relational_and_Logical",
93 "heading" : "Relational and Logical Instructions"
94 },
95 {
96 "tag" : "Derivative",
97 "heading" : "Derivative Instructions"
98 },
99 {
100 "tag" : "Control-Flow",
101 "heading" : "Control-Flow Instructions"
102 },
103 {
104 "tag" : "Atomic",
105 "heading" : "Atomic Instructions"
106 },
107 {
108 "tag" : "Primitive",
109 "heading" : "Primitive Instructions"
110 },
111 {
112 "tag" : "Barrier",
113 "heading" : "Barrier Instructions"
114 },
115 {
116 "tag" : "Group",
117 "heading" : "Group and Subgroup Instructions"
118 },
119 {
120 "tag" : "Device-Side_Enqueue",
121 "heading" : "Device-Side Enqueue Instructions"
122 },
123 {
124 "tag" : "Pipe",
125 "heading" : "Pipe Instructions"
126 },
127 {
128 "tag" : "Non-Uniform",
129 "heading" : "Non-Uniform Instructions"
130 },
131 {
132 "tag" : "Reserved",
133 "heading" : "Reserved Instructions"
134 }
135 ],
136 "instructions" : [
137 {
138 "opname" : "OpNop",
139 "class" : "Miscellaneous",
140 "opcode" : 0
141 },
142 {
143 "opname" : "OpUndef",
144 "class" : "Miscellaneous",
145 "opcode" : 1,
146 "operands" : [
147 { "kind" : "IdResultType" },
148 { "kind" : "IdResult" }
149 ]
150 },
151 {
152 "opname" : "OpSourceContinued",
153 "class" : "Debug",
154 "opcode" : 2,
155 "operands" : [
156 { "kind" : "LiteralString", "name" : "'Continued Source'" }
157 ]
158 },
159 {
160 "opname" : "OpSource",
161 "class" : "Debug",
162 "opcode" : 3,
163 "operands" : [
164 { "kind" : "SourceLanguage" },
165 { "kind" : "LiteralInteger", "name" : "'Version'" },
166 { "kind" : "IdRef", "quantifier" : "?", "name" : "'File'" },
167 { "kind" : "LiteralString", "quantifier" : "?", "name" : "'Source'" }
168 ]
169 },
170 {
171 "opname" : "OpSourceExtension",
172 "class" : "Debug",
173 "opcode" : 4,
174 "operands" : [
175 { "kind" : "LiteralString", "name" : "'Extension'" }
176 ]
177 },
178 {
179 "opname" : "OpName",
180 "class" : "Debug",
181 "opcode" : 5,
182 "operands" : [
183 { "kind" : "IdRef", "name" : "'Target'" },
184 { "kind" : "LiteralString", "name" : "'Name'" }
185 ]
186 },
187 {
188 "opname" : "OpMemberName",
189 "class" : "Debug",
190 "opcode" : 6,
191 "operands" : [
192 { "kind" : "IdRef", "name" : "'Type'" },
193 { "kind" : "LiteralInteger", "name" : "'Member'" },
194 { "kind" : "LiteralString", "name" : "'Name'" }
195 ]
196 },
197 {
198 "opname" : "OpString",
199 "class" : "Debug",
200 "opcode" : 7,
201 "operands" : [
202 { "kind" : "IdResult" },
203 { "kind" : "LiteralString", "name" : "'String'" }
204 ]
205 },
206 {
207 "opname" : "OpLine",
208 "class" : "Debug",
209 "opcode" : 8,
210 "operands" : [
211 { "kind" : "IdRef", "name" : "'File'" },
212 { "kind" : "LiteralInteger", "name" : "'Line'" },
213 { "kind" : "LiteralInteger", "name" : "'Column'" }
214 ]
215 },
216 {
217 "opname" : "OpExtension",
218 "class" : "Extension",
219 "opcode" : 10,
220 "operands" : [
221 { "kind" : "LiteralString", "name" : "'Name'" }
222 ]
223 },
224 {
225 "opname" : "OpExtInstImport",
226 "class" : "Extension",
227 "opcode" : 11,
228 "operands" : [
229 { "kind" : "IdResult" },
230 { "kind" : "LiteralString", "name" : "'Name'" }
231 ]
232 },
233 {
234 "opname" : "OpExtInst",
235 "class" : "Extension",
236 "opcode" : 12,
237 "operands" : [
238 { "kind" : "IdResultType" },
239 { "kind" : "IdResult" },
240 { "kind" : "IdRef", "name" : "'Set'" },
241 { "kind" : "LiteralExtInstInteger", "name" : "'Instruction'" },
242 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Operand 1', +\n'Operand 2', +\n..." }
243 ]
244 },
245 {
246 "opname" : "OpMemoryModel",
247 "class" : "Mode-Setting",
248 "opcode" : 14,
249 "operands" : [
250 { "kind" : "AddressingModel" },
251 { "kind" : "MemoryModel" }
252 ]
253 },
254 {
255 "opname" : "OpEntryPoint",
256 "class" : "Mode-Setting",
257 "opcode" : 15,
258 "operands" : [
259 { "kind" : "ExecutionModel" },
260 { "kind" : "IdRef", "name" : "'Entry Point'" },
261 { "kind" : "LiteralString", "name" : "'Name'" },
262 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Interface'" }
263 ]
264 },
265 {
266 "opname" : "OpExecutionMode",
267 "class" : "Mode-Setting",
268 "opcode" : 16,
269 "operands" : [
270 { "kind" : "IdRef", "name" : "'Entry Point'" },
271 { "kind" : "ExecutionMode", "name" : "'Mode'" }
272 ]
273 },
274 {
275 "opname" : "OpCapability",
276 "class" : "Mode-Setting",
277 "opcode" : 17,
278 "operands" : [
279 { "kind" : "Capability", "name" : "'Capability'" }
280 ]
281 },
282 {
283 "opname" : "OpTypeVoid",
284 "class" : "Type-Declaration",
285 "opcode" : 19,
286 "operands" : [
287 { "kind" : "IdResult" }
288 ]
289 },
290 {
291 "opname" : "OpTypeBool",
292 "class" : "Type-Declaration",
293 "opcode" : 20,
294 "operands" : [
295 { "kind" : "IdResult" }
296 ]
297 },
298 {
299 "opname" : "OpTypeInt",
300 "class" : "Type-Declaration",
301 "opcode" : 21,
302 "operands" : [
303 { "kind" : "IdResult" },
304 { "kind" : "LiteralInteger", "name" : "'Width'" },
305 { "kind" : "LiteralInteger", "name" : "'Signedness'" }
306 ]
307 },
308 {
309 "opname" : "OpTypeFloat",
310 "class" : "Type-Declaration",
311 "opcode" : 22,
312 "operands" : [
313 { "kind" : "IdResult" },
314 { "kind" : "LiteralInteger", "name" : "'Width'" }
315 ]
316 },
317 {
318 "opname" : "OpTypeVector",
319 "class" : "Type-Declaration",
320 "opcode" : 23,
321 "operands" : [
322 { "kind" : "IdResult" },
323 { "kind" : "IdRef", "name" : "'Component Type'" },
324 { "kind" : "LiteralInteger", "name" : "'Component Count'" }
325 ]
326 },
327 {
328 "opname" : "OpTypeMatrix",
329 "class" : "Type-Declaration",
330 "opcode" : 24,
331 "operands" : [
332 { "kind" : "IdResult" },
333 { "kind" : "IdRef", "name" : "'Column Type'" },
334 { "kind" : "LiteralInteger", "name" : "'Column Count'" }
335 ],
336 "capabilities" : [ "Matrix" ]
337 },
338 {
339 "opname" : "OpTypeImage",
340 "class" : "Type-Declaration",
341 "opcode" : 25,
342 "operands" : [
343 { "kind" : "IdResult" },
344 { "kind" : "IdRef", "name" : "'Sampled Type'" },
345 { "kind" : "Dim" },
346 { "kind" : "LiteralInteger", "name" : "'Depth'" },
347 { "kind" : "LiteralInteger", "name" : "'Arrayed'" },
348 { "kind" : "LiteralInteger", "name" : "'MS'" },
349 { "kind" : "LiteralInteger", "name" : "'Sampled'" },
350 { "kind" : "ImageFormat" },
351 { "kind" : "AccessQualifier", "quantifier" : "?" }
352 ]
353 },
354 {
355 "opname" : "OpTypeSampler",
356 "class" : "Type-Declaration",
357 "opcode" : 26,
358 "operands" : [
359 { "kind" : "IdResult" }
360 ]
361 },
362 {
363 "opname" : "OpTypeSampledImage",
364 "class" : "Type-Declaration",
365 "opcode" : 27,
366 "operands" : [
367 { "kind" : "IdResult" },
368 { "kind" : "IdRef", "name" : "'Image Type'" }
369 ]
370 },
371 {
372 "opname" : "OpTypeArray",
373 "class" : "Type-Declaration",
374 "opcode" : 28,
375 "operands" : [
376 { "kind" : "IdResult" },
377 { "kind" : "IdRef", "name" : "'Element Type'" },
378 { "kind" : "IdRef", "name" : "'Length'" }
379 ]
380 },
381 {
382 "opname" : "OpTypeRuntimeArray",
383 "class" : "Type-Declaration",
384 "opcode" : 29,
385 "operands" : [
386 { "kind" : "IdResult" },
387 { "kind" : "IdRef", "name" : "'Element Type'" }
388 ],
389 "capabilities" : [ "Shader" ]
390 },
391 {
392 "opname" : "OpTypeStruct",
393 "class" : "Type-Declaration",
394 "opcode" : 30,
395 "operands" : [
396 { "kind" : "IdResult" },
397 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Member 0 type', +\n'member 1 type', +\n..." }
398 ]
399 },
400 {
401 "opname" : "OpTypeOpaque",
402 "class" : "Type-Declaration",
403 "opcode" : 31,
404 "operands" : [
405 { "kind" : "IdResult" },
406 { "kind" : "LiteralString", "name" : "The name of the opaque type." }
407 ],
408 "capabilities" : [ "Kernel" ]
409 },
410 {
411 "opname" : "OpTypePointer",
412 "class" : "Type-Declaration",
413 "opcode" : 32,
414 "operands" : [
415 { "kind" : "IdResult" },
416 { "kind" : "StorageClass" },
417 { "kind" : "IdRef", "name" : "'Type'" }
418 ]
419 },
420 {
421 "opname" : "OpTypeFunction",
422 "class" : "Type-Declaration",
423 "opcode" : 33,
424 "operands" : [
425 { "kind" : "IdResult" },
426 { "kind" : "IdRef", "name" : "'Return Type'" },
427 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Parameter 0 Type', +\n'Parameter 1 Type', +\n..." }
428 ]
429 },
430 {
431 "opname" : "OpTypeEvent",
432 "class" : "Type-Declaration",
433 "opcode" : 34,
434 "operands" : [
435 { "kind" : "IdResult" }
436 ],
437 "capabilities" : [ "Kernel" ]
438 },
439 {
440 "opname" : "OpTypeDeviceEvent",
441 "class" : "Type-Declaration",
442 "opcode" : 35,
443 "operands" : [
444 { "kind" : "IdResult" }
445 ],
446 "capabilities" : [ "DeviceEnqueue" ]
447 },
448 {
449 "opname" : "OpTypeReserveId",
450 "class" : "Type-Declaration",
451 "opcode" : 36,
452 "operands" : [
453 { "kind" : "IdResult" }
454 ],
455 "capabilities" : [ "Pipes" ]
456 },
457 {
458 "opname" : "OpTypeQueue",
459 "class" : "Type-Declaration",
460 "opcode" : 37,
461 "operands" : [
462 { "kind" : "IdResult" }
463 ],
464 "capabilities" : [ "DeviceEnqueue" ]
465 },
466 {
467 "opname" : "OpTypePipe",
468 "class" : "Type-Declaration",
469 "opcode" : 38,
470 "operands" : [
471 { "kind" : "IdResult" },
472 { "kind" : "AccessQualifier", "name" : "'Qualifier'" }
473 ],
474 "capabilities" : [ "Pipes" ]
475 },
476 {
477 "opname" : "OpTypeForwardPointer",
478 "class" : "Type-Declaration",
479 "opcode" : 39,
480 "operands" : [
481 { "kind" : "IdRef", "name" : "'Pointer Type'" },
482 { "kind" : "StorageClass" }
483 ],
484 "capabilities" : [
485 "Addresses",
486 "PhysicalStorageBufferAddresses"
487 ]
488 },
489 {
490 "opname" : "OpConstantTrue",
491 "class" : "Constant-Creation",
492 "opcode" : 41,
493 "operands" : [
494 { "kind" : "IdResultType" },
495 { "kind" : "IdResult" }
496 ]
497 },
498 {
499 "opname" : "OpConstantFalse",
500 "class" : "Constant-Creation",
501 "opcode" : 42,
502 "operands" : [
503 { "kind" : "IdResultType" },
504 { "kind" : "IdResult" }
505 ]
506 },
507 {
508 "opname" : "OpConstant",
509 "class" : "Constant-Creation",
510 "opcode" : 43,
511 "operands" : [
512 { "kind" : "IdResultType" },
513 { "kind" : "IdResult" },
514 { "kind" : "LiteralContextDependentNumber", "name" : "'Value'" }
515 ]
516 },
517 {
518 "opname" : "OpConstantComposite",
519 "class" : "Constant-Creation",
520 "opcode" : 44,
521 "operands" : [
522 { "kind" : "IdResultType" },
523 { "kind" : "IdResult" },
524 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Constituents'" }
525 ]
526 },
527 {
528 "opname" : "OpConstantSampler",
529 "class" : "Constant-Creation",
530 "opcode" : 45,
531 "operands" : [
532 { "kind" : "IdResultType" },
533 { "kind" : "IdResult" },
534 { "kind" : "SamplerAddressingMode" },
535 { "kind" : "LiteralInteger", "name" : "'Param'" },
536 { "kind" : "SamplerFilterMode" }
537 ],
538 "capabilities" : [ "LiteralSampler" ]
539 },
540 {
541 "opname" : "OpConstantNull",
542 "class" : "Constant-Creation",
543 "opcode" : 46,
544 "operands" : [
545 { "kind" : "IdResultType" },
546 { "kind" : "IdResult" }
547 ]
548 },
549 {
550 "opname" : "OpSpecConstantTrue",
551 "class" : "Constant-Creation",
552 "opcode" : 48,
553 "operands" : [
554 { "kind" : "IdResultType" },
555 { "kind" : "IdResult" }
556 ]
557 },
558 {
559 "opname" : "OpSpecConstantFalse",
560 "class" : "Constant-Creation",
561 "opcode" : 49,
562 "operands" : [
563 { "kind" : "IdResultType" },
564 { "kind" : "IdResult" }
565 ]
566 },
567 {
568 "opname" : "OpSpecConstant",
569 "class" : "Constant-Creation",
570 "opcode" : 50,
571 "operands" : [
572 { "kind" : "IdResultType" },
573 { "kind" : "IdResult" },
574 { "kind" : "LiteralContextDependentNumber", "name" : "'Value'" }
575 ]
576 },
577 {
578 "opname" : "OpSpecConstantComposite",
579 "class" : "Constant-Creation",
580 "opcode" : 51,
581 "operands" : [
582 { "kind" : "IdResultType" },
583 { "kind" : "IdResult" },
584 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Constituents'" }
585 ]
586 },
587 {
588 "opname" : "OpSpecConstantOp",
589 "class" : "Constant-Creation",
590 "opcode" : 52,
591 "operands" : [
592 { "kind" : "IdResultType" },
593 { "kind" : "IdResult" },
594 { "kind" : "LiteralSpecConstantOpInteger", "name" : "'Opcode'" }
595 ]
596 },
597 {
598 "opname" : "OpFunction",
599 "class" : "Function",
600 "opcode" : 54,
601 "operands" : [
602 { "kind" : "IdResultType" },
603 { "kind" : "IdResult" },
604 { "kind" : "FunctionControl" },
605 { "kind" : "IdRef", "name" : "'Function Type'" }
606 ]
607 },
608 {
609 "opname" : "OpFunctionParameter",
610 "class" : "Function",
611 "opcode" : 55,
612 "operands" : [
613 { "kind" : "IdResultType" },
614 { "kind" : "IdResult" }
615 ]
616 },
617 {
618 "opname" : "OpFunctionEnd",
619 "class" : "Function",
620 "opcode" : 56
621 },
622 {
623 "opname" : "OpFunctionCall",
624 "class" : "Function",
625 "opcode" : 57,
626 "operands" : [
627 { "kind" : "IdResultType" },
628 { "kind" : "IdResult" },
629 { "kind" : "IdRef", "name" : "'Function'" },
630 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Argument 0', +\n'Argument 1', +\n..." }
631 ]
632 },
633 {
634 "opname" : "OpVariable",
635 "class" : "Memory",
636 "opcode" : 59,
637 "operands" : [
638 { "kind" : "IdResultType" },
639 { "kind" : "IdResult" },
640 { "kind" : "StorageClass" },
641 { "kind" : "IdRef", "quantifier" : "?", "name" : "'Initializer'" }
642 ]
643 },
644 {
645 "opname" : "OpImageTexelPointer",
646 "class" : "Memory",
647 "opcode" : 60,
648 "operands" : [
649 { "kind" : "IdResultType" },
650 { "kind" : "IdResult" },
651 { "kind" : "IdRef", "name" : "'Image'" },
652 { "kind" : "IdRef", "name" : "'Coordinate'" },
653 { "kind" : "IdRef", "name" : "'Sample'" }
654 ]
655 },
656 {
657 "opname" : "OpLoad",
658 "class" : "Memory",
659 "opcode" : 61,
660 "operands" : [
661 { "kind" : "IdResultType" },
662 { "kind" : "IdResult" },
663 { "kind" : "IdRef", "name" : "'Pointer'" },
664 { "kind" : "MemoryAccess", "quantifier" : "?" }
665 ]
666 },
667 {
668 "opname" : "OpStore",
669 "class" : "Memory",
670 "opcode" : 62,
671 "operands" : [
672 { "kind" : "IdRef", "name" : "'Pointer'" },
673 { "kind" : "IdRef", "name" : "'Object'" },
674 { "kind" : "MemoryAccess", "quantifier" : "?" }
675 ]
676 },
677 {
678 "opname" : "OpCopyMemory",
679 "class" : "Memory",
680 "opcode" : 63,
681 "operands" : [
682 { "kind" : "IdRef", "name" : "'Target'" },
683 { "kind" : "IdRef", "name" : "'Source'" },
684 { "kind" : "MemoryAccess", "quantifier" : "?" },
685 { "kind" : "MemoryAccess", "quantifier" : "?" }
686 ]
687 },
688 {
689 "opname" : "OpCopyMemorySized",
690 "class" : "Memory",
691 "opcode" : 64,
692 "operands" : [
693 { "kind" : "IdRef", "name" : "'Target'" },
694 { "kind" : "IdRef", "name" : "'Source'" },
695 { "kind" : "IdRef", "name" : "'Size'" },
696 { "kind" : "MemoryAccess", "quantifier" : "?" },
697 { "kind" : "MemoryAccess", "quantifier" : "?" }
698 ],
699 "capabilities" : [ "Addresses" ]
700 },
701 {
702 "opname" : "OpAccessChain",
703 "class" : "Memory",
704 "opcode" : 65,
705 "operands" : [
706 { "kind" : "IdResultType" },
707 { "kind" : "IdResult" },
708 { "kind" : "IdRef", "name" : "'Base'" },
709 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" }
710 ]
711 },
712 {
713 "opname" : "OpInBoundsAccessChain",
714 "class" : "Memory",
715 "opcode" : 66,
716 "operands" : [
717 { "kind" : "IdResultType" },
718 { "kind" : "IdResult" },
719 { "kind" : "IdRef", "name" : "'Base'" },
720 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" }
721 ]
722 },
723 {
724 "opname" : "OpPtrAccessChain",
725 "class" : "Memory",
726 "opcode" : 67,
727 "operands" : [
728 { "kind" : "IdResultType" },
729 { "kind" : "IdResult" },
730 { "kind" : "IdRef", "name" : "'Base'" },
731 { "kind" : "IdRef", "name" : "'Element'" },
732 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" }
733 ],
734 "capabilities" : [
735 "Addresses",
736 "VariablePointers",
737 "VariablePointersStorageBuffer",
738 "PhysicalStorageBufferAddresses"
739 ]
740 },
741 {
742 "opname" : "OpArrayLength",
743 "class" : "Memory",
744 "opcode" : 68,
745 "operands" : [
746 { "kind" : "IdResultType" },
747 { "kind" : "IdResult" },
748 { "kind" : "IdRef", "name" : "'Structure'" },
749 { "kind" : "LiteralInteger", "name" : "'Array member'" }
750 ],
751 "capabilities" : [ "Shader" ]
752 },
753 {
754 "opname" : "OpGenericPtrMemSemantics",
755 "class" : "Memory",
756 "opcode" : 69,
757 "operands" : [
758 { "kind" : "IdResultType" },
759 { "kind" : "IdResult" },
760 { "kind" : "IdRef", "name" : "'Pointer'" }
761 ],
762 "capabilities" : [ "Kernel" ]
763 },
764 {
765 "opname" : "OpInBoundsPtrAccessChain",
766 "class" : "Memory",
767 "opcode" : 70,
768 "operands" : [
769 { "kind" : "IdResultType" },
770 { "kind" : "IdResult" },
771 { "kind" : "IdRef", "name" : "'Base'" },
772 { "kind" : "IdRef", "name" : "'Element'" },
773 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" }
774 ],
775 "capabilities" : [ "Addresses" ]
776 },
777 {
778 "opname" : "OpDecorate",
779 "class" : "Annotation",
780 "opcode" : 71,
781 "operands" : [
782 { "kind" : "IdRef", "name" : "'Target'" },
783 { "kind" : "Decoration" }
784 ]
785 },
786 {
787 "opname" : "OpMemberDecorate",
788 "class" : "Annotation",
789 "opcode" : 72,
790 "operands" : [
791 { "kind" : "IdRef", "name" : "'Structure Type'" },
792 { "kind" : "LiteralInteger", "name" : "'Member'" },
793 { "kind" : "Decoration" }
794 ]
795 },
796 {
797 "opname" : "OpDecorationGroup",
798 "class" : "Annotation",
799 "opcode" : 73,
800 "operands" : [
801 { "kind" : "IdResult" }
802 ]
803 },
804 {
805 "opname" : "OpGroupDecorate",
806 "class" : "Annotation",
807 "opcode" : 74,
808 "operands" : [
809 { "kind" : "IdRef", "name" : "'Decoration Group'" },
810 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Targets'" }
811 ]
812 },
813 {
814 "opname" : "OpGroupMemberDecorate",
815 "class" : "Annotation",
816 "opcode" : 75,
817 "operands" : [
818 { "kind" : "IdRef", "name" : "'Decoration Group'" },
819 { "kind" : "PairIdRefLiteralInteger", "quantifier" : "*", "name" : "'Targets'" }
820 ]
821 },
822 {
823 "opname" : "OpVectorExtractDynamic",
824 "class" : "Composite",
825 "opcode" : 77,
826 "operands" : [
827 { "kind" : "IdResultType" },
828 { "kind" : "IdResult" },
829 { "kind" : "IdRef", "name" : "'Vector'" },
830 { "kind" : "IdRef", "name" : "'Index'" }
831 ]
832 },
833 {
834 "opname" : "OpVectorInsertDynamic",
835 "class" : "Composite",
836 "opcode" : 78,
837 "operands" : [
838 { "kind" : "IdResultType" },
839 { "kind" : "IdResult" },
840 { "kind" : "IdRef", "name" : "'Vector'" },
841 { "kind" : "IdRef", "name" : "'Component'" },
842 { "kind" : "IdRef", "name" : "'Index'" }
843 ]
844 },
845 {
846 "opname" : "OpVectorShuffle",
847 "class" : "Composite",
848 "opcode" : 79,
849 "operands" : [
850 { "kind" : "IdResultType" },
851 { "kind" : "IdResult" },
852 { "kind" : "IdRef", "name" : "'Vector 1'" },
853 { "kind" : "IdRef", "name" : "'Vector 2'" },
854 { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Components'" }
855 ]
856 },
857 {
858 "opname" : "OpCompositeConstruct",
859 "class" : "Composite",
860 "opcode" : 80,
861 "operands" : [
862 { "kind" : "IdResultType" },
863 { "kind" : "IdResult" },
864 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Constituents'" }
865 ]
866 },
867 {
868 "opname" : "OpCompositeExtract",
869 "class" : "Composite",
870 "opcode" : 81,
871 "operands" : [
872 { "kind" : "IdResultType" },
873 { "kind" : "IdResult" },
874 { "kind" : "IdRef", "name" : "'Composite'" },
875 { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Indexes'" }
876 ]
877 },
878 {
879 "opname" : "OpCompositeInsert",
880 "class" : "Composite",
881 "opcode" : 82,
882 "operands" : [
883 { "kind" : "IdResultType" },
884 { "kind" : "IdResult" },
885 { "kind" : "IdRef", "name" : "'Object'" },
886 { "kind" : "IdRef", "name" : "'Composite'" },
887 { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Indexes'" }
888 ]
889 },
890 {
891 "opname" : "OpCopyObject",
892 "class" : "Composite",
893 "opcode" : 83,
894 "operands" : [
895 { "kind" : "IdResultType" },
896 { "kind" : "IdResult" },
897 { "kind" : "IdRef", "name" : "'Operand'" }
898 ]
899 },
900 {
901 "opname" : "OpTranspose",
902 "class" : "Composite",
903 "opcode" : 84,
904 "operands" : [
905 { "kind" : "IdResultType" },
906 { "kind" : "IdResult" },
907 { "kind" : "IdRef", "name" : "'Matrix'" }
908 ],
909 "capabilities" : [ "Matrix" ]
910 },
911 {
912 "opname" : "OpSampledImage",
913 "class" : "Image",
914 "opcode" : 86,
915 "operands" : [
916 { "kind" : "IdResultType" },
917 { "kind" : "IdResult" },
918 { "kind" : "IdRef", "name" : "'Image'" },
919 { "kind" : "IdRef", "name" : "'Sampler'" }
920 ]
921 },
922 {
923 "opname" : "OpImageSampleImplicitLod",
924 "class" : "Image",
925 "opcode" : 87,
926 "operands" : [
927 { "kind" : "IdResultType" },
928 { "kind" : "IdResult" },
929 { "kind" : "IdRef", "name" : "'Sampled Image'" },
930 { "kind" : "IdRef", "name" : "'Coordinate'" },
931 { "kind" : "ImageOperands", "quantifier" : "?" }
932 ],
933 "capabilities" : [ "Shader" ]
934 },
935 {
936 "opname" : "OpImageSampleExplicitLod",
937 "class" : "Image",
938 "opcode" : 88,
939 "operands" : [
940 { "kind" : "IdResultType" },
941 { "kind" : "IdResult" },
942 { "kind" : "IdRef", "name" : "'Sampled Image'" },
943 { "kind" : "IdRef", "name" : "'Coordinate'" },
944 { "kind" : "ImageOperands" }
945 ]
946 },
947 {
948 "opname" : "OpImageSampleDrefImplicitLod",
949 "class" : "Image",
950 "opcode" : 89,
951 "operands" : [
952 { "kind" : "IdResultType" },
953 { "kind" : "IdResult" },
954 { "kind" : "IdRef", "name" : "'Sampled Image'" },
955 { "kind" : "IdRef", "name" : "'Coordinate'" },
956 { "kind" : "IdRef", "name" : "'D~ref~'" },
957 { "kind" : "ImageOperands", "quantifier" : "?" }
958 ],
959 "capabilities" : [ "Shader" ]
960 },
961 {
962 "opname" : "OpImageSampleDrefExplicitLod",
963 "class" : "Image",
964 "opcode" : 90,
965 "operands" : [
966 { "kind" : "IdResultType" },
967 { "kind" : "IdResult" },
968 { "kind" : "IdRef", "name" : "'Sampled Image'" },
969 { "kind" : "IdRef", "name" : "'Coordinate'" },
970 { "kind" : "IdRef", "name" : "'D~ref~'" },
971 { "kind" : "ImageOperands" }
972 ],
973 "capabilities" : [ "Shader" ]
974 },
975 {
976 "opname" : "OpImageSampleProjImplicitLod",
977 "class" : "Image",
978 "opcode" : 91,
979 "operands" : [
980 { "kind" : "IdResultType" },
981 { "kind" : "IdResult" },
982 { "kind" : "IdRef", "name" : "'Sampled Image'" },
983 { "kind" : "IdRef", "name" : "'Coordinate'" },
984 { "kind" : "ImageOperands", "quantifier" : "?" }
985 ],
986 "capabilities" : [ "Shader" ]
987 },
988 {
989 "opname" : "OpImageSampleProjExplicitLod",
990 "class" : "Image",
991 "opcode" : 92,
992 "operands" : [
993 { "kind" : "IdResultType" },
994 { "kind" : "IdResult" },
995 { "kind" : "IdRef", "name" : "'Sampled Image'" },
996 { "kind" : "IdRef", "name" : "'Coordinate'" },
997 { "kind" : "ImageOperands" }
998 ],
999 "capabilities" : [ "Shader" ]
1000 },
1001 {
1002 "opname" : "OpImageSampleProjDrefImplicitLod",
1003 "class" : "Image",
1004 "opcode" : 93,
1005 "operands" : [
1006 { "kind" : "IdResultType" },
1007 { "kind" : "IdResult" },
1008 { "kind" : "IdRef", "name" : "'Sampled Image'" },
1009 { "kind" : "IdRef", "name" : "'Coordinate'" },
1010 { "kind" : "IdRef", "name" : "'D~ref~'" },
1011 { "kind" : "ImageOperands", "quantifier" : "?" }
1012 ],
1013 "capabilities" : [ "Shader" ]
1014 },
1015 {
1016 "opname" : "OpImageSampleProjDrefExplicitLod",
1017 "class" : "Image",
1018 "opcode" : 94,
1019 "operands" : [
1020 { "kind" : "IdResultType" },
1021 { "kind" : "IdResult" },
1022 { "kind" : "IdRef", "name" : "'Sampled Image'" },
1023 { "kind" : "IdRef", "name" : "'Coordinate'" },
1024 { "kind" : "IdRef", "name" : "'D~ref~'" },
1025 { "kind" : "ImageOperands" }
1026 ],
1027 "capabilities" : [ "Shader" ]
1028 },
1029 {
1030 "opname" : "OpImageFetch",
1031 "class" : "Image",
1032 "opcode" : 95,
1033 "operands" : [
1034 { "kind" : "IdResultType" },
1035 { "kind" : "IdResult" },
1036 { "kind" : "IdRef", "name" : "'Image'" },
1037 { "kind" : "IdRef", "name" : "'Coordinate'" },
1038 { "kind" : "ImageOperands", "quantifier" : "?" }
1039 ]
1040 },
1041 {
1042 "opname" : "OpImageGather",
1043 "class" : "Image",
1044 "opcode" : 96,
1045 "operands" : [
1046 { "kind" : "IdResultType" },
1047 { "kind" : "IdResult" },
1048 { "kind" : "IdRef", "name" : "'Sampled Image'" },
1049 { "kind" : "IdRef", "name" : "'Coordinate'" },
1050 { "kind" : "IdRef", "name" : "'Component'" },
1051 { "kind" : "ImageOperands", "quantifier" : "?" }
1052 ],
1053 "capabilities" : [ "Shader" ]
1054 },
1055 {
1056 "opname" : "OpImageDrefGather",
1057 "class" : "Image",
1058 "opcode" : 97,
1059 "operands" : [
1060 { "kind" : "IdResultType" },
1061 { "kind" : "IdResult" },
1062 { "kind" : "IdRef", "name" : "'Sampled Image'" },
1063 { "kind" : "IdRef", "name" : "'Coordinate'" },
1064 { "kind" : "IdRef", "name" : "'D~ref~'" },
1065 { "kind" : "ImageOperands", "quantifier" : "?" }
1066 ],
1067 "capabilities" : [ "Shader" ]
1068 },
1069 {
1070 "opname" : "OpImageRead",
1071 "class" : "Image",
1072 "opcode" : 98,
1073 "operands" : [
1074 { "kind" : "IdResultType" },
1075 { "kind" : "IdResult" },
1076 { "kind" : "IdRef", "name" : "'Image'" },
1077 { "kind" : "IdRef", "name" : "'Coordinate'" },
1078 { "kind" : "ImageOperands", "quantifier" : "?" }
1079 ]
1080 },
1081 {
1082 "opname" : "OpImageWrite",
1083 "class" : "Image",
1084 "opcode" : 99,
1085 "operands" : [
1086 { "kind" : "IdRef", "name" : "'Image'" },
1087 { "kind" : "IdRef", "name" : "'Coordinate'" },
1088 { "kind" : "IdRef", "name" : "'Texel'" },
1089 { "kind" : "ImageOperands", "quantifier" : "?" }
1090 ]
1091 },
1092 {
1093 "opname" : "OpImage",
1094 "class" : "Image",
1095 "opcode" : 100,
1096 "operands" : [
1097 { "kind" : "IdResultType" },
1098 { "kind" : "IdResult" },
1099 { "kind" : "IdRef", "name" : "'Sampled Image'" }
1100 ]
1101 },
1102 {
1103 "opname" : "OpImageQueryFormat",
1104 "class" : "Image",
1105 "opcode" : 101,
1106 "operands" : [
1107 { "kind" : "IdResultType" },
1108 { "kind" : "IdResult" },
1109 { "kind" : "IdRef", "name" : "'Image'" }
1110 ],
1111 "capabilities" : [ "Kernel" ]
1112 },
1113 {
1114 "opname" : "OpImageQueryOrder",
1115 "class" : "Image",
1116 "opcode" : 102,
1117 "operands" : [
1118 { "kind" : "IdResultType" },
1119 { "kind" : "IdResult" },
1120 { "kind" : "IdRef", "name" : "'Image'" }
1121 ],
1122 "capabilities" : [ "Kernel" ]
1123 },
1124 {
1125 "opname" : "OpImageQuerySizeLod",
1126 "class" : "Image",
1127 "opcode" : 103,
1128 "operands" : [
1129 { "kind" : "IdResultType" },
1130 { "kind" : "IdResult" },
1131 { "kind" : "IdRef", "name" : "'Image'" },
1132 { "kind" : "IdRef", "name" : "'Level of Detail'" }
1133 ],
1134 "capabilities" : [ "Kernel", "ImageQuery" ]
1135 },
1136 {
1137 "opname" : "OpImageQuerySize",
1138 "class" : "Image",
1139 "opcode" : 104,
1140 "operands" : [
1141 { "kind" : "IdResultType" },
1142 { "kind" : "IdResult" },
1143 { "kind" : "IdRef", "name" : "'Image'" }
1144 ],
1145 "capabilities" : [ "Kernel", "ImageQuery" ]
1146 },
1147 {
1148 "opname" : "OpImageQueryLod",
1149 "class" : "Image",
1150 "opcode" : 105,
1151 "operands" : [
1152 { "kind" : "IdResultType" },
1153 { "kind" : "IdResult" },
1154 { "kind" : "IdRef", "name" : "'Sampled Image'" },
1155 { "kind" : "IdRef", "name" : "'Coordinate'" }
1156 ],
1157 "capabilities" : [ "ImageQuery" ]
1158 },
1159 {
1160 "opname" : "OpImageQueryLevels",
1161 "class" : "Image",
1162 "opcode" : 106,
1163 "operands" : [
1164 { "kind" : "IdResultType" },
1165 { "kind" : "IdResult" },
1166 { "kind" : "IdRef", "name" : "'Image'" }
1167 ],
1168 "capabilities" : [ "Kernel", "ImageQuery" ]
1169 },
1170 {
1171 "opname" : "OpImageQuerySamples",
1172 "class" : "Image",
1173 "opcode" : 107,
1174 "operands" : [
1175 { "kind" : "IdResultType" },
1176 { "kind" : "IdResult" },
1177 { "kind" : "IdRef", "name" : "'Image'" }
1178 ],
1179 "capabilities" : [ "Kernel", "ImageQuery" ]
1180 },
1181 {
1182 "opname" : "OpConvertFToU",
1183 "class" : "Conversion",
1184 "opcode" : 109,
1185 "operands" : [
1186 { "kind" : "IdResultType" },
1187 { "kind" : "IdResult" },
1188 { "kind" : "IdRef", "name" : "'Float Value'" }
1189 ]
1190 },
1191 {
1192 "opname" : "OpConvertFToS",
1193 "class" : "Conversion",
1194 "opcode" : 110,
1195 "operands" : [
1196 { "kind" : "IdResultType" },
1197 { "kind" : "IdResult" },
1198 { "kind" : "IdRef", "name" : "'Float Value'" }
1199 ]
1200 },
1201 {
1202 "opname" : "OpConvertSToF",
1203 "class" : "Conversion",
1204 "opcode" : 111,
1205 "operands" : [
1206 { "kind" : "IdResultType" },
1207 { "kind" : "IdResult" },
1208 { "kind" : "IdRef", "name" : "'Signed Value'" }
1209 ]
1210 },
1211 {
1212 "opname" : "OpConvertUToF",
1213 "class" : "Conversion",
1214 "opcode" : 112,
1215 "operands" : [
1216 { "kind" : "IdResultType" },
1217 { "kind" : "IdResult" },
1218 { "kind" : "IdRef", "name" : "'Unsigned Value'" }
1219 ]
1220 },
1221 {
1222 "opname" : "OpUConvert",
1223 "class" : "Conversion",
1224 "opcode" : 113,
1225 "operands" : [
1226 { "kind" : "IdResultType" },
1227 { "kind" : "IdResult" },
1228 { "kind" : "IdRef", "name" : "'Unsigned Value'" }
1229 ]
1230 },
1231 {
1232 "opname" : "OpSConvert",
1233 "class" : "Conversion",
1234 "opcode" : 114,
1235 "operands" : [
1236 { "kind" : "IdResultType" },
1237 { "kind" : "IdResult" },
1238 { "kind" : "IdRef", "name" : "'Signed Value'" }
1239 ]
1240 },
1241 {
1242 "opname" : "OpFConvert",
1243 "class" : "Conversion",
1244 "opcode" : 115,
1245 "operands" : [
1246 { "kind" : "IdResultType" },
1247 { "kind" : "IdResult" },
1248 { "kind" : "IdRef", "name" : "'Float Value'" }
1249 ]
1250 },
1251 {
1252 "opname" : "OpQuantizeToF16",
1253 "class" : "Conversion",
1254 "opcode" : 116,
1255 "operands" : [
1256 { "kind" : "IdResultType" },
1257 { "kind" : "IdResult" },
1258 { "kind" : "IdRef", "name" : "'Value'" }
1259 ]
1260 },
1261 {
1262 "opname" : "OpConvertPtrToU",
1263 "class" : "Conversion",
1264 "opcode" : 117,
1265 "operands" : [
1266 { "kind" : "IdResultType" },
1267 { "kind" : "IdResult" },
1268 { "kind" : "IdRef", "name" : "'Pointer'" }
1269 ],
1270 "capabilities" : [
1271 "Addresses",
1272 "PhysicalStorageBufferAddresses"
1273 ]
1274 },
1275 {
1276 "opname" : "OpSatConvertSToU",
1277 "class" : "Conversion",
1278 "opcode" : 118,
1279 "operands" : [
1280 { "kind" : "IdResultType" },
1281 { "kind" : "IdResult" },
1282 { "kind" : "IdRef", "name" : "'Signed Value'" }
1283 ],
1284 "capabilities" : [ "Kernel" ]
1285 },
1286 {
1287 "opname" : "OpSatConvertUToS",
1288 "class" : "Conversion",
1289 "opcode" : 119,
1290 "operands" : [
1291 { "kind" : "IdResultType" },
1292 { "kind" : "IdResult" },
1293 { "kind" : "IdRef", "name" : "'Unsigned Value'" }
1294 ],
1295 "capabilities" : [ "Kernel" ]
1296 },
1297 {
1298 "opname" : "OpConvertUToPtr",
1299 "class" : "Conversion",
1300 "opcode" : 120,
1301 "operands" : [
1302 { "kind" : "IdResultType" },
1303 { "kind" : "IdResult" },
1304 { "kind" : "IdRef", "name" : "'Integer Value'" }
1305 ],
1306 "capabilities" : [
1307 "Addresses",
1308 "PhysicalStorageBufferAddresses"
1309 ]
1310 },
1311 {
1312 "opname" : "OpPtrCastToGeneric",
1313 "class" : "Conversion",
1314 "opcode" : 121,
1315 "operands" : [
1316 { "kind" : "IdResultType" },
1317 { "kind" : "IdResult" },
1318 { "kind" : "IdRef", "name" : "'Pointer'" }
1319 ],
1320 "capabilities" : [ "Kernel" ]
1321 },
1322 {
1323 "opname" : "OpGenericCastToPtr",
1324 "class" : "Conversion",
1325 "opcode" : 122,
1326 "operands" : [
1327 { "kind" : "IdResultType" },
1328 { "kind" : "IdResult" },
1329 { "kind" : "IdRef", "name" : "'Pointer'" }
1330 ],
1331 "capabilities" : [ "Kernel" ]
1332 },
1333 {
1334 "opname" : "OpGenericCastToPtrExplicit",
1335 "class" : "Conversion",
1336 "opcode" : 123,
1337 "operands" : [
1338 { "kind" : "IdResultType" },
1339 { "kind" : "IdResult" },
1340 { "kind" : "IdRef", "name" : "'Pointer'" },
1341 { "kind" : "StorageClass", "name" : "'Storage'" }
1342 ],
1343 "capabilities" : [ "Kernel" ]
1344 },
1345 {
1346 "opname" : "OpBitcast",
1347 "class" : "Conversion",
1348 "opcode" : 124,
1349 "operands" : [
1350 { "kind" : "IdResultType" },
1351 { "kind" : "IdResult" },
1352 { "kind" : "IdRef", "name" : "'Operand'" }
1353 ]
1354 },
1355 {
1356 "opname" : "OpSNegate",
1357 "class" : "Arithmetic",
1358 "opcode" : 126,
1359 "operands" : [
1360 { "kind" : "IdResultType" },
1361 { "kind" : "IdResult" },
1362 { "kind" : "IdRef", "name" : "'Operand'" }
1363 ]
1364 },
1365 {
1366 "opname" : "OpFNegate",
1367 "class" : "Arithmetic",
1368 "opcode" : 127,
1369 "operands" : [
1370 { "kind" : "IdResultType" },
1371 { "kind" : "IdResult" },
1372 { "kind" : "IdRef", "name" : "'Operand'" }
1373 ]
1374 },
1375 {
1376 "opname" : "OpIAdd",
1377 "class" : "Arithmetic",
1378 "opcode" : 128,
1379 "operands" : [
1380 { "kind" : "IdResultType" },
1381 { "kind" : "IdResult" },
1382 { "kind" : "IdRef", "name" : "'Operand 1'" },
1383 { "kind" : "IdRef", "name" : "'Operand 2'" }
1384 ]
1385 },
1386 {
1387 "opname" : "OpFAdd",
1388 "class" : "Arithmetic",
1389 "opcode" : 129,
1390 "operands" : [
1391 { "kind" : "IdResultType" },
1392 { "kind" : "IdResult" },
1393 { "kind" : "IdRef", "name" : "'Operand 1'" },
1394 { "kind" : "IdRef", "name" : "'Operand 2'" }
1395 ]
1396 },
1397 {
1398 "opname" : "OpISub",
1399 "class" : "Arithmetic",
1400 "opcode" : 130,
1401 "operands" : [
1402 { "kind" : "IdResultType" },
1403 { "kind" : "IdResult" },
1404 { "kind" : "IdRef", "name" : "'Operand 1'" },
1405 { "kind" : "IdRef", "name" : "'Operand 2'" }
1406 ]
1407 },
1408 {
1409 "opname" : "OpFSub",
1410 "class" : "Arithmetic",
1411 "opcode" : 131,
1412 "operands" : [
1413 { "kind" : "IdResultType" },
1414 { "kind" : "IdResult" },
1415 { "kind" : "IdRef", "name" : "'Operand 1'" },
1416 { "kind" : "IdRef", "name" : "'Operand 2'" }
1417 ]
1418 },
1419 {
1420 "opname" : "OpIMul",
1421 "class" : "Arithmetic",
1422 "opcode" : 132,
1423 "operands" : [
1424 { "kind" : "IdResultType" },
1425 { "kind" : "IdResult" },
1426 { "kind" : "IdRef", "name" : "'Operand 1'" },
1427 { "kind" : "IdRef", "name" : "'Operand 2'" }
1428 ]
1429 },
1430 {
1431 "opname" : "OpFMul",
1432 "class" : "Arithmetic",
1433 "opcode" : 133,
1434 "operands" : [
1435 { "kind" : "IdResultType" },
1436 { "kind" : "IdResult" },
1437 { "kind" : "IdRef", "name" : "'Operand 1'" },
1438 { "kind" : "IdRef", "name" : "'Operand 2'" }
1439 ]
1440 },
1441 {
1442 "opname" : "OpUDiv",
1443 "class" : "Arithmetic",
1444 "opcode" : 134,
1445 "operands" : [
1446 { "kind" : "IdResultType" },
1447 { "kind" : "IdResult" },
1448 { "kind" : "IdRef", "name" : "'Operand 1'" },
1449 { "kind" : "IdRef", "name" : "'Operand 2'" }
1450 ]
1451 },
1452 {
1453 "opname" : "OpSDiv",
1454 "class" : "Arithmetic",
1455 "opcode" : 135,
1456 "operands" : [
1457 { "kind" : "IdResultType" },
1458 { "kind" : "IdResult" },
1459 { "kind" : "IdRef", "name" : "'Operand 1'" },
1460 { "kind" : "IdRef", "name" : "'Operand 2'" }
1461 ]
1462 },
1463 {
1464 "opname" : "OpFDiv",
1465 "class" : "Arithmetic",
1466 "opcode" : 136,
1467 "operands" : [
1468 { "kind" : "IdResultType" },
1469 { "kind" : "IdResult" },
1470 { "kind" : "IdRef", "name" : "'Operand 1'" },
1471 { "kind" : "IdRef", "name" : "'Operand 2'" }
1472 ]
1473 },
1474 {
1475 "opname" : "OpUMod",
1476 "class" : "Arithmetic",
1477 "opcode" : 137,
1478 "operands" : [
1479 { "kind" : "IdResultType" },
1480 { "kind" : "IdResult" },
1481 { "kind" : "IdRef", "name" : "'Operand 1'" },
1482 { "kind" : "IdRef", "name" : "'Operand 2'" }
1483 ]
1484 },
1485 {
1486 "opname" : "OpSRem",
1487 "class" : "Arithmetic",
1488 "opcode" : 138,
1489 "operands" : [
1490 { "kind" : "IdResultType" },
1491 { "kind" : "IdResult" },
1492 { "kind" : "IdRef", "name" : "'Operand 1'" },
1493 { "kind" : "IdRef", "name" : "'Operand 2'" }
1494 ]
1495 },
1496 {
1497 "opname" : "OpSMod",
1498 "class" : "Arithmetic",
1499 "opcode" : 139,
1500 "operands" : [
1501 { "kind" : "IdResultType" },
1502 { "kind" : "IdResult" },
1503 { "kind" : "IdRef", "name" : "'Operand 1'" },
1504 { "kind" : "IdRef", "name" : "'Operand 2'" }
1505 ]
1506 },
1507 {
1508 "opname" : "OpFRem",
1509 "class" : "Arithmetic",
1510 "opcode" : 140,
1511 "operands" : [
1512 { "kind" : "IdResultType" },
1513 { "kind" : "IdResult" },
1514 { "kind" : "IdRef", "name" : "'Operand 1'" },
1515 { "kind" : "IdRef", "name" : "'Operand 2'" }
1516 ]
1517 },
1518 {
1519 "opname" : "OpFMod",
1520 "class" : "Arithmetic",
1521 "opcode" : 141,
1522 "operands" : [
1523 { "kind" : "IdResultType" },
1524 { "kind" : "IdResult" },
1525 { "kind" : "IdRef", "name" : "'Operand 1'" },
1526 { "kind" : "IdRef", "name" : "'Operand 2'" }
1527 ]
1528 },
1529 {
1530 "opname" : "OpVectorTimesScalar",
1531 "class" : "Arithmetic",
1532 "opcode" : 142,
1533 "operands" : [
1534 { "kind" : "IdResultType" },
1535 { "kind" : "IdResult" },
1536 { "kind" : "IdRef", "name" : "'Vector'" },
1537 { "kind" : "IdRef", "name" : "'Scalar'" }
1538 ]
1539 },
1540 {
1541 "opname" : "OpMatrixTimesScalar",
1542 "class" : "Arithmetic",
1543 "opcode" : 143,
1544 "operands" : [
1545 { "kind" : "IdResultType" },
1546 { "kind" : "IdResult" },
1547 { "kind" : "IdRef", "name" : "'Matrix'" },
1548 { "kind" : "IdRef", "name" : "'Scalar'" }
1549 ],
1550 "capabilities" : [ "Matrix" ]
1551 },
1552 {
1553 "opname" : "OpVectorTimesMatrix",
1554 "class" : "Arithmetic",
1555 "opcode" : 144,
1556 "operands" : [
1557 { "kind" : "IdResultType" },
1558 { "kind" : "IdResult" },
1559 { "kind" : "IdRef", "name" : "'Vector'" },
1560 { "kind" : "IdRef", "name" : "'Matrix'" }
1561 ],
1562 "capabilities" : [ "Matrix" ]
1563 },
1564 {
1565 "opname" : "OpMatrixTimesVector",
1566 "class" : "Arithmetic",
1567 "opcode" : 145,
1568 "operands" : [
1569 { "kind" : "IdResultType" },
1570 { "kind" : "IdResult" },
1571 { "kind" : "IdRef", "name" : "'Matrix'" },
1572 { "kind" : "IdRef", "name" : "'Vector'" }
1573 ],
1574 "capabilities" : [ "Matrix" ]
1575 },
1576 {
1577 "opname" : "OpMatrixTimesMatrix",
1578 "class" : "Arithmetic",
1579 "opcode" : 146,
1580 "operands" : [
1581 { "kind" : "IdResultType" },
1582 { "kind" : "IdResult" },
1583 { "kind" : "IdRef", "name" : "'LeftMatrix'" },
1584 { "kind" : "IdRef", "name" : "'RightMatrix'" }
1585 ],
1586 "capabilities" : [ "Matrix" ]
1587 },
1588 {
1589 "opname" : "OpOuterProduct",
1590 "class" : "Arithmetic",
1591 "opcode" : 147,
1592 "operands" : [
1593 { "kind" : "IdResultType" },
1594 { "kind" : "IdResult" },
1595 { "kind" : "IdRef", "name" : "'Vector 1'" },
1596 { "kind" : "IdRef", "name" : "'Vector 2'" }
1597 ],
1598 "capabilities" : [ "Matrix" ]
1599 },
1600 {
1601 "opname" : "OpDot",
1602 "class" : "Arithmetic",
1603 "opcode" : 148,
1604 "operands" : [
1605 { "kind" : "IdResultType" },
1606 { "kind" : "IdResult" },
1607 { "kind" : "IdRef", "name" : "'Vector 1'" },
1608 { "kind" : "IdRef", "name" : "'Vector 2'" }
1609 ]
1610 },
1611 {
1612 "opname" : "OpIAddCarry",
1613 "class" : "Arithmetic",
1614 "opcode" : 149,
1615 "operands" : [
1616 { "kind" : "IdResultType" },
1617 { "kind" : "IdResult" },
1618 { "kind" : "IdRef", "name" : "'Operand 1'" },
1619 { "kind" : "IdRef", "name" : "'Operand 2'" }
1620 ]
1621 },
1622 {
1623 "opname" : "OpISubBorrow",
1624 "class" : "Arithmetic",
1625 "opcode" : 150,
1626 "operands" : [
1627 { "kind" : "IdResultType" },
1628 { "kind" : "IdResult" },
1629 { "kind" : "IdRef", "name" : "'Operand 1'" },
1630 { "kind" : "IdRef", "name" : "'Operand 2'" }
1631 ]
1632 },
1633 {
1634 "opname" : "OpUMulExtended",
1635 "class" : "Arithmetic",
1636 "opcode" : 151,
1637 "operands" : [
1638 { "kind" : "IdResultType" },
1639 { "kind" : "IdResult" },
1640 { "kind" : "IdRef", "name" : "'Operand 1'" },
1641 { "kind" : "IdRef", "name" : "'Operand 2'" }
1642 ]
1643 },
1644 {
1645 "opname" : "OpSMulExtended",
1646 "class" : "Arithmetic",
1647 "opcode" : 152,
1648 "operands" : [
1649 { "kind" : "IdResultType" },
1650 { "kind" : "IdResult" },
1651 { "kind" : "IdRef", "name" : "'Operand 1'" },
1652 { "kind" : "IdRef", "name" : "'Operand 2'" }
1653 ]
1654 },
1655 {
1656 "opname" : "OpAny",
1657 "class" : "Relational_and_Logical",
1658 "opcode" : 154,
1659 "operands" : [
1660 { "kind" : "IdResultType" },
1661 { "kind" : "IdResult" },
1662 { "kind" : "IdRef", "name" : "'Vector'" }
1663 ]
1664 },
1665 {
1666 "opname" : "OpAll",
1667 "class" : "Relational_and_Logical",
1668 "opcode" : 155,
1669 "operands" : [
1670 { "kind" : "IdResultType" },
1671 { "kind" : "IdResult" },
1672 { "kind" : "IdRef", "name" : "'Vector'" }
1673 ]
1674 },
1675 {
1676 "opname" : "OpIsNan",
1677 "class" : "Relational_and_Logical",
1678 "opcode" : 156,
1679 "operands" : [
1680 { "kind" : "IdResultType" },
1681 { "kind" : "IdResult" },
1682 { "kind" : "IdRef", "name" : "'x'" }
1683 ]
1684 },
1685 {
1686 "opname" : "OpIsInf",
1687 "class" : "Relational_and_Logical",
1688 "opcode" : 157,
1689 "operands" : [
1690 { "kind" : "IdResultType" },
1691 { "kind" : "IdResult" },
1692 { "kind" : "IdRef", "name" : "'x'" }
1693 ]
1694 },
1695 {
1696 "opname" : "OpIsFinite",
1697 "class" : "Relational_and_Logical",
1698 "opcode" : 158,
1699 "operands" : [
1700 { "kind" : "IdResultType" },
1701 { "kind" : "IdResult" },
1702 { "kind" : "IdRef", "name" : "'x'" }
1703 ],
1704 "capabilities" : [ "Kernel" ]
1705 },
1706 {
1707 "opname" : "OpIsNormal",
1708 "class" : "Relational_and_Logical",
1709 "opcode" : 159,
1710 "operands" : [
1711 { "kind" : "IdResultType" },
1712 { "kind" : "IdResult" },
1713 { "kind" : "IdRef", "name" : "'x'" }
1714 ],
1715 "capabilities" : [ "Kernel" ]
1716 },
1717 {
1718 "opname" : "OpSignBitSet",
1719 "class" : "Relational_and_Logical",
1720 "opcode" : 160,
1721 "operands" : [
1722 { "kind" : "IdResultType" },
1723 { "kind" : "IdResult" },
1724 { "kind" : "IdRef", "name" : "'x'" }
1725 ],
1726 "capabilities" : [ "Kernel" ]
1727 },
1728 {
1729 "opname" : "OpLessOrGreater",
1730 "class" : "Relational_and_Logical",
1731 "opcode" : 161,
1732 "operands" : [
1733 { "kind" : "IdResultType" },
1734 { "kind" : "IdResult" },
1735 { "kind" : "IdRef", "name" : "'x'" },
1736 { "kind" : "IdRef", "name" : "'y'" }
1737 ],
1738 "capabilities" : [ "Kernel" ]
1739 },
1740 {
1741 "opname" : "OpOrdered",
1742 "class" : "Relational_and_Logical",
1743 "opcode" : 162,
1744 "operands" : [
1745 { "kind" : "IdResultType" },
1746 { "kind" : "IdResult" },
1747 { "kind" : "IdRef", "name" : "'x'" },
1748 { "kind" : "IdRef", "name" : "'y'" }
1749 ],
1750 "capabilities" : [ "Kernel" ]
1751 },
1752 {
1753 "opname" : "OpUnordered",
1754 "class" : "Relational_and_Logical",
1755 "opcode" : 163,
1756 "operands" : [
1757 { "kind" : "IdResultType" },
1758 { "kind" : "IdResult" },
1759 { "kind" : "IdRef", "name" : "'x'" },
1760 { "kind" : "IdRef", "name" : "'y'" }
1761 ],
1762 "capabilities" : [ "Kernel" ]
1763 },
1764 {
1765 "opname" : "OpLogicalEqual",
1766 "class" : "Relational_and_Logical",
1767 "opcode" : 164,
1768 "operands" : [
1769 { "kind" : "IdResultType" },
1770 { "kind" : "IdResult" },
1771 { "kind" : "IdRef", "name" : "'Operand 1'" },
1772 { "kind" : "IdRef", "name" : "'Operand 2'" }
1773 ]
1774 },
1775 {
1776 "opname" : "OpLogicalNotEqual",
1777 "class" : "Relational_and_Logical",
1778 "opcode" : 165,
1779 "operands" : [
1780 { "kind" : "IdResultType" },
1781 { "kind" : "IdResult" },
1782 { "kind" : "IdRef", "name" : "'Operand 1'" },
1783 { "kind" : "IdRef", "name" : "'Operand 2'" }
1784 ]
1785 },
1786 {
1787 "opname" : "OpLogicalOr",
1788 "class" : "Relational_and_Logical",
1789 "opcode" : 166,
1790 "operands" : [
1791 { "kind" : "IdResultType" },
1792 { "kind" : "IdResult" },
1793 { "kind" : "IdRef", "name" : "'Operand 1'" },
1794 { "kind" : "IdRef", "name" : "'Operand 2'" }
1795 ]
1796 },
1797 {
1798 "opname" : "OpLogicalAnd",
1799 "class" : "Relational_and_Logical",
1800 "opcode" : 167,
1801 "operands" : [
1802 { "kind" : "IdResultType" },
1803 { "kind" : "IdResult" },
1804 { "kind" : "IdRef", "name" : "'Operand 1'" },
1805 { "kind" : "IdRef", "name" : "'Operand 2'" }
1806 ]
1807 },
1808 {
1809 "opname" : "OpLogicalNot",
1810 "class" : "Relational_and_Logical",
1811 "opcode" : 168,
1812 "operands" : [
1813 { "kind" : "IdResultType" },
1814 { "kind" : "IdResult" },
1815 { "kind" : "IdRef", "name" : "'Operand'" }
1816 ]
1817 },
1818 {
1819 "opname" : "OpSelect",
1820 "class" : "Relational_and_Logical",
1821 "opcode" : 169,
1822 "operands" : [
1823 { "kind" : "IdResultType" },
1824 { "kind" : "IdResult" },
1825 { "kind" : "IdRef", "name" : "'Condition'" },
1826 { "kind" : "IdRef", "name" : "'Object 1'" },
1827 { "kind" : "IdRef", "name" : "'Object 2'" }
1828 ]
1829 },
1830 {
1831 "opname" : "OpIEqual",
1832 "class" : "Relational_and_Logical",
1833 "opcode" : 170,
1834 "operands" : [
1835 { "kind" : "IdResultType" },
1836 { "kind" : "IdResult" },
1837 { "kind" : "IdRef", "name" : "'Operand 1'" },
1838 { "kind" : "IdRef", "name" : "'Operand 2'" }
1839 ]
1840 },
1841 {
1842 "opname" : "OpINotEqual",
1843 "class" : "Relational_and_Logical",
1844 "opcode" : 171,
1845 "operands" : [
1846 { "kind" : "IdResultType" },
1847 { "kind" : "IdResult" },
1848 { "kind" : "IdRef", "name" : "'Operand 1'" },
1849 { "kind" : "IdRef", "name" : "'Operand 2'" }
1850 ]
1851 },
1852 {
1853 "opname" : "OpUGreaterThan",
1854 "class" : "Relational_and_Logical",
1855 "opcode" : 172,
1856 "operands" : [
1857 { "kind" : "IdResultType" },
1858 { "kind" : "IdResult" },
1859 { "kind" : "IdRef", "name" : "'Operand 1'" },
1860 { "kind" : "IdRef", "name" : "'Operand 2'" }
1861 ]
1862 },
1863 {
1864 "opname" : "OpSGreaterThan",
1865 "class" : "Relational_and_Logical",
1866 "opcode" : 173,
1867 "operands" : [
1868 { "kind" : "IdResultType" },
1869 { "kind" : "IdResult" },
1870 { "kind" : "IdRef", "name" : "'Operand 1'" },
1871 { "kind" : "IdRef", "name" : "'Operand 2'" }
1872 ]
1873 },
1874 {
1875 "opname" : "OpUGreaterThanEqual",
1876 "class" : "Relational_and_Logical",
1877 "opcode" : 174,
1878 "operands" : [
1879 { "kind" : "IdResultType" },
1880 { "kind" : "IdResult" },
1881 { "kind" : "IdRef", "name" : "'Operand 1'" },
1882 { "kind" : "IdRef", "name" : "'Operand 2'" }
1883 ]
1884 },
1885 {
1886 "opname" : "OpSGreaterThanEqual",
1887 "class" : "Relational_and_Logical",
1888 "opcode" : 175,
1889 "operands" : [
1890 { "kind" : "IdResultType" },
1891 { "kind" : "IdResult" },
1892 { "kind" : "IdRef", "name" : "'Operand 1'" },
1893 { "kind" : "IdRef", "name" : "'Operand 2'" }
1894 ]
1895 },
1896 {
1897 "opname" : "OpULessThan",
1898 "class" : "Relational_and_Logical",
1899 "opcode" : 176,
1900 "operands" : [
1901 { "kind" : "IdResultType" },
1902 { "kind" : "IdResult" },
1903 { "kind" : "IdRef", "name" : "'Operand 1'" },
1904 { "kind" : "IdRef", "name" : "'Operand 2'" }
1905 ]
1906 },
1907 {
1908 "opname" : "OpSLessThan",
1909 "class" : "Relational_and_Logical",
1910 "opcode" : 177,
1911 "operands" : [
1912 { "kind" : "IdResultType" },
1913 { "kind" : "IdResult" },
1914 { "kind" : "IdRef", "name" : "'Operand 1'" },
1915 { "kind" : "IdRef", "name" : "'Operand 2'" }
1916 ]
1917 },
1918 {
1919 "opname" : "OpULessThanEqual",
1920 "class" : "Relational_and_Logical",
1921 "opcode" : 178,
1922 "operands" : [
1923 { "kind" : "IdResultType" },
1924 { "kind" : "IdResult" },
1925 { "kind" : "IdRef", "name" : "'Operand 1'" },
1926 { "kind" : "IdRef", "name" : "'Operand 2'" }
1927 ]
1928 },
1929 {
1930 "opname" : "OpSLessThanEqual",
1931 "class" : "Relational_and_Logical",
1932 "opcode" : 179,
1933 "operands" : [
1934 { "kind" : "IdResultType" },
1935 { "kind" : "IdResult" },
1936 { "kind" : "IdRef", "name" : "'Operand 1'" },
1937 { "kind" : "IdRef", "name" : "'Operand 2'" }
1938 ]
1939 },
1940 {
1941 "opname" : "OpFOrdEqual",
1942 "class" : "Relational_and_Logical",
1943 "opcode" : 180,
1944 "operands" : [
1945 { "kind" : "IdResultType" },
1946 { "kind" : "IdResult" },
1947 { "kind" : "IdRef", "name" : "'Operand 1'" },
1948 { "kind" : "IdRef", "name" : "'Operand 2'" }
1949 ]
1950 },
1951 {
1952 "opname" : "OpFUnordEqual",
1953 "class" : "Relational_and_Logical",
1954 "opcode" : 181,
1955 "operands" : [
1956 { "kind" : "IdResultType" },
1957 { "kind" : "IdResult" },
1958 { "kind" : "IdRef", "name" : "'Operand 1'" },
1959 { "kind" : "IdRef", "name" : "'Operand 2'" }
1960 ]
1961 },
1962 {
1963 "opname" : "OpFOrdNotEqual",
1964 "class" : "Relational_and_Logical",
1965 "opcode" : 182,
1966 "operands" : [
1967 { "kind" : "IdResultType" },
1968 { "kind" : "IdResult" },
1969 { "kind" : "IdRef", "name" : "'Operand 1'" },
1970 { "kind" : "IdRef", "name" : "'Operand 2'" }
1971 ]
1972 },
1973 {
1974 "opname" : "OpFUnordNotEqual",
1975 "class" : "Relational_and_Logical",
1976 "opcode" : 183,
1977 "operands" : [
1978 { "kind" : "IdResultType" },
1979 { "kind" : "IdResult" },
1980 { "kind" : "IdRef", "name" : "'Operand 1'" },
1981 { "kind" : "IdRef", "name" : "'Operand 2'" }
1982 ]
1983 },
1984 {
1985 "opname" : "OpFOrdLessThan",
1986 "class" : "Relational_and_Logical",
1987 "opcode" : 184,
1988 "operands" : [
1989 { "kind" : "IdResultType" },
1990 { "kind" : "IdResult" },
1991 { "kind" : "IdRef", "name" : "'Operand 1'" },
1992 { "kind" : "IdRef", "name" : "'Operand 2'" }
1993 ]
1994 },
1995 {
1996 "opname" : "OpFUnordLessThan",
1997 "class" : "Relational_and_Logical",
1998 "opcode" : 185,
1999 "operands" : [
2000 { "kind" : "IdResultType" },
2001 { "kind" : "IdResult" },
2002 { "kind" : "IdRef", "name" : "'Operand 1'" },
2003 { "kind" : "IdRef", "name" : "'Operand 2'" }
2004 ]
2005 },
2006 {
2007 "opname" : "OpFOrdGreaterThan",
2008 "class" : "Relational_and_Logical",
2009 "opcode" : 186,
2010 "operands" : [
2011 { "kind" : "IdResultType" },
2012 { "kind" : "IdResult" },
2013 { "kind" : "IdRef", "name" : "'Operand 1'" },
2014 { "kind" : "IdRef", "name" : "'Operand 2'" }
2015 ]
2016 },
2017 {
2018 "opname" : "OpFUnordGreaterThan",
2019 "class" : "Relational_and_Logical",
2020 "opcode" : 187,
2021 "operands" : [
2022 { "kind" : "IdResultType" },
2023 { "kind" : "IdResult" },
2024 { "kind" : "IdRef", "name" : "'Operand 1'" },
2025 { "kind" : "IdRef", "name" : "'Operand 2'" }
2026 ]
2027 },
2028 {
2029 "opname" : "OpFOrdLessThanEqual",
2030 "class" : "Relational_and_Logical",
2031 "opcode" : 188,
2032 "operands" : [
2033 { "kind" : "IdResultType" },
2034 { "kind" : "IdResult" },
2035 { "kind" : "IdRef", "name" : "'Operand 1'" },
2036 { "kind" : "IdRef", "name" : "'Operand 2'" }
2037 ]
2038 },
2039 {
2040 "opname" : "OpFUnordLessThanEqual",
2041 "class" : "Relational_and_Logical",
2042 "opcode" : 189,
2043 "operands" : [
2044 { "kind" : "IdResultType" },
2045 { "kind" : "IdResult" },
2046 { "kind" : "IdRef", "name" : "'Operand 1'" },
2047 { "kind" : "IdRef", "name" : "'Operand 2'" }
2048 ]
2049 },
2050 {
2051 "opname" : "OpFOrdGreaterThanEqual",
2052 "class" : "Relational_and_Logical",
2053 "opcode" : 190,
2054 "operands" : [
2055 { "kind" : "IdResultType" },
2056 { "kind" : "IdResult" },
2057 { "kind" : "IdRef", "name" : "'Operand 1'" },
2058 { "kind" : "IdRef", "name" : "'Operand 2'" }
2059 ]
2060 },
2061 {
2062 "opname" : "OpFUnordGreaterThanEqual",
2063 "class" : "Relational_and_Logical",
2064 "opcode" : 191,
2065 "operands" : [
2066 { "kind" : "IdResultType" },
2067 { "kind" : "IdResult" },
2068 { "kind" : "IdRef", "name" : "'Operand 1'" },
2069 { "kind" : "IdRef", "name" : "'Operand 2'" }
2070 ]
2071 },
2072 {
2073 "opname" : "OpShiftRightLogical",
2074 "class" : "Bit",
2075 "opcode" : 194,
2076 "operands" : [
2077 { "kind" : "IdResultType" },
2078 { "kind" : "IdResult" },
2079 { "kind" : "IdRef", "name" : "'Base'" },
2080 { "kind" : "IdRef", "name" : "'Shift'" }
2081 ]
2082 },
2083 {
2084 "opname" : "OpShiftRightArithmetic",
2085 "class" : "Bit",
2086 "opcode" : 195,
2087 "operands" : [
2088 { "kind" : "IdResultType" },
2089 { "kind" : "IdResult" },
2090 { "kind" : "IdRef", "name" : "'Base'" },
2091 { "kind" : "IdRef", "name" : "'Shift'" }
2092 ]
2093 },
2094 {
2095 "opname" : "OpShiftLeftLogical",
2096 "class" : "Bit",
2097 "opcode" : 196,
2098 "operands" : [
2099 { "kind" : "IdResultType" },
2100 { "kind" : "IdResult" },
2101 { "kind" : "IdRef", "name" : "'Base'" },
2102 { "kind" : "IdRef", "name" : "'Shift'" }
2103 ]
2104 },
2105 {
2106 "opname" : "OpBitwiseOr",
2107 "class" : "Bit",
2108 "opcode" : 197,
2109 "operands" : [
2110 { "kind" : "IdResultType" },
2111 { "kind" : "IdResult" },
2112 { "kind" : "IdRef", "name" : "'Operand 1'" },
2113 { "kind" : "IdRef", "name" : "'Operand 2'" }
2114 ]
2115 },
2116 {
2117 "opname" : "OpBitwiseXor",
2118 "class" : "Bit",
2119 "opcode" : 198,
2120 "operands" : [
2121 { "kind" : "IdResultType" },
2122 { "kind" : "IdResult" },
2123 { "kind" : "IdRef", "name" : "'Operand 1'" },
2124 { "kind" : "IdRef", "name" : "'Operand 2'" }
2125 ]
2126 },
2127 {
2128 "opname" : "OpBitwiseAnd",
2129 "class" : "Bit",
2130 "opcode" : 199,
2131 "operands" : [
2132 { "kind" : "IdResultType" },
2133 { "kind" : "IdResult" },
2134 { "kind" : "IdRef", "name" : "'Operand 1'" },
2135 { "kind" : "IdRef", "name" : "'Operand 2'" }
2136 ]
2137 },
2138 {
2139 "opname" : "OpNot",
2140 "class" : "Bit",
2141 "opcode" : 200,
2142 "operands" : [
2143 { "kind" : "IdResultType" },
2144 { "kind" : "IdResult" },
2145 { "kind" : "IdRef", "name" : "'Operand'" }
2146 ]
2147 },
2148 {
2149 "opname" : "OpBitFieldInsert",
2150 "class" : "Bit",
2151 "opcode" : 201,
2152 "operands" : [
2153 { "kind" : "IdResultType" },
2154 { "kind" : "IdResult" },
2155 { "kind" : "IdRef", "name" : "'Base'" },
2156 { "kind" : "IdRef", "name" : "'Insert'" },
2157 { "kind" : "IdRef", "name" : "'Offset'" },
2158 { "kind" : "IdRef", "name" : "'Count'" }
2159 ],
2160 "capabilities" : [ "Shader" ]
2161 },
2162 {
2163 "opname" : "OpBitFieldSExtract",
2164 "class" : "Bit",
2165 "opcode" : 202,
2166 "operands" : [
2167 { "kind" : "IdResultType" },
2168 { "kind" : "IdResult" },
2169 { "kind" : "IdRef", "name" : "'Base'" },
2170 { "kind" : "IdRef", "name" : "'Offset'" },
2171 { "kind" : "IdRef", "name" : "'Count'" }
2172 ],
2173 "capabilities" : [ "Shader" ]
2174 },
2175 {
2176 "opname" : "OpBitFieldUExtract",
2177 "class" : "Bit",
2178 "opcode" : 203,
2179 "operands" : [
2180 { "kind" : "IdResultType" },
2181 { "kind" : "IdResult" },
2182 { "kind" : "IdRef", "name" : "'Base'" },
2183 { "kind" : "IdRef", "name" : "'Offset'" },
2184 { "kind" : "IdRef", "name" : "'Count'" }
2185 ],
2186 "capabilities" : [ "Shader" ]
2187 },
2188 {
2189 "opname" : "OpBitReverse",
2190 "class" : "Bit",
2191 "opcode" : 204,
2192 "operands" : [
2193 { "kind" : "IdResultType" },
2194 { "kind" : "IdResult" },
2195 { "kind" : "IdRef", "name" : "'Base'" }
2196 ],
2197 "capabilities" : [ "Shader" ]
2198 },
2199 {
2200 "opname" : "OpBitCount",
2201 "class" : "Bit",
2202 "opcode" : 205,
2203 "operands" : [
2204 { "kind" : "IdResultType" },
2205 { "kind" : "IdResult" },
2206 { "kind" : "IdRef", "name" : "'Base'" }
2207 ]
2208 },
2209 {
2210 "opname" : "OpDPdx",
2211 "class" : "Derivative",
2212 "opcode" : 207,
2213 "operands" : [
2214 { "kind" : "IdResultType" },
2215 { "kind" : "IdResult" },
2216 { "kind" : "IdRef", "name" : "'P'" }
2217 ],
2218 "capabilities" : [ "Shader" ]
2219 },
2220 {
2221 "opname" : "OpDPdy",
2222 "class" : "Derivative",
2223 "opcode" : 208,
2224 "operands" : [
2225 { "kind" : "IdResultType" },
2226 { "kind" : "IdResult" },
2227 { "kind" : "IdRef", "name" : "'P'" }
2228 ],
2229 "capabilities" : [ "Shader" ]
2230 },
2231 {
2232 "opname" : "OpFwidth",
2233 "class" : "Derivative",
2234 "opcode" : 209,
2235 "operands" : [
2236 { "kind" : "IdResultType" },
2237 { "kind" : "IdResult" },
2238 { "kind" : "IdRef", "name" : "'P'" }
2239 ],
2240 "capabilities" : [ "Shader" ]
2241 },
2242 {
2243 "opname" : "OpDPdxFine",
2244 "class" : "Derivative",
2245 "opcode" : 210,
2246 "operands" : [
2247 { "kind" : "IdResultType" },
2248 { "kind" : "IdResult" },
2249 { "kind" : "IdRef", "name" : "'P'" }
2250 ],
2251 "capabilities" : [ "DerivativeControl" ]
2252 },
2253 {
2254 "opname" : "OpDPdyFine",
2255 "class" : "Derivative",
2256 "opcode" : 211,
2257 "operands" : [
2258 { "kind" : "IdResultType" },
2259 { "kind" : "IdResult" },
2260 { "kind" : "IdRef", "name" : "'P'" }
2261 ],
2262 "capabilities" : [ "DerivativeControl" ]
2263 },
2264 {
2265 "opname" : "OpFwidthFine",
2266 "class" : "Derivative",
2267 "opcode" : 212,
2268 "operands" : [
2269 { "kind" : "IdResultType" },
2270 { "kind" : "IdResult" },
2271 { "kind" : "IdRef", "name" : "'P'" }
2272 ],
2273 "capabilities" : [ "DerivativeControl" ]
2274 },
2275 {
2276 "opname" : "OpDPdxCoarse",
2277 "class" : "Derivative",
2278 "opcode" : 213,
2279 "operands" : [
2280 { "kind" : "IdResultType" },
2281 { "kind" : "IdResult" },
2282 { "kind" : "IdRef", "name" : "'P'" }
2283 ],
2284 "capabilities" : [ "DerivativeControl" ]
2285 },
2286 {
2287 "opname" : "OpDPdyCoarse",
2288 "class" : "Derivative",
2289 "opcode" : 214,
2290 "operands" : [
2291 { "kind" : "IdResultType" },
2292 { "kind" : "IdResult" },
2293 { "kind" : "IdRef", "name" : "'P'" }
2294 ],
2295 "capabilities" : [ "DerivativeControl" ]
2296 },
2297 {
2298 "opname" : "OpFwidthCoarse",
2299 "class" : "Derivative",
2300 "opcode" : 215,
2301 "operands" : [
2302 { "kind" : "IdResultType" },
2303 { "kind" : "IdResult" },
2304 { "kind" : "IdRef", "name" : "'P'" }
2305 ],
2306 "capabilities" : [ "DerivativeControl" ]
2307 },
2308 {
2309 "opname" : "OpEmitVertex",
2310 "class" : "Primitive",
2311 "opcode" : 218,
2312 "capabilities" : [ "Geometry" ]
2313 },
2314 {
2315 "opname" : "OpEndPrimitive",
2316 "class" : "Primitive",
2317 "opcode" : 219,
2318 "capabilities" : [ "Geometry" ]
2319 },
2320 {
2321 "opname" : "OpEmitStreamVertex",
2322 "class" : "Primitive",
2323 "opcode" : 220,
2324 "operands" : [
2325 { "kind" : "IdRef", "name" : "'Stream'" }
2326 ],
2327 "capabilities" : [ "GeometryStreams" ]
2328 },
2329 {
2330 "opname" : "OpEndStreamPrimitive",
2331 "class" : "Primitive",
2332 "opcode" : 221,
2333 "operands" : [
2334 { "kind" : "IdRef", "name" : "'Stream'" }
2335 ],
2336 "capabilities" : [ "GeometryStreams" ]
2337 },
2338 {
2339 "opname" : "OpControlBarrier",
2340 "class" : "Barrier",
2341 "opcode" : 224,
2342 "operands" : [
2343 { "kind" : "IdScope", "name" : "'Execution'" },
2344 { "kind" : "IdScope", "name" : "'Memory'" },
2345 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
2346 ]
2347 },
2348 {
2349 "opname" : "OpMemoryBarrier",
2350 "class" : "Barrier",
2351 "opcode" : 225,
2352 "operands" : [
2353 { "kind" : "IdScope", "name" : "'Memory'" },
2354 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
2355 ]
2356 },
2357 {
2358 "opname" : "OpAtomicLoad",
2359 "class" : "Atomic",
2360 "opcode" : 227,
2361 "operands" : [
2362 { "kind" : "IdResultType" },
2363 { "kind" : "IdResult" },
2364 { "kind" : "IdRef", "name" : "'Pointer'" },
2365 { "kind" : "IdScope", "name" : "'Memory'" },
2366 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
2367 ]
2368 },
2369 {
2370 "opname" : "OpAtomicStore",
2371 "class" : "Atomic",
2372 "opcode" : 228,
2373 "operands" : [
2374 { "kind" : "IdRef", "name" : "'Pointer'" },
2375 { "kind" : "IdScope", "name" : "'Memory'" },
2376 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2377 { "kind" : "IdRef", "name" : "'Value'" }
2378 ]
2379 },
2380 {
2381 "opname" : "OpAtomicExchange",
2382 "class" : "Atomic",
2383 "opcode" : 229,
2384 "operands" : [
2385 { "kind" : "IdResultType" },
2386 { "kind" : "IdResult" },
2387 { "kind" : "IdRef", "name" : "'Pointer'" },
2388 { "kind" : "IdScope", "name" : "'Memory'" },
2389 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2390 { "kind" : "IdRef", "name" : "'Value'" }
2391 ]
2392 },
2393 {
2394 "opname" : "OpAtomicCompareExchange",
2395 "class" : "Atomic",
2396 "opcode" : 230,
2397 "operands" : [
2398 { "kind" : "IdResultType" },
2399 { "kind" : "IdResult" },
2400 { "kind" : "IdRef", "name" : "'Pointer'" },
2401 { "kind" : "IdScope", "name" : "'Memory'" },
2402 { "kind" : "IdMemorySemantics", "name" : "'Equal'" },
2403 { "kind" : "IdMemorySemantics", "name" : "'Unequal'" },
2404 { "kind" : "IdRef", "name" : "'Value'" },
2405 { "kind" : "IdRef", "name" : "'Comparator'" }
2406 ]
2407 },
2408 {
2409 "opname" : "OpAtomicCompareExchangeWeak",
2410 "class" : "Atomic",
2411 "opcode" : 231,
2412 "operands" : [
2413 { "kind" : "IdResultType" },
2414 { "kind" : "IdResult" },
2415 { "kind" : "IdRef", "name" : "'Pointer'" },
2416 { "kind" : "IdScope", "name" : "'Memory'" },
2417 { "kind" : "IdMemorySemantics", "name" : "'Equal'" },
2418 { "kind" : "IdMemorySemantics", "name" : "'Unequal'" },
2419 { "kind" : "IdRef", "name" : "'Value'" },
2420 { "kind" : "IdRef", "name" : "'Comparator'" }
2421 ],
2422 "capabilities" : [ "Kernel" ],
2423 "lastVersion" : "1.3"
2424 },
2425 {
2426 "opname" : "OpAtomicIIncrement",
2427 "class" : "Atomic",
2428 "opcode" : 232,
2429 "operands" : [
2430 { "kind" : "IdResultType" },
2431 { "kind" : "IdResult" },
2432 { "kind" : "IdRef", "name" : "'Pointer'" },
2433 { "kind" : "IdScope", "name" : "'Memory'" },
2434 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
2435 ]
2436 },
2437 {
2438 "opname" : "OpAtomicIDecrement",
2439 "class" : "Atomic",
2440 "opcode" : 233,
2441 "operands" : [
2442 { "kind" : "IdResultType" },
2443 { "kind" : "IdResult" },
2444 { "kind" : "IdRef", "name" : "'Pointer'" },
2445 { "kind" : "IdScope", "name" : "'Memory'" },
2446 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
2447 ]
2448 },
2449 {
2450 "opname" : "OpAtomicIAdd",
2451 "class" : "Atomic",
2452 "opcode" : 234,
2453 "operands" : [
2454 { "kind" : "IdResultType" },
2455 { "kind" : "IdResult" },
2456 { "kind" : "IdRef", "name" : "'Pointer'" },
2457 { "kind" : "IdScope", "name" : "'Memory'" },
2458 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2459 { "kind" : "IdRef", "name" : "'Value'" }
2460 ]
2461 },
2462 {
2463 "opname" : "OpAtomicISub",
2464 "class" : "Atomic",
2465 "opcode" : 235,
2466 "operands" : [
2467 { "kind" : "IdResultType" },
2468 { "kind" : "IdResult" },
2469 { "kind" : "IdRef", "name" : "'Pointer'" },
2470 { "kind" : "IdScope", "name" : "'Memory'" },
2471 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2472 { "kind" : "IdRef", "name" : "'Value'" }
2473 ]
2474 },
2475 {
2476 "opname" : "OpAtomicSMin",
2477 "class" : "Atomic",
2478 "opcode" : 236,
2479 "operands" : [
2480 { "kind" : "IdResultType" },
2481 { "kind" : "IdResult" },
2482 { "kind" : "IdRef", "name" : "'Pointer'" },
2483 { "kind" : "IdScope", "name" : "'Memory'" },
2484 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2485 { "kind" : "IdRef", "name" : "'Value'" }
2486 ]
2487 },
2488 {
2489 "opname" : "OpAtomicUMin",
2490 "class" : "Atomic",
2491 "opcode" : 237,
2492 "operands" : [
2493 { "kind" : "IdResultType" },
2494 { "kind" : "IdResult" },
2495 { "kind" : "IdRef", "name" : "'Pointer'" },
2496 { "kind" : "IdScope", "name" : "'Memory'" },
2497 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2498 { "kind" : "IdRef", "name" : "'Value'" }
2499 ]
2500 },
2501 {
2502 "opname" : "OpAtomicSMax",
2503 "class" : "Atomic",
2504 "opcode" : 238,
2505 "operands" : [
2506 { "kind" : "IdResultType" },
2507 { "kind" : "IdResult" },
2508 { "kind" : "IdRef", "name" : "'Pointer'" },
2509 { "kind" : "IdScope", "name" : "'Memory'" },
2510 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2511 { "kind" : "IdRef", "name" : "'Value'" }
2512 ]
2513 },
2514 {
2515 "opname" : "OpAtomicUMax",
2516 "class" : "Atomic",
2517 "opcode" : 239,
2518 "operands" : [
2519 { "kind" : "IdResultType" },
2520 { "kind" : "IdResult" },
2521 { "kind" : "IdRef", "name" : "'Pointer'" },
2522 { "kind" : "IdScope", "name" : "'Memory'" },
2523 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2524 { "kind" : "IdRef", "name" : "'Value'" }
2525 ]
2526 },
2527 {
2528 "opname" : "OpAtomicAnd",
2529 "class" : "Atomic",
2530 "opcode" : 240,
2531 "operands" : [
2532 { "kind" : "IdResultType" },
2533 { "kind" : "IdResult" },
2534 { "kind" : "IdRef", "name" : "'Pointer'" },
2535 { "kind" : "IdScope", "name" : "'Memory'" },
2536 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2537 { "kind" : "IdRef", "name" : "'Value'" }
2538 ]
2539 },
2540 {
2541 "opname" : "OpAtomicOr",
2542 "class" : "Atomic",
2543 "opcode" : 241,
2544 "operands" : [
2545 { "kind" : "IdResultType" },
2546 { "kind" : "IdResult" },
2547 { "kind" : "IdRef", "name" : "'Pointer'" },
2548 { "kind" : "IdScope", "name" : "'Memory'" },
2549 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2550 { "kind" : "IdRef", "name" : "'Value'" }
2551 ]
2552 },
2553 {
2554 "opname" : "OpAtomicXor",
2555 "class" : "Atomic",
2556 "opcode" : 242,
2557 "operands" : [
2558 { "kind" : "IdResultType" },
2559 { "kind" : "IdResult" },
2560 { "kind" : "IdRef", "name" : "'Pointer'" },
2561 { "kind" : "IdScope", "name" : "'Memory'" },
2562 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2563 { "kind" : "IdRef", "name" : "'Value'" }
2564 ]
2565 },
2566 {
2567 "opname" : "OpPhi",
2568 "class" : "Control-Flow",
2569 "opcode" : 245,
2570 "operands" : [
2571 { "kind" : "IdResultType" },
2572 { "kind" : "IdResult" },
2573 { "kind" : "PairIdRefIdRef", "quantifier" : "*", "name" : "'Variable, Parent, ...'" }
2574 ]
2575 },
2576 {
2577 "opname" : "OpLoopMerge",
2578 "class" : "Control-Flow",
2579 "opcode" : 246,
2580 "operands" : [
2581 { "kind" : "IdRef", "name" : "'Merge Block'" },
2582 { "kind" : "IdRef", "name" : "'Continue Target'" },
2583 { "kind" : "LoopControl" }
2584 ]
2585 },
2586 {
2587 "opname" : "OpSelectionMerge",
2588 "class" : "Control-Flow",
2589 "opcode" : 247,
2590 "operands" : [
2591 { "kind" : "IdRef", "name" : "'Merge Block'" },
2592 { "kind" : "SelectionControl" }
2593 ]
2594 },
2595 {
2596 "opname" : "OpLabel",
2597 "class" : "Control-Flow",
2598 "opcode" : 248,
2599 "operands" : [
2600 { "kind" : "IdResult" }
2601 ]
2602 },
2603 {
2604 "opname" : "OpBranch",
2605 "class" : "Control-Flow",
2606 "opcode" : 249,
2607 "operands" : [
2608 { "kind" : "IdRef", "name" : "'Target Label'" }
2609 ]
2610 },
2611 {
2612 "opname" : "OpBranchConditional",
2613 "class" : "Control-Flow",
2614 "opcode" : 250,
2615 "operands" : [
2616 { "kind" : "IdRef", "name" : "'Condition'" },
2617 { "kind" : "IdRef", "name" : "'True Label'" },
2618 { "kind" : "IdRef", "name" : "'False Label'" },
2619 { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Branch weights'" }
2620 ]
2621 },
2622 {
2623 "opname" : "OpSwitch",
2624 "class" : "Control-Flow",
2625 "opcode" : 251,
2626 "operands" : [
2627 { "kind" : "IdRef", "name" : "'Selector'" },
2628 { "kind" : "IdRef", "name" : "'Default'" },
2629 { "kind" : "PairLiteralIntegerIdRef", "quantifier" : "*", "name" : "'Target'" }
2630 ]
2631 },
2632 {
2633 "opname" : "OpKill",
2634 "class" : "Control-Flow",
2635 "opcode" : 252,
2636 "capabilities" : [ "Shader" ]
2637 },
2638 {
2639 "opname" : "OpReturn",
2640 "class" : "Control-Flow",
2641 "opcode" : 253
2642 },
2643 {
2644 "opname" : "OpReturnValue",
2645 "class" : "Control-Flow",
2646 "opcode" : 254,
2647 "operands" : [
2648 { "kind" : "IdRef", "name" : "'Value'" }
2649 ]
2650 },
2651 {
2652 "opname" : "OpUnreachable",
2653 "class" : "Control-Flow",
2654 "opcode" : 255
2655 },
2656 {
2657 "opname" : "OpLifetimeStart",
2658 "class" : "Control-Flow",
2659 "opcode" : 256,
2660 "operands" : [
2661 { "kind" : "IdRef", "name" : "'Pointer'" },
2662 { "kind" : "LiteralInteger", "name" : "'Size'" }
2663 ],
2664 "capabilities" : [ "Kernel" ]
2665 },
2666 {
2667 "opname" : "OpLifetimeStop",
2668 "class" : "Control-Flow",
2669 "opcode" : 257,
2670 "operands" : [
2671 { "kind" : "IdRef", "name" : "'Pointer'" },
2672 { "kind" : "LiteralInteger", "name" : "'Size'" }
2673 ],
2674 "capabilities" : [ "Kernel" ]
2675 },
2676 {
2677 "opname" : "OpGroupAsyncCopy",
2678 "class" : "Group",
2679 "opcode" : 259,
2680 "operands" : [
2681 { "kind" : "IdResultType" },
2682 { "kind" : "IdResult" },
2683 { "kind" : "IdScope", "name" : "'Execution'" },
2684 { "kind" : "IdRef", "name" : "'Destination'" },
2685 { "kind" : "IdRef", "name" : "'Source'" },
2686 { "kind" : "IdRef", "name" : "'Num Elements'" },
2687 { "kind" : "IdRef", "name" : "'Stride'" },
2688 { "kind" : "IdRef", "name" : "'Event'" }
2689 ],
2690 "capabilities" : [ "Kernel" ]
2691 },
2692 {
2693 "opname" : "OpGroupWaitEvents",
2694 "class" : "Group",
2695 "opcode" : 260,
2696 "operands" : [
2697 { "kind" : "IdScope", "name" : "'Execution'" },
2698 { "kind" : "IdRef", "name" : "'Num Events'" },
2699 { "kind" : "IdRef", "name" : "'Events List'" }
2700 ],
2701 "capabilities" : [ "Kernel" ]
2702 },
2703 {
2704 "opname" : "OpGroupAll",
2705 "class" : "Group",
2706 "opcode" : 261,
2707 "operands" : [
2708 { "kind" : "IdResultType" },
2709 { "kind" : "IdResult" },
2710 { "kind" : "IdScope", "name" : "'Execution'" },
2711 { "kind" : "IdRef", "name" : "'Predicate'" }
2712 ],
2713 "capabilities" : [ "Groups" ]
2714 },
2715 {
2716 "opname" : "OpGroupAny",
2717 "class" : "Group",
2718 "opcode" : 262,
2719 "operands" : [
2720 { "kind" : "IdResultType" },
2721 { "kind" : "IdResult" },
2722 { "kind" : "IdScope", "name" : "'Execution'" },
2723 { "kind" : "IdRef", "name" : "'Predicate'" }
2724 ],
2725 "capabilities" : [ "Groups" ]
2726 },
2727 {
2728 "opname" : "OpGroupBroadcast",
2729 "class" : "Group",
2730 "opcode" : 263,
2731 "operands" : [
2732 { "kind" : "IdResultType" },
2733 { "kind" : "IdResult" },
2734 { "kind" : "IdScope", "name" : "'Execution'" },
2735 { "kind" : "IdRef", "name" : "'Value'" },
2736 { "kind" : "IdRef", "name" : "'LocalId'" }
2737 ],
2738 "capabilities" : [ "Groups" ]
2739 },
2740 {
2741 "opname" : "OpGroupIAdd",
2742 "class" : "Group",
2743 "opcode" : 264,
2744 "operands" : [
2745 { "kind" : "IdResultType" },
2746 { "kind" : "IdResult" },
2747 { "kind" : "IdScope", "name" : "'Execution'" },
2748 { "kind" : "GroupOperation", "name" : "'Operation'" },
2749 { "kind" : "IdRef", "name" : "'X'" }
2750 ],
2751 "capabilities" : [ "Groups" ]
2752 },
2753 {
2754 "opname" : "OpGroupFAdd",
2755 "class" : "Group",
2756 "opcode" : 265,
2757 "operands" : [
2758 { "kind" : "IdResultType" },
2759 { "kind" : "IdResult" },
2760 { "kind" : "IdScope", "name" : "'Execution'" },
2761 { "kind" : "GroupOperation", "name" : "'Operation'" },
2762 { "kind" : "IdRef", "name" : "'X'" }
2763 ],
2764 "capabilities" : [ "Groups" ]
2765 },
2766 {
2767 "opname" : "OpGroupFMin",
2768 "class" : "Group",
2769 "opcode" : 266,
2770 "operands" : [
2771 { "kind" : "IdResultType" },
2772 { "kind" : "IdResult" },
2773 { "kind" : "IdScope", "name" : "'Execution'" },
2774 { "kind" : "GroupOperation", "name" : "'Operation'" },
2775 { "kind" : "IdRef", "name" : "'X'" }
2776 ],
2777 "capabilities" : [ "Groups" ]
2778 },
2779 {
2780 "opname" : "OpGroupUMin",
2781 "class" : "Group",
2782 "opcode" : 267,
2783 "operands" : [
2784 { "kind" : "IdResultType" },
2785 { "kind" : "IdResult" },
2786 { "kind" : "IdScope", "name" : "'Execution'" },
2787 { "kind" : "GroupOperation", "name" : "'Operation'" },
2788 { "kind" : "IdRef", "name" : "'X'" }
2789 ],
2790 "capabilities" : [ "Groups" ]
2791 },
2792 {
2793 "opname" : "OpGroupSMin",
2794 "class" : "Group",
2795 "opcode" : 268,
2796 "operands" : [
2797 { "kind" : "IdResultType" },
2798 { "kind" : "IdResult" },
2799 { "kind" : "IdScope", "name" : "'Execution'" },
2800 { "kind" : "GroupOperation", "name" : "'Operation'" },
2801 { "kind" : "IdRef", "name" : "'X'" }
2802 ],
2803 "capabilities" : [ "Groups" ]
2804 },
2805 {
2806 "opname" : "OpGroupFMax",
2807 "class" : "Group",
2808 "opcode" : 269,
2809 "operands" : [
2810 { "kind" : "IdResultType" },
2811 { "kind" : "IdResult" },
2812 { "kind" : "IdScope", "name" : "'Execution'" },
2813 { "kind" : "GroupOperation", "name" : "'Operation'" },
2814 { "kind" : "IdRef", "name" : "'X'" }
2815 ],
2816 "capabilities" : [ "Groups" ]
2817 },
2818 {
2819 "opname" : "OpGroupUMax",
2820 "class" : "Group",
2821 "opcode" : 270,
2822 "operands" : [
2823 { "kind" : "IdResultType" },
2824 { "kind" : "IdResult" },
2825 { "kind" : "IdScope", "name" : "'Execution'" },
2826 { "kind" : "GroupOperation", "name" : "'Operation'" },
2827 { "kind" : "IdRef", "name" : "'X'" }
2828 ],
2829 "capabilities" : [ "Groups" ]
2830 },
2831 {
2832 "opname" : "OpGroupSMax",
2833 "class" : "Group",
2834 "opcode" : 271,
2835 "operands" : [
2836 { "kind" : "IdResultType" },
2837 { "kind" : "IdResult" },
2838 { "kind" : "IdScope", "name" : "'Execution'" },
2839 { "kind" : "GroupOperation", "name" : "'Operation'" },
2840 { "kind" : "IdRef", "name" : "'X'" }
2841 ],
2842 "capabilities" : [ "Groups" ]
2843 },
2844 {
2845 "opname" : "OpReadPipe",
2846 "class" : "Pipe",
2847 "opcode" : 274,
2848 "operands" : [
2849 { "kind" : "IdResultType" },
2850 { "kind" : "IdResult" },
2851 { "kind" : "IdRef", "name" : "'Pipe'" },
2852 { "kind" : "IdRef", "name" : "'Pointer'" },
2853 { "kind" : "IdRef", "name" : "'Packet Size'" },
2854 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2855 ],
2856 "capabilities" : [ "Pipes" ]
2857 },
2858 {
2859 "opname" : "OpWritePipe",
2860 "class" : "Pipe",
2861 "opcode" : 275,
2862 "operands" : [
2863 { "kind" : "IdResultType" },
2864 { "kind" : "IdResult" },
2865 { "kind" : "IdRef", "name" : "'Pipe'" },
2866 { "kind" : "IdRef", "name" : "'Pointer'" },
2867 { "kind" : "IdRef", "name" : "'Packet Size'" },
2868 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2869 ],
2870 "capabilities" : [ "Pipes" ]
2871 },
2872 {
2873 "opname" : "OpReservedReadPipe",
2874 "class" : "Pipe",
2875 "opcode" : 276,
2876 "operands" : [
2877 { "kind" : "IdResultType" },
2878 { "kind" : "IdResult" },
2879 { "kind" : "IdRef", "name" : "'Pipe'" },
2880 { "kind" : "IdRef", "name" : "'Reserve Id'" },
2881 { "kind" : "IdRef", "name" : "'Index'" },
2882 { "kind" : "IdRef", "name" : "'Pointer'" },
2883 { "kind" : "IdRef", "name" : "'Packet Size'" },
2884 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2885 ],
2886 "capabilities" : [ "Pipes" ]
2887 },
2888 {
2889 "opname" : "OpReservedWritePipe",
2890 "class" : "Pipe",
2891 "opcode" : 277,
2892 "operands" : [
2893 { "kind" : "IdResultType" },
2894 { "kind" : "IdResult" },
2895 { "kind" : "IdRef", "name" : "'Pipe'" },
2896 { "kind" : "IdRef", "name" : "'Reserve Id'" },
2897 { "kind" : "IdRef", "name" : "'Index'" },
2898 { "kind" : "IdRef", "name" : "'Pointer'" },
2899 { "kind" : "IdRef", "name" : "'Packet Size'" },
2900 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2901 ],
2902 "capabilities" : [ "Pipes" ]
2903 },
2904 {
2905 "opname" : "OpReserveReadPipePackets",
2906 "class" : "Pipe",
2907 "opcode" : 278,
2908 "operands" : [
2909 { "kind" : "IdResultType" },
2910 { "kind" : "IdResult" },
2911 { "kind" : "IdRef", "name" : "'Pipe'" },
2912 { "kind" : "IdRef", "name" : "'Num Packets'" },
2913 { "kind" : "IdRef", "name" : "'Packet Size'" },
2914 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2915 ],
2916 "capabilities" : [ "Pipes" ]
2917 },
2918 {
2919 "opname" : "OpReserveWritePipePackets",
2920 "class" : "Pipe",
2921 "opcode" : 279,
2922 "operands" : [
2923 { "kind" : "IdResultType" },
2924 { "kind" : "IdResult" },
2925 { "kind" : "IdRef", "name" : "'Pipe'" },
2926 { "kind" : "IdRef", "name" : "'Num Packets'" },
2927 { "kind" : "IdRef", "name" : "'Packet Size'" },
2928 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2929 ],
2930 "capabilities" : [ "Pipes" ]
2931 },
2932 {
2933 "opname" : "OpCommitReadPipe",
2934 "class" : "Pipe",
2935 "opcode" : 280,
2936 "operands" : [
2937 { "kind" : "IdRef", "name" : "'Pipe'" },
2938 { "kind" : "IdRef", "name" : "'Reserve Id'" },
2939 { "kind" : "IdRef", "name" : "'Packet Size'" },
2940 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2941 ],
2942 "capabilities" : [ "Pipes" ]
2943 },
2944 {
2945 "opname" : "OpCommitWritePipe",
2946 "class" : "Pipe",
2947 "opcode" : 281,
2948 "operands" : [
2949 { "kind" : "IdRef", "name" : "'Pipe'" },
2950 { "kind" : "IdRef", "name" : "'Reserve Id'" },
2951 { "kind" : "IdRef", "name" : "'Packet Size'" },
2952 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2953 ],
2954 "capabilities" : [ "Pipes" ]
2955 },
2956 {
2957 "opname" : "OpIsValidReserveId",
2958 "class" : "Pipe",
2959 "opcode" : 282,
2960 "operands" : [
2961 { "kind" : "IdResultType" },
2962 { "kind" : "IdResult" },
2963 { "kind" : "IdRef", "name" : "'Reserve Id'" }
2964 ],
2965 "capabilities" : [ "Pipes" ]
2966 },
2967 {
2968 "opname" : "OpGetNumPipePackets",
2969 "class" : "Pipe",
2970 "opcode" : 283,
2971 "operands" : [
2972 { "kind" : "IdResultType" },
2973 { "kind" : "IdResult" },
2974 { "kind" : "IdRef", "name" : "'Pipe'" },
2975 { "kind" : "IdRef", "name" : "'Packet Size'" },
2976 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2977 ],
2978 "capabilities" : [ "Pipes" ]
2979 },
2980 {
2981 "opname" : "OpGetMaxPipePackets",
2982 "class" : "Pipe",
2983 "opcode" : 284,
2984 "operands" : [
2985 { "kind" : "IdResultType" },
2986 { "kind" : "IdResult" },
2987 { "kind" : "IdRef", "name" : "'Pipe'" },
2988 { "kind" : "IdRef", "name" : "'Packet Size'" },
2989 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2990 ],
2991 "capabilities" : [ "Pipes" ]
2992 },
2993 {
2994 "opname" : "OpGroupReserveReadPipePackets",
2995 "class" : "Pipe",
2996 "opcode" : 285,
2997 "operands" : [
2998 { "kind" : "IdResultType" },
2999 { "kind" : "IdResult" },
3000 { "kind" : "IdScope", "name" : "'Execution'" },
3001 { "kind" : "IdRef", "name" : "'Pipe'" },
3002 { "kind" : "IdRef", "name" : "'Num Packets'" },
3003 { "kind" : "IdRef", "name" : "'Packet Size'" },
3004 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
3005 ],
3006 "capabilities" : [ "Pipes" ]
3007 },
3008 {
3009 "opname" : "OpGroupReserveWritePipePackets",
3010 "class" : "Pipe",
3011 "opcode" : 286,
3012 "operands" : [
3013 { "kind" : "IdResultType" },
3014 { "kind" : "IdResult" },
3015 { "kind" : "IdScope", "name" : "'Execution'" },
3016 { "kind" : "IdRef", "name" : "'Pipe'" },
3017 { "kind" : "IdRef", "name" : "'Num Packets'" },
3018 { "kind" : "IdRef", "name" : "'Packet Size'" },
3019 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
3020 ],
3021 "capabilities" : [ "Pipes" ]
3022 },
3023 {
3024 "opname" : "OpGroupCommitReadPipe",
3025 "class" : "Pipe",
3026 "opcode" : 287,
3027 "operands" : [
3028 { "kind" : "IdScope", "name" : "'Execution'" },
3029 { "kind" : "IdRef", "name" : "'Pipe'" },
3030 { "kind" : "IdRef", "name" : "'Reserve Id'" },
3031 { "kind" : "IdRef", "name" : "'Packet Size'" },
3032 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
3033 ],
3034 "capabilities" : [ "Pipes" ]
3035 },
3036 {
3037 "opname" : "OpGroupCommitWritePipe",
3038 "class" : "Pipe",
3039 "opcode" : 288,
3040 "operands" : [
3041 { "kind" : "IdScope", "name" : "'Execution'" },
3042 { "kind" : "IdRef", "name" : "'Pipe'" },
3043 { "kind" : "IdRef", "name" : "'Reserve Id'" },
3044 { "kind" : "IdRef", "name" : "'Packet Size'" },
3045 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
3046 ],
3047 "capabilities" : [ "Pipes" ]
3048 },
3049 {
3050 "opname" : "OpEnqueueMarker",
3051 "class" : "Device-Side_Enqueue",
3052 "opcode" : 291,
3053 "operands" : [
3054 { "kind" : "IdResultType" },
3055 { "kind" : "IdResult" },
3056 { "kind" : "IdRef", "name" : "'Queue'" },
3057 { "kind" : "IdRef", "name" : "'Num Events'" },
3058 { "kind" : "IdRef", "name" : "'Wait Events'" },
3059 { "kind" : "IdRef", "name" : "'Ret Event'" }
3060 ],
3061 "capabilities" : [ "DeviceEnqueue" ]
3062 },
3063 {
3064 "opname" : "OpEnqueueKernel",
3065 "class" : "Device-Side_Enqueue",
3066 "opcode" : 292,
3067 "operands" : [
3068 { "kind" : "IdResultType" },
3069 { "kind" : "IdResult" },
3070 { "kind" : "IdRef", "name" : "'Queue'" },
3071 { "kind" : "IdRef", "name" : "'Flags'" },
3072 { "kind" : "IdRef", "name" : "'ND Range'" },
3073 { "kind" : "IdRef", "name" : "'Num Events'" },
3074 { "kind" : "IdRef", "name" : "'Wait Events'" },
3075 { "kind" : "IdRef", "name" : "'Ret Event'" },
3076 { "kind" : "IdRef", "name" : "'Invoke'" },
3077 { "kind" : "IdRef", "name" : "'Param'" },
3078 { "kind" : "IdRef", "name" : "'Param Size'" },
3079 { "kind" : "IdRef", "name" : "'Param Align'" },
3080 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Local Size'" }
3081 ],
3082 "capabilities" : [ "DeviceEnqueue" ]
3083 },
3084 {
3085 "opname" : "OpGetKernelNDrangeSubGroupCount",
3086 "class" : "Device-Side_Enqueue",
3087 "opcode" : 293,
3088 "operands" : [
3089 { "kind" : "IdResultType" },
3090 { "kind" : "IdResult" },
3091 { "kind" : "IdRef", "name" : "'ND Range'" },
3092 { "kind" : "IdRef", "name" : "'Invoke'" },
3093 { "kind" : "IdRef", "name" : "'Param'" },
3094 { "kind" : "IdRef", "name" : "'Param Size'" },
3095 { "kind" : "IdRef", "name" : "'Param Align'" }
3096 ],
3097 "capabilities" : [ "DeviceEnqueue" ]
3098 },
3099 {
3100 "opname" : "OpGetKernelNDrangeMaxSubGroupSize",
3101 "class" : "Device-Side_Enqueue",
3102 "opcode" : 294,
3103 "operands" : [
3104 { "kind" : "IdResultType" },
3105 { "kind" : "IdResult" },
3106 { "kind" : "IdRef", "name" : "'ND Range'" },
3107 { "kind" : "IdRef", "name" : "'Invoke'" },
3108 { "kind" : "IdRef", "name" : "'Param'" },
3109 { "kind" : "IdRef", "name" : "'Param Size'" },
3110 { "kind" : "IdRef", "name" : "'Param Align'" }
3111 ],
3112 "capabilities" : [ "DeviceEnqueue" ]
3113 },
3114 {
3115 "opname" : "OpGetKernelWorkGroupSize",
3116 "class" : "Device-Side_Enqueue",
3117 "opcode" : 295,
3118 "operands" : [
3119 { "kind" : "IdResultType" },
3120 { "kind" : "IdResult" },
3121 { "kind" : "IdRef", "name" : "'Invoke'" },
3122 { "kind" : "IdRef", "name" : "'Param'" },
3123 { "kind" : "IdRef", "name" : "'Param Size'" },
3124 { "kind" : "IdRef", "name" : "'Param Align'" }
3125 ],
3126 "capabilities" : [ "DeviceEnqueue" ]
3127 },
3128 {
3129 "opname" : "OpGetKernelPreferredWorkGroupSizeMultiple",
3130 "class" : "Device-Side_Enqueue",
3131 "opcode" : 296,
3132 "operands" : [
3133 { "kind" : "IdResultType" },
3134 { "kind" : "IdResult" },
3135 { "kind" : "IdRef", "name" : "'Invoke'" },
3136 { "kind" : "IdRef", "name" : "'Param'" },
3137 { "kind" : "IdRef", "name" : "'Param Size'" },
3138 { "kind" : "IdRef", "name" : "'Param Align'" }
3139 ],
3140 "capabilities" : [ "DeviceEnqueue" ]
3141 },
3142 {
3143 "opname" : "OpRetainEvent",
3144 "class" : "Device-Side_Enqueue",
3145 "opcode" : 297,
3146 "operands" : [
3147 { "kind" : "IdRef", "name" : "'Event'" }
3148 ],
3149 "capabilities" : [ "DeviceEnqueue" ]
3150 },
3151 {
3152 "opname" : "OpReleaseEvent",
3153 "class" : "Device-Side_Enqueue",
3154 "opcode" : 298,
3155 "operands" : [
3156 { "kind" : "IdRef", "name" : "'Event'" }
3157 ],
3158 "capabilities" : [ "DeviceEnqueue" ]
3159 },
3160 {
3161 "opname" : "OpCreateUserEvent",
3162 "class" : "Device-Side_Enqueue",
3163 "opcode" : 299,
3164 "operands" : [
3165 { "kind" : "IdResultType" },
3166 { "kind" : "IdResult" }
3167 ],
3168 "capabilities" : [ "DeviceEnqueue" ]
3169 },
3170 {
3171 "opname" : "OpIsValidEvent",
3172 "class" : "Device-Side_Enqueue",
3173 "opcode" : 300,
3174 "operands" : [
3175 { "kind" : "IdResultType" },
3176 { "kind" : "IdResult" },
3177 { "kind" : "IdRef", "name" : "'Event'" }
3178 ],
3179 "capabilities" : [ "DeviceEnqueue" ]
3180 },
3181 {
3182 "opname" : "OpSetUserEventStatus",
3183 "class" : "Device-Side_Enqueue",
3184 "opcode" : 301,
3185 "operands" : [
3186 { "kind" : "IdRef", "name" : "'Event'" },
3187 { "kind" : "IdRef", "name" : "'Status'" }
3188 ],
3189 "capabilities" : [ "DeviceEnqueue" ]
3190 },
3191 {
3192 "opname" : "OpCaptureEventProfilingInfo",
3193 "class" : "Device-Side_Enqueue",
3194 "opcode" : 302,
3195 "operands" : [
3196 { "kind" : "IdRef", "name" : "'Event'" },
3197 { "kind" : "IdRef", "name" : "'Profiling Info'" },
3198 { "kind" : "IdRef", "name" : "'Value'" }
3199 ],
3200 "capabilities" : [ "DeviceEnqueue" ]
3201 },
3202 {
3203 "opname" : "OpGetDefaultQueue",
3204 "class" : "Device-Side_Enqueue",
3205 "opcode" : 303,
3206 "operands" : [
3207 { "kind" : "IdResultType" },
3208 { "kind" : "IdResult" }
3209 ],
3210 "capabilities" : [ "DeviceEnqueue" ]
3211 },
3212 {
3213 "opname" : "OpBuildNDRange",
3214 "class" : "Device-Side_Enqueue",
3215 "opcode" : 304,
3216 "operands" : [
3217 { "kind" : "IdResultType" },
3218 { "kind" : "IdResult" },
3219 { "kind" : "IdRef", "name" : "'GlobalWorkSize'" },
3220 { "kind" : "IdRef", "name" : "'LocalWorkSize'" },
3221 { "kind" : "IdRef", "name" : "'GlobalWorkOffset'" }
3222 ],
3223 "capabilities" : [ "DeviceEnqueue" ]
3224 },
3225 {
3226 "opname" : "OpImageSparseSampleImplicitLod",
3227 "class" : "Image",
3228 "opcode" : 305,
3229 "operands" : [
3230 { "kind" : "IdResultType" },
3231 { "kind" : "IdResult" },
3232 { "kind" : "IdRef", "name" : "'Sampled Image'" },
3233 { "kind" : "IdRef", "name" : "'Coordinate'" },
3234 { "kind" : "ImageOperands", "quantifier" : "?" }
3235 ],
3236 "capabilities" : [ "SparseResidency" ]
3237 },
3238 {
3239 "opname" : "OpImageSparseSampleExplicitLod",
3240 "class" : "Image",
3241 "opcode" : 306,
3242 "operands" : [
3243 { "kind" : "IdResultType" },
3244 { "kind" : "IdResult" },
3245 { "kind" : "IdRef", "name" : "'Sampled Image'" },
3246 { "kind" : "IdRef", "name" : "'Coordinate'" },
3247 { "kind" : "ImageOperands" }
3248 ],
3249 "capabilities" : [ "SparseResidency" ]
3250 },
3251 {
3252 "opname" : "OpImageSparseSampleDrefImplicitLod",
3253 "class" : "Image",
3254 "opcode" : 307,
3255 "operands" : [
3256 { "kind" : "IdResultType" },
3257 { "kind" : "IdResult" },
3258 { "kind" : "IdRef", "name" : "'Sampled Image'" },
3259 { "kind" : "IdRef", "name" : "'Coordinate'" },
3260 { "kind" : "IdRef", "name" : "'D~ref~'" },
3261 { "kind" : "ImageOperands", "quantifier" : "?" }
3262 ],
3263 "capabilities" : [ "SparseResidency" ]
3264 },
3265 {
3266 "opname" : "OpImageSparseSampleDrefExplicitLod",
3267 "class" : "Image",
3268 "opcode" : 308,
3269 "operands" : [
3270 { "kind" : "IdResultType" },
3271 { "kind" : "IdResult" },
3272 { "kind" : "IdRef", "name" : "'Sampled Image'" },
3273 { "kind" : "IdRef", "name" : "'Coordinate'" },
3274 { "kind" : "IdRef", "name" : "'D~ref~'" },
3275 { "kind" : "ImageOperands" }
3276 ],
3277 "capabilities" : [ "SparseResidency" ]
3278 },
3279 {
3280 "opname" : "OpImageSparseSampleProjImplicitLod",
3281 "class" : "Image",
3282 "opcode" : 309,
3283 "operands" : [
3284 { "kind" : "IdResultType" },
3285 { "kind" : "IdResult" },
3286 { "kind" : "IdRef", "name" : "'Sampled Image'" },
3287 { "kind" : "IdRef", "name" : "'Coordinate'" },
3288 { "kind" : "ImageOperands", "quantifier" : "?" }
3289 ],
3290 "capabilities" : [ "SparseResidency" ],
3291 "version" : "None"
3292 },
3293 {
3294 "opname" : "OpImageSparseSampleProjExplicitLod",
3295 "class" : "Image",
3296 "opcode" : 310,
3297 "operands" : [
3298 { "kind" : "IdResultType" },
3299 { "kind" : "IdResult" },
3300 { "kind" : "IdRef", "name" : "'Sampled Image'" },
3301 { "kind" : "IdRef", "name" : "'Coordinate'" },
3302 { "kind" : "ImageOperands" }
3303 ],
3304 "capabilities" : [ "SparseResidency" ],
3305 "version" : "None"
3306 },
3307 {
3308 "opname" : "OpImageSparseSampleProjDrefImplicitLod",
3309 "class" : "Image",
3310 "opcode" : 311,
3311 "operands" : [
3312 { "kind" : "IdResultType" },
3313 { "kind" : "IdResult" },
3314 { "kind" : "IdRef", "name" : "'Sampled Image'" },
3315 { "kind" : "IdRef", "name" : "'Coordinate'" },
3316 { "kind" : "IdRef", "name" : "'D~ref~'" },
3317 { "kind" : "ImageOperands", "quantifier" : "?" }
3318 ],
3319 "capabilities" : [ "SparseResidency" ],
3320 "version" : "None"
3321 },
3322 {
3323 "opname" : "OpImageSparseSampleProjDrefExplicitLod",
3324 "class" : "Image",
3325 "opcode" : 312,
3326 "operands" : [
3327 { "kind" : "IdResultType" },
3328 { "kind" : "IdResult" },
3329 { "kind" : "IdRef", "name" : "'Sampled Image'" },
3330 { "kind" : "IdRef", "name" : "'Coordinate'" },
3331 { "kind" : "IdRef", "name" : "'D~ref~'" },
3332 { "kind" : "ImageOperands" }
3333 ],
3334 "capabilities" : [ "SparseResidency" ],
3335 "version" : "None"
3336 },
3337 {
3338 "opname" : "OpImageSparseFetch",
3339 "class" : "Image",
3340 "opcode" : 313,
3341 "operands" : [
3342 { "kind" : "IdResultType" },
3343 { "kind" : "IdResult" },
3344 { "kind" : "IdRef", "name" : "'Image'" },
3345 { "kind" : "IdRef", "name" : "'Coordinate'" },
3346 { "kind" : "ImageOperands", "quantifier" : "?" }
3347 ],
3348 "capabilities" : [ "SparseResidency" ]
3349 },
3350 {
3351 "opname" : "OpImageSparseGather",
3352 "class" : "Image",
3353 "opcode" : 314,
3354 "operands" : [
3355 { "kind" : "IdResultType" },
3356 { "kind" : "IdResult" },
3357 { "kind" : "IdRef", "name" : "'Sampled Image'" },
3358 { "kind" : "IdRef", "name" : "'Coordinate'" },
3359 { "kind" : "IdRef", "name" : "'Component'" },
3360 { "kind" : "ImageOperands", "quantifier" : "?" }
3361 ],
3362 "capabilities" : [ "SparseResidency" ]
3363 },
3364 {
3365 "opname" : "OpImageSparseDrefGather",
3366 "class" : "Image",
3367 "opcode" : 315,
3368 "operands" : [
3369 { "kind" : "IdResultType" },
3370 { "kind" : "IdResult" },
3371 { "kind" : "IdRef", "name" : "'Sampled Image'" },
3372 { "kind" : "IdRef", "name" : "'Coordinate'" },
3373 { "kind" : "IdRef", "name" : "'D~ref~'" },
3374 { "kind" : "ImageOperands", "quantifier" : "?" }
3375 ],
3376 "capabilities" : [ "SparseResidency" ]
3377 },
3378 {
3379 "opname" : "OpImageSparseTexelsResident",
3380 "class" : "Image",
3381 "opcode" : 316,
3382 "operands" : [
3383 { "kind" : "IdResultType" },
3384 { "kind" : "IdResult" },
3385 { "kind" : "IdRef", "name" : "'Resident Code'" }
3386 ],
3387 "capabilities" : [ "SparseResidency" ]
3388 },
3389 {
3390 "opname" : "OpNoLine",
3391 "class" : "Debug",
3392 "opcode" : 317
3393 },
3394 {
3395 "opname" : "OpAtomicFlagTestAndSet",
3396 "class" : "Atomic",
3397 "opcode" : 318,
3398 "operands" : [
3399 { "kind" : "IdResultType" },
3400 { "kind" : "IdResult" },
3401 { "kind" : "IdRef", "name" : "'Pointer'" },
3402 { "kind" : "IdScope", "name" : "'Memory'" },
3403 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
3404 ],
3405 "capabilities" : [ "Kernel" ]
3406 },
3407 {
3408 "opname" : "OpAtomicFlagClear",
3409 "class" : "Atomic",
3410 "opcode" : 319,
3411 "operands" : [
3412 { "kind" : "IdRef", "name" : "'Pointer'" },
3413 { "kind" : "IdScope", "name" : "'Memory'" },
3414 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
3415 ],
3416 "capabilities" : [ "Kernel" ]
3417 },
3418 {
3419 "opname" : "OpImageSparseRead",
3420 "class" : "Image",
3421 "opcode" : 320,
3422 "operands" : [
3423 { "kind" : "IdResultType" },
3424 { "kind" : "IdResult" },
3425 { "kind" : "IdRef", "name" : "'Image'" },
3426 { "kind" : "IdRef", "name" : "'Coordinate'" },
3427 { "kind" : "ImageOperands", "quantifier" : "?" }
3428 ],
3429 "capabilities" : [ "SparseResidency" ]
3430 },
3431 {
3432 "opname" : "OpSizeOf",
3433 "class" : "Miscellaneous",
3434 "opcode" : 321,
3435 "operands" : [
3436 { "kind" : "IdResultType" },
3437 { "kind" : "IdResult" },
3438 { "kind" : "IdRef", "name" : "'Pointer'" }
3439 ],
3440 "capabilities" : [ "Addresses" ],
3441 "version" : "1.1"
3442 },
3443 {
3444 "opname" : "OpTypePipeStorage",
3445 "class" : "Type-Declaration",
3446 "opcode" : 322,
3447 "operands" : [
3448 { "kind" : "IdResult" }
3449 ],
3450 "capabilities" : [ "PipeStorage" ],
3451 "version" : "1.1"
3452 },
3453 {
3454 "opname" : "OpConstantPipeStorage",
3455 "class" : "Pipe",
3456 "opcode" : 323,
3457 "operands" : [
3458 { "kind" : "IdResultType" },
3459 { "kind" : "IdResult" },
3460 { "kind" : "LiteralInteger", "name" : "'Packet Size'" },
3461 { "kind" : "LiteralInteger", "name" : "'Packet Alignment'" },
3462 { "kind" : "LiteralInteger", "name" : "'Capacity'" }
3463 ],
3464 "capabilities" : [ "PipeStorage" ],
3465 "version" : "1.1"
3466 },
3467 {
3468 "opname" : "OpCreatePipeFromPipeStorage",
3469 "class" : "Pipe",
3470 "opcode" : 324,
3471 "operands" : [
3472 { "kind" : "IdResultType" },
3473 { "kind" : "IdResult" },
3474 { "kind" : "IdRef", "name" : "'Pipe Storage'" }
3475 ],
3476 "capabilities" : [ "PipeStorage" ],
3477 "version" : "1.1"
3478 },
3479 {
3480 "opname" : "OpGetKernelLocalSizeForSubgroupCount",
3481 "class" : "Device-Side_Enqueue",
3482 "opcode" : 325,
3483 "operands" : [
3484 { "kind" : "IdResultType" },
3485 { "kind" : "IdResult" },
3486 { "kind" : "IdRef", "name" : "'Subgroup Count'" },
3487 { "kind" : "IdRef", "name" : "'Invoke'" },
3488 { "kind" : "IdRef", "name" : "'Param'" },
3489 { "kind" : "IdRef", "name" : "'Param Size'" },
3490 { "kind" : "IdRef", "name" : "'Param Align'" }
3491 ],
3492 "capabilities" : [ "SubgroupDispatch" ],
3493 "version" : "1.1"
3494 },
3495 {
3496 "opname" : "OpGetKernelMaxNumSubgroups",
3497 "class" : "Device-Side_Enqueue",
3498 "opcode" : 326,
3499 "operands" : [
3500 { "kind" : "IdResultType" },
3501 { "kind" : "IdResult" },
3502 { "kind" : "IdRef", "name" : "'Invoke'" },
3503 { "kind" : "IdRef", "name" : "'Param'" },
3504 { "kind" : "IdRef", "name" : "'Param Size'" },
3505 { "kind" : "IdRef", "name" : "'Param Align'" }
3506 ],
3507 "capabilities" : [ "SubgroupDispatch" ],
3508 "version" : "1.1"
3509 },
3510 {
3511 "opname" : "OpTypeNamedBarrier",
3512 "class" : "Type-Declaration",
3513 "opcode" : 327,
3514 "operands" : [
3515 { "kind" : "IdResult" }
3516 ],
3517 "capabilities" : [ "NamedBarrier" ],
3518 "version" : "1.1"
3519 },
3520 {
3521 "opname" : "OpNamedBarrierInitialize",
3522 "class" : "Barrier",
3523 "opcode" : 328,
3524 "operands" : [
3525 { "kind" : "IdResultType" },
3526 { "kind" : "IdResult" },
3527 { "kind" : "IdRef", "name" : "'Subgroup Count'" }
3528 ],
3529 "capabilities" : [ "NamedBarrier" ],
3530 "version" : "1.1"
3531 },
3532 {
3533 "opname" : "OpMemoryNamedBarrier",
3534 "class" : "Barrier",
3535 "opcode" : 329,
3536 "operands" : [
3537 { "kind" : "IdRef", "name" : "'Named Barrier'" },
3538 { "kind" : "IdScope", "name" : "'Memory'" },
3539 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
3540 ],
3541 "capabilities" : [ "NamedBarrier" ],
3542 "version" : "1.1"
3543 },
3544 {
3545 "opname" : "OpModuleProcessed",
3546 "class" : "Debug",
3547 "opcode" : 330,
3548 "operands" : [
3549 { "kind" : "LiteralString", "name" : "'Process'" }
3550 ],
3551 "version" : "1.1"
3552 },
3553 {
3554 "opname" : "OpExecutionModeId",
3555 "class" : "Mode-Setting",
3556 "opcode" : 331,
3557 "operands" : [
3558 { "kind" : "IdRef", "name" : "'Entry Point'" },
3559 { "kind" : "ExecutionMode", "name" : "'Mode'" }
3560 ],
3561 "version" : "1.2"
3562 },
3563 {
3564 "opname" : "OpDecorateId",
3565 "class" : "Annotation",
3566 "opcode" : 332,
3567 "operands" : [
3568 { "kind" : "IdRef", "name" : "'Target'" },
3569 { "kind" : "Decoration" }
3570 ],
3571 "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ],
3572 "version" : "1.2"
3573 },
3574 {
3575 "opname" : "OpGroupNonUniformElect",
3576 "class" : "Non-Uniform",
3577 "opcode" : 333,
3578 "operands" : [
3579 { "kind" : "IdResultType" },
3580 { "kind" : "IdResult" },
3581 { "kind" : "IdScope", "name" : "'Execution'" }
3582 ],
3583 "capabilities" : [ "GroupNonUniform" ],
3584 "version" : "1.3"
3585 },
3586 {
3587 "opname" : "OpGroupNonUniformAll",
3588 "class" : "Non-Uniform",
3589 "opcode" : 334,
3590 "operands" : [
3591 { "kind" : "IdResultType" },
3592 { "kind" : "IdResult" },
3593 { "kind" : "IdScope", "name" : "'Execution'" },
3594 { "kind" : "IdRef", "name" : "'Predicate'" }
3595 ],
3596 "capabilities" : [ "GroupNonUniformVote" ],
3597 "version" : "1.3"
3598 },
3599 {
3600 "opname" : "OpGroupNonUniformAny",
3601 "class" : "Non-Uniform",
3602 "opcode" : 335,
3603 "operands" : [
3604 { "kind" : "IdResultType" },
3605 { "kind" : "IdResult" },
3606 { "kind" : "IdScope", "name" : "'Execution'" },
3607 { "kind" : "IdRef", "name" : "'Predicate'" }
3608 ],
3609 "capabilities" : [ "GroupNonUniformVote" ],
3610 "version" : "1.3"
3611 },
3612 {
3613 "opname" : "OpGroupNonUniformAllEqual",
3614 "class" : "Non-Uniform",
3615 "opcode" : 336,
3616 "operands" : [
3617 { "kind" : "IdResultType" },
3618 { "kind" : "IdResult" },
3619 { "kind" : "IdScope", "name" : "'Execution'" },
3620 { "kind" : "IdRef", "name" : "'Value'" }
3621 ],
3622 "capabilities" : [ "GroupNonUniformVote" ],
3623 "version" : "1.3"
3624 },
3625 {
3626 "opname" : "OpGroupNonUniformBroadcast",
3627 "class" : "Non-Uniform",
3628 "opcode" : 337,
3629 "operands" : [
3630 { "kind" : "IdResultType" },
3631 { "kind" : "IdResult" },
3632 { "kind" : "IdScope", "name" : "'Execution'" },
3633 { "kind" : "IdRef", "name" : "'Value'" },
3634 { "kind" : "IdRef", "name" : "'Id'" }
3635 ],
3636 "capabilities" : [ "GroupNonUniformBallot" ],
3637 "version" : "1.3"
3638 },
3639 {
3640 "opname" : "OpGroupNonUniformBroadcastFirst",
3641 "class" : "Non-Uniform",
3642 "opcode" : 338,
3643 "operands" : [
3644 { "kind" : "IdResultType" },
3645 { "kind" : "IdResult" },
3646 { "kind" : "IdScope", "name" : "'Execution'" },
3647 { "kind" : "IdRef", "name" : "'Value'" }
3648 ],
3649 "capabilities" : [ "GroupNonUniformBallot" ],
3650 "version" : "1.3"
3651 },
3652 {
3653 "opname" : "OpGroupNonUniformBallot",
3654 "class" : "Non-Uniform",
3655 "opcode" : 339,
3656 "operands" : [
3657 { "kind" : "IdResultType" },
3658 { "kind" : "IdResult" },
3659 { "kind" : "IdScope", "name" : "'Execution'" },
3660 { "kind" : "IdRef", "name" : "'Predicate'" }
3661 ],
3662 "capabilities" : [ "GroupNonUniformBallot" ],
3663 "version" : "1.3"
3664 },
3665 {
3666 "opname" : "OpGroupNonUniformInverseBallot",
3667 "class" : "Non-Uniform",
3668 "opcode" : 340,
3669 "operands" : [
3670 { "kind" : "IdResultType" },
3671 { "kind" : "IdResult" },
3672 { "kind" : "IdScope", "name" : "'Execution'" },
3673 { "kind" : "IdRef", "name" : "'Value'" }
3674 ],
3675 "capabilities" : [ "GroupNonUniformBallot" ],
3676 "version" : "1.3"
3677 },
3678 {
3679 "opname" : "OpGroupNonUniformBallotBitExtract",
3680 "class" : "Non-Uniform",
3681 "opcode" : 341,
3682 "operands" : [
3683 { "kind" : "IdResultType" },
3684 { "kind" : "IdResult" },
3685 { "kind" : "IdScope", "name" : "'Execution'" },
3686 { "kind" : "IdRef", "name" : "'Value'" },
3687 { "kind" : "IdRef", "name" : "'Index'" }
3688 ],
3689 "capabilities" : [ "GroupNonUniformBallot" ],
3690 "version" : "1.3"
3691 },
3692 {
3693 "opname" : "OpGroupNonUniformBallotBitCount",
3694 "class" : "Non-Uniform",
3695 "opcode" : 342,
3696 "operands" : [
3697 { "kind" : "IdResultType" },
3698 { "kind" : "IdResult" },
3699 { "kind" : "IdScope", "name" : "'Execution'" },
3700 { "kind" : "GroupOperation", "name" : "'Operation'" },
3701 { "kind" : "IdRef", "name" : "'Value'" }
3702 ],
3703 "capabilities" : [ "GroupNonUniformBallot" ],
3704 "version" : "1.3"
3705 },
3706 {
3707 "opname" : "OpGroupNonUniformBallotFindLSB",
3708 "class" : "Non-Uniform",
3709 "opcode" : 343,
3710 "operands" : [
3711 { "kind" : "IdResultType" },
3712 { "kind" : "IdResult" },
3713 { "kind" : "IdScope", "name" : "'Execution'" },
3714 { "kind" : "IdRef", "name" : "'Value'" }
3715 ],
3716 "capabilities" : [ "GroupNonUniformBallot" ],
3717 "version" : "1.3"
3718 },
3719 {
3720 "opname" : "OpGroupNonUniformBallotFindMSB",
3721 "class" : "Non-Uniform",
3722 "opcode" : 344,
3723 "operands" : [
3724 { "kind" : "IdResultType" },
3725 { "kind" : "IdResult" },
3726 { "kind" : "IdScope", "name" : "'Execution'" },
3727 { "kind" : "IdRef", "name" : "'Value'" }
3728 ],
3729 "capabilities" : [ "GroupNonUniformBallot" ],
3730 "version" : "1.3"
3731 },
3732 {
3733 "opname" : "OpGroupNonUniformShuffle",
3734 "class" : "Non-Uniform",
3735 "opcode" : 345,
3736 "operands" : [
3737 { "kind" : "IdResultType" },
3738 { "kind" : "IdResult" },
3739 { "kind" : "IdScope", "name" : "'Execution'" },
3740 { "kind" : "IdRef", "name" : "'Value'" },
3741 { "kind" : "IdRef", "name" : "'Id'" }
3742 ],
3743 "capabilities" : [ "GroupNonUniformShuffle" ],
3744 "version" : "1.3"
3745 },
3746 {
3747 "opname" : "OpGroupNonUniformShuffleXor",
3748 "class" : "Non-Uniform",
3749 "opcode" : 346,
3750 "operands" : [
3751 { "kind" : "IdResultType" },
3752 { "kind" : "IdResult" },
3753 { "kind" : "IdScope", "name" : "'Execution'" },
3754 { "kind" : "IdRef", "name" : "'Value'" },
3755 { "kind" : "IdRef", "name" : "'Mask'" }
3756 ],
3757 "capabilities" : [ "GroupNonUniformShuffle" ],
3758 "version" : "1.3"
3759 },
3760 {
3761 "opname" : "OpGroupNonUniformShuffleUp",
3762 "class" : "Non-Uniform",
3763 "opcode" : 347,
3764 "operands" : [
3765 { "kind" : "IdResultType" },
3766 { "kind" : "IdResult" },
3767 { "kind" : "IdScope", "name" : "'Execution'" },
3768 { "kind" : "IdRef", "name" : "'Value'" },
3769 { "kind" : "IdRef", "name" : "'Delta'" }
3770 ],
3771 "capabilities" : [ "GroupNonUniformShuffleRelative" ],
3772 "version" : "1.3"
3773 },
3774 {
3775 "opname" : "OpGroupNonUniformShuffleDown",
3776 "class" : "Non-Uniform",
3777 "opcode" : 348,
3778 "operands" : [
3779 { "kind" : "IdResultType" },
3780 { "kind" : "IdResult" },
3781 { "kind" : "IdScope", "name" : "'Execution'" },
3782 { "kind" : "IdRef", "name" : "'Value'" },
3783 { "kind" : "IdRef", "name" : "'Delta'" }
3784 ],
3785 "capabilities" : [ "GroupNonUniformShuffleRelative" ],
3786 "version" : "1.3"
3787 },
3788 {
3789 "opname" : "OpGroupNonUniformIAdd",
3790 "class" : "Non-Uniform",
3791 "opcode" : 349,
3792 "operands" : [
3793 { "kind" : "IdResultType" },
3794 { "kind" : "IdResult" },
3795 { "kind" : "IdScope", "name" : "'Execution'" },
3796 { "kind" : "GroupOperation", "name" : "'Operation'" },
3797 { "kind" : "IdRef", "name" : "'Value'" },
3798 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3799 ],
3800 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3801 "version" : "1.3"
3802 },
3803 {
3804 "opname" : "OpGroupNonUniformFAdd",
3805 "class" : "Non-Uniform",
3806 "opcode" : 350,
3807 "operands" : [
3808 { "kind" : "IdResultType" },
3809 { "kind" : "IdResult" },
3810 { "kind" : "IdScope", "name" : "'Execution'" },
3811 { "kind" : "GroupOperation", "name" : "'Operation'" },
3812 { "kind" : "IdRef", "name" : "'Value'" },
3813 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3814 ],
3815 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3816 "version" : "1.3"
3817 },
3818 {
3819 "opname" : "OpGroupNonUniformIMul",
3820 "class" : "Non-Uniform",
3821 "opcode" : 351,
3822 "operands" : [
3823 { "kind" : "IdResultType" },
3824 { "kind" : "IdResult" },
3825 { "kind" : "IdScope", "name" : "'Execution'" },
3826 { "kind" : "GroupOperation", "name" : "'Operation'" },
3827 { "kind" : "IdRef", "name" : "'Value'" },
3828 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3829 ],
3830 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3831 "version" : "1.3"
3832 },
3833 {
3834 "opname" : "OpGroupNonUniformFMul",
3835 "class" : "Non-Uniform",
3836 "opcode" : 352,
3837 "operands" : [
3838 { "kind" : "IdResultType" },
3839 { "kind" : "IdResult" },
3840 { "kind" : "IdScope", "name" : "'Execution'" },
3841 { "kind" : "GroupOperation", "name" : "'Operation'" },
3842 { "kind" : "IdRef", "name" : "'Value'" },
3843 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3844 ],
3845 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3846 "version" : "1.3"
3847 },
3848 {
3849 "opname" : "OpGroupNonUniformSMin",
3850 "class" : "Non-Uniform",
3851 "opcode" : 353,
3852 "operands" : [
3853 { "kind" : "IdResultType" },
3854 { "kind" : "IdResult" },
3855 { "kind" : "IdScope", "name" : "'Execution'" },
3856 { "kind" : "GroupOperation", "name" : "'Operation'" },
3857 { "kind" : "IdRef", "name" : "'Value'" },
3858 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3859 ],
3860 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3861 "version" : "1.3"
3862 },
3863 {
3864 "opname" : "OpGroupNonUniformUMin",
3865 "class" : "Non-Uniform",
3866 "opcode" : 354,
3867 "operands" : [
3868 { "kind" : "IdResultType" },
3869 { "kind" : "IdResult" },
3870 { "kind" : "IdScope", "name" : "'Execution'" },
3871 { "kind" : "GroupOperation", "name" : "'Operation'" },
3872 { "kind" : "IdRef", "name" : "'Value'" },
3873 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3874 ],
3875 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3876 "version" : "1.3"
3877 },
3878 {
3879 "opname" : "OpGroupNonUniformFMin",
3880 "class" : "Non-Uniform",
3881 "opcode" : 355,
3882 "operands" : [
3883 { "kind" : "IdResultType" },
3884 { "kind" : "IdResult" },
3885 { "kind" : "IdScope", "name" : "'Execution'" },
3886 { "kind" : "GroupOperation", "name" : "'Operation'" },
3887 { "kind" : "IdRef", "name" : "'Value'" },
3888 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3889 ],
3890 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3891 "version" : "1.3"
3892 },
3893 {
3894 "opname" : "OpGroupNonUniformSMax",
3895 "class" : "Non-Uniform",
3896 "opcode" : 356,
3897 "operands" : [
3898 { "kind" : "IdResultType" },
3899 { "kind" : "IdResult" },
3900 { "kind" : "IdScope", "name" : "'Execution'" },
3901 { "kind" : "GroupOperation", "name" : "'Operation'" },
3902 { "kind" : "IdRef", "name" : "'Value'" },
3903 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3904 ],
3905 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3906 "version" : "1.3"
3907 },
3908 {
3909 "opname" : "OpGroupNonUniformUMax",
3910 "class" : "Non-Uniform",
3911 "opcode" : 357,
3912 "operands" : [
3913 { "kind" : "IdResultType" },
3914 { "kind" : "IdResult" },
3915 { "kind" : "IdScope", "name" : "'Execution'" },
3916 { "kind" : "GroupOperation", "name" : "'Operation'" },
3917 { "kind" : "IdRef", "name" : "'Value'" },
3918 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3919 ],
3920 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3921 "version" : "1.3"
3922 },
3923 {
3924 "opname" : "OpGroupNonUniformFMax",
3925 "class" : "Non-Uniform",
3926 "opcode" : 358,
3927 "operands" : [
3928 { "kind" : "IdResultType" },
3929 { "kind" : "IdResult" },
3930 { "kind" : "IdScope", "name" : "'Execution'" },
3931 { "kind" : "GroupOperation", "name" : "'Operation'" },
3932 { "kind" : "IdRef", "name" : "'Value'" },
3933 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3934 ],
3935 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3936 "version" : "1.3"
3937 },
3938 {
3939 "opname" : "OpGroupNonUniformBitwiseAnd",
3940 "class" : "Non-Uniform",
3941 "opcode" : 359,
3942 "operands" : [
3943 { "kind" : "IdResultType" },
3944 { "kind" : "IdResult" },
3945 { "kind" : "IdScope", "name" : "'Execution'" },
3946 { "kind" : "GroupOperation", "name" : "'Operation'" },
3947 { "kind" : "IdRef", "name" : "'Value'" },
3948 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3949 ],
3950 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3951 "version" : "1.3"
3952 },
3953 {
3954 "opname" : "OpGroupNonUniformBitwiseOr",
3955 "class" : "Non-Uniform",
3956 "opcode" : 360,
3957 "operands" : [
3958 { "kind" : "IdResultType" },
3959 { "kind" : "IdResult" },
3960 { "kind" : "IdScope", "name" : "'Execution'" },
3961 { "kind" : "GroupOperation", "name" : "'Operation'" },
3962 { "kind" : "IdRef", "name" : "'Value'" },
3963 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3964 ],
3965 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3966 "version" : "1.3"
3967 },
3968 {
3969 "opname" : "OpGroupNonUniformBitwiseXor",
3970 "class" : "Non-Uniform",
3971 "opcode" : 361,
3972 "operands" : [
3973 { "kind" : "IdResultType" },
3974 { "kind" : "IdResult" },
3975 { "kind" : "IdScope", "name" : "'Execution'" },
3976 { "kind" : "GroupOperation", "name" : "'Operation'" },
3977 { "kind" : "IdRef", "name" : "'Value'" },
3978 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3979 ],
3980 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3981 "version" : "1.3"
3982 },
3983 {
3984 "opname" : "OpGroupNonUniformLogicalAnd",
3985 "class" : "Non-Uniform",
3986 "opcode" : 362,
3987 "operands" : [
3988 { "kind" : "IdResultType" },
3989 { "kind" : "IdResult" },
3990 { "kind" : "IdScope", "name" : "'Execution'" },
3991 { "kind" : "GroupOperation", "name" : "'Operation'" },
3992 { "kind" : "IdRef", "name" : "'Value'" },
3993 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3994 ],
3995 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3996 "version" : "1.3"
3997 },
3998 {
3999 "opname" : "OpGroupNonUniformLogicalOr",
4000 "class" : "Non-Uniform",
4001 "opcode" : 363,
4002 "operands" : [
4003 { "kind" : "IdResultType" },
4004 { "kind" : "IdResult" },
4005 { "kind" : "IdScope", "name" : "'Execution'" },
4006 { "kind" : "GroupOperation", "name" : "'Operation'" },
4007 { "kind" : "IdRef", "name" : "'Value'" },
4008 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
4009 ],
4010 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
4011 "version" : "1.3"
4012 },
4013 {
4014 "opname" : "OpGroupNonUniformLogicalXor",
4015 "class" : "Non-Uniform",
4016 "opcode" : 364,
4017 "operands" : [
4018 { "kind" : "IdResultType" },
4019 { "kind" : "IdResult" },
4020 { "kind" : "IdScope", "name" : "'Execution'" },
4021 { "kind" : "GroupOperation", "name" : "'Operation'" },
4022 { "kind" : "IdRef", "name" : "'Value'" },
4023 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
4024 ],
4025 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
4026 "version" : "1.3"
4027 },
4028 {
4029 "opname" : "OpGroupNonUniformQuadBroadcast",
4030 "class" : "Non-Uniform",
4031 "opcode" : 365,
4032 "operands" : [
4033 { "kind" : "IdResultType" },
4034 { "kind" : "IdResult" },
4035 { "kind" : "IdScope", "name" : "'Execution'" },
4036 { "kind" : "IdRef", "name" : "'Value'" },
4037 { "kind" : "IdRef", "name" : "'Index'" }
4038 ],
4039 "capabilities" : [ "GroupNonUniformQuad" ],
4040 "version" : "1.3"
4041 },
4042 {
4043 "opname" : "OpGroupNonUniformQuadSwap",
4044 "class" : "Non-Uniform",
4045 "opcode" : 366,
4046 "operands" : [
4047 { "kind" : "IdResultType" },
4048 { "kind" : "IdResult" },
4049 { "kind" : "IdScope", "name" : "'Execution'" },
4050 { "kind" : "IdRef", "name" : "'Value'" },
4051 { "kind" : "IdRef", "name" : "'Direction'" }
4052 ],
4053 "capabilities" : [ "GroupNonUniformQuad" ],
4054 "version" : "1.3"
4055 },
4056 {
4057 "opname" : "OpCopyLogical",
4058 "class" : "Composite",
4059 "opcode" : 400,
4060 "operands" : [
4061 { "kind" : "IdResultType" },
4062 { "kind" : "IdResult" },
4063 { "kind" : "IdRef", "name" : "'Operand'" }
4064 ],
4065 "version" : "1.4"
4066 },
4067 {
4068 "opname" : "OpPtrEqual",
4069 "class" : "Memory",
4070 "opcode" : 401,
4071 "operands" : [
4072 { "kind" : "IdResultType" },
4073 { "kind" : "IdResult" },
4074 { "kind" : "IdRef", "name" : "'Operand 1'" },
4075 { "kind" : "IdRef", "name" : "'Operand 2'" }
4076 ],
4077 "version" : "1.4"
4078 },
4079 {
4080 "opname" : "OpPtrNotEqual",
4081 "class" : "Memory",
4082 "opcode" : 402,
4083 "operands" : [
4084 { "kind" : "IdResultType" },
4085 { "kind" : "IdResult" },
4086 { "kind" : "IdRef", "name" : "'Operand 1'" },
4087 { "kind" : "IdRef", "name" : "'Operand 2'" }
4088 ],
4089 "version" : "1.4"
4090 },
4091 {
4092 "opname" : "OpPtrDiff",
4093 "class" : "Memory",
4094 "opcode" : 403,
4095 "operands" : [
4096 { "kind" : "IdResultType" },
4097 { "kind" : "IdResult" },
4098 { "kind" : "IdRef", "name" : "'Operand 1'" },
4099 { "kind" : "IdRef", "name" : "'Operand 2'" }
4100 ],
4101 "capabilities" : [ "Addresses", "VariablePointers", "VariablePointersStorageBuffer" ],
4102 "version" : "1.4"
4103 },
4104 {
4105 "opname" : "OpSubgroupBallotKHR",
4106 "class" : "Group",
4107 "opcode" : 4421,
4108 "operands" : [
4109 { "kind" : "IdResultType" },
4110 { "kind" : "IdResult" },
4111 { "kind" : "IdRef", "name" : "'Predicate'" }
4112 ],
4113 "capabilities" : [ "SubgroupBallotKHR" ],
4114 "extensions" : [ "SPV_KHR_shader_ballot" ],
4115 "version" : "None"
4116 },
4117 {
4118 "opname" : "OpSubgroupFirstInvocationKHR",
4119 "class" : "Group",
4120 "opcode" : 4422,
4121 "operands" : [
4122 { "kind" : "IdResultType" },
4123 { "kind" : "IdResult" },
4124 { "kind" : "IdRef", "name" : "'Value'" }
4125 ],
4126 "capabilities" : [ "SubgroupBallotKHR" ],
4127 "extensions" : [ "SPV_KHR_shader_ballot" ],
4128 "version" : "None"
4129 },
4130 {
4131 "opname" : "OpSubgroupAllKHR",
4132 "class" : "Group",
4133 "opcode" : 4428,
4134 "operands" : [
4135 { "kind" : "IdResultType" },
4136 { "kind" : "IdResult" },
4137 { "kind" : "IdRef", "name" : "'Predicate'" }
4138 ],
4139 "extensions" : [
4140 "SPV_KHR_subgroup_vote"
4141 ],
4142 "capabilities" : [ "SubgroupVoteKHR" ],
4143 "version" : "None"
4144 },
4145 {
4146 "opname" : "OpSubgroupAnyKHR",
4147 "class" : "Group",
4148 "opcode" : 4429,
4149 "operands" : [
4150 { "kind" : "IdResultType" },
4151 { "kind" : "IdResult" },
4152 { "kind" : "IdRef", "name" : "'Predicate'" }
4153 ],
4154 "extensions" : [
4155 "SPV_KHR_subgroup_vote"
4156 ],
4157 "capabilities" : [ "SubgroupVoteKHR" ],
4158 "version" : "None"
4159 },
4160 {
4161 "opname" : "OpSubgroupAllEqualKHR",
4162 "class" : "Group",
4163 "opcode" : 4430,
4164 "operands" : [
4165 { "kind" : "IdResultType" },
4166 { "kind" : "IdResult" },
4167 { "kind" : "IdRef", "name" : "'Predicate'" }
4168 ],
4169 "extensions" : [
4170 "SPV_KHR_subgroup_vote"
4171 ],
4172 "capabilities" : [ "SubgroupVoteKHR" ],
4173 "version" : "None"
4174 },
4175 {
4176 "opname" : "OpSubgroupReadInvocationKHR",
4177 "class" : "Group",
4178 "opcode" : 4432,
4179 "operands" : [
4180 { "kind" : "IdResultType" },
4181 { "kind" : "IdResult" },
4182 { "kind" : "IdRef", "name" : "'Value'" },
4183 { "kind" : "IdRef", "name" : "'Index'" }
4184 ],
4185 "capabilities" : [ "SubgroupBallotKHR" ],
4186 "extensions" : [ "SPV_KHR_shader_ballot" ],
4187 "version" : "None"
4188 },
4189 {
4190 "opname" : "OpTypeRayQueryProvisionalKHR",
4191 "class" : "Reserved",
4192 "opcode" : 4472,
4193 "operands" : [
4194 { "kind" : "IdResult" }
4195 ],
4196 "capabilities" : [ "RayQueryProvisionalKHR" ],
4197 "extensions" : [ "SPV_KHR_ray_query" ],
4198 "version" : "None"
4199 },
4200 {
4201 "opname" : "OpRayQueryInitializeKHR",
4202 "class" : "Reserved",
4203 "opcode" : 4473,
4204 "operands" : [
4205 {
4206 "kind" : "IdRef",
4207 "name" : "'RayQuery'"
4208 },
4209 {
4210 "kind" : "IdRef",
4211 "name" : "'Accel'"
4212 },
4213 {
4214 "kind" : "IdRef",
4215 "name" : "'RayFlags'"
4216 },
4217 {
4218 "kind" : "IdRef",
4219 "name" : "'CullMask'"
4220 },
4221 {
4222 "kind" : "IdRef",
4223 "name" : "'RayOrigin'"
4224 },
4225 {
4226 "kind" : "IdRef",
4227 "name" : "'RayTMin'"
4228 },
4229 {
4230 "kind" : "IdRef",
4231 "name" : "'RayDirection'"
4232 },
4233 {
4234 "kind" : "IdRef",
4235 "name" : "'RayTMax'"
4236 }
4237
4238 ],
4239 "capabilities" : [ "RayQueryProvisionalKHR" ],
4240 "extensions" : [ "SPV_KHR_ray_query" ],
4241 "version" : "None"
4242 },
4243 {
4244 "opname" : "OpRayQueryTerminateKHR",
4245 "class" : "Reserved",
4246 "opcode" : 4474,
4247 "operands" : [
4248 {
4249 "kind" : "IdRef",
4250 "name" : "'RayQuery'"
4251 }
4252 ],
4253 "capabilities" : [ "RayQueryProvisionalKHR" ],
4254 "extensions" : [ "SPV_KHR_ray_query" ],
4255 "version" : "None"
4256 },
4257 {
4258 "opname" : "OpRayQueryGenerateIntersectionKHR",
4259 "class" : "Reserved",
4260 "opcode" : 4475,
4261 "operands" : [
4262 {
4263 "kind" : "IdRef",
4264 "name" : "'RayQuery'"
4265 },
4266 {
4267 "kind" : "IdRef",
4268 "name" : "'HitT'"
4269 }
4270 ],
4271 "capabilities" : [ "RayQueryProvisionalKHR" ],
4272 "extensions" : [ "SPV_KHR_ray_query" ],
4273 "version" : "None"
4274 },
4275 {
4276 "opname" : "OpRayQueryConfirmIntersectionKHR",
4277 "class" : "Reserved",
4278 "opcode" : 4476,
4279 "operands" : [
4280 {
4281 "kind" : "IdRef",
4282 "name" : "'RayQuery'"
4283 }
4284 ],
4285 "capabilities" : [ "RayQueryProvisionalKHR" ],
4286 "extensions" : [ "SPV_KHR_ray_query" ],
4287 "version" : "None"
4288 },
4289 {
4290 "opname" : "OpRayQueryProceedKHR",
4291 "class" : "Reserved",
4292 "opcode" : 4477,
4293 "operands" : [
4294 { "kind" : "IdResultType" },
4295 { "kind" : "IdResult" },
4296 {
4297 "kind" : "IdRef",
4298 "name" : "'RayQuery'"
4299 }
4300 ],
4301 "capabilities" : [ "RayQueryProvisionalKHR" ],
4302 "extensions" : [ "SPV_KHR_ray_query" ],
4303 "version" : "None"
4304 },
4305 {
4306 "opname" : "OpRayQueryGetIntersectionTypeKHR",
4307 "class" : "Reserved",
4308 "opcode" : 4479,
4309 "operands" : [
4310 { "kind" : "IdResultType" },
4311 { "kind" : "IdResult" },
4312 {
4313 "kind" : "IdRef",
4314 "name" : "'RayQuery'"
4315 },
4316 {
4317 "kind" : "IdRef",
4318 "name" : "'Intersection'"
4319 }
4320 ],
4321 "capabilities" : [ "RayQueryProvisionalKHR" ],
4322 "extensions" : [ "SPV_KHR_ray_query" ],
4323 "version" : "None"
4324 },
4325 {
4326 "opname" : "OpGroupIAddNonUniformAMD",
4327 "class" : "Group",
4328 "opcode" : 5000,
4329 "operands" : [
4330 { "kind" : "IdResultType" },
4331 { "kind" : "IdResult" },
4332 { "kind" : "IdScope", "name" : "'Execution'" },
4333 { "kind" : "GroupOperation", "name" : "'Operation'" },
4334 { "kind" : "IdRef", "name" : "'X'" }
4335 ],
4336 "capabilities" : [ "Groups" ],
4337 "extensions" : [ "SPV_AMD_shader_ballot" ],
4338 "version" : "None"
4339 },
4340 {
4341 "opname" : "OpGroupFAddNonUniformAMD",
4342 "class" : "Group",
4343 "opcode" : 5001,
4344 "operands" : [
4345 { "kind" : "IdResultType" },
4346 { "kind" : "IdResult" },
4347 { "kind" : "IdScope", "name" : "'Execution'" },
4348 { "kind" : "GroupOperation", "name" : "'Operation'" },
4349 { "kind" : "IdRef", "name" : "'X'" }
4350 ],
4351 "capabilities" : [ "Groups" ],
4352 "extensions" : [ "SPV_AMD_shader_ballot" ],
4353 "version" : "None"
4354 },
4355 {
4356 "opname" : "OpGroupFMinNonUniformAMD",
4357 "class" : "Group",
4358 "opcode" : 5002,
4359 "operands" : [
4360 { "kind" : "IdResultType" },
4361 { "kind" : "IdResult" },
4362 { "kind" : "IdScope", "name" : "'Execution'" },
4363 { "kind" : "GroupOperation", "name" : "'Operation'" },
4364 { "kind" : "IdRef", "name" : "'X'" }
4365 ],
4366 "capabilities" : [ "Groups" ],
4367 "extensions" : [ "SPV_AMD_shader_ballot" ],
4368 "version" : "None"
4369 },
4370 {
4371 "opname" : "OpGroupUMinNonUniformAMD",
4372 "class" : "Group",
4373 "opcode" : 5003,
4374 "operands" : [
4375 { "kind" : "IdResultType" },
4376 { "kind" : "IdResult" },
4377 { "kind" : "IdScope", "name" : "'Execution'" },
4378 { "kind" : "GroupOperation", "name" : "'Operation'" },
4379 { "kind" : "IdRef", "name" : "'X'" }
4380 ],
4381 "capabilities" : [ "Groups" ],
4382 "extensions" : [ "SPV_AMD_shader_ballot" ],
4383 "version" : "None"
4384 },
4385 {
4386 "opname" : "OpGroupSMinNonUniformAMD",
4387 "class" : "Group",
4388 "opcode" : 5004,
4389 "operands" : [
4390 { "kind" : "IdResultType" },
4391 { "kind" : "IdResult" },
4392 { "kind" : "IdScope", "name" : "'Execution'" },
4393 { "kind" : "GroupOperation", "name" : "'Operation'" },
4394 { "kind" : "IdRef", "name" : "'X'" }
4395 ],
4396 "capabilities" : [ "Groups" ],
4397 "extensions" : [ "SPV_AMD_shader_ballot" ],
4398 "version" : "None"
4399 },
4400 {
4401 "opname" : "OpGroupFMaxNonUniformAMD",
4402 "class" : "Group",
4403 "opcode" : 5005,
4404 "operands" : [
4405 { "kind" : "IdResultType" },
4406 { "kind" : "IdResult" },
4407 { "kind" : "IdScope", "name" : "'Execution'" },
4408 { "kind" : "GroupOperation", "name" : "'Operation'" },
4409 { "kind" : "IdRef", "name" : "'X'" }
4410 ],
4411 "capabilities" : [ "Groups" ],
4412 "extensions" : [ "SPV_AMD_shader_ballot" ],
4413 "version" : "None"
4414 },
4415 {
4416 "opname" : "OpGroupUMaxNonUniformAMD",
4417 "class" : "Group",
4418 "opcode" : 5006,
4419 "operands" : [
4420 { "kind" : "IdResultType" },
4421 { "kind" : "IdResult" },
4422 { "kind" : "IdScope", "name" : "'Execution'" },
4423 { "kind" : "GroupOperation", "name" : "'Operation'" },
4424 { "kind" : "IdRef", "name" : "'X'" }
4425 ],
4426 "capabilities" : [ "Groups" ],
4427 "extensions" : [ "SPV_AMD_shader_ballot" ],
4428 "version" : "None"
4429 },
4430 {
4431 "opname" : "OpGroupSMaxNonUniformAMD",
4432 "class" : "Group",
4433 "opcode" : 5007,
4434 "operands" : [
4435 { "kind" : "IdResultType" },
4436 { "kind" : "IdResult" },
4437 { "kind" : "IdScope", "name" : "'Execution'" },
4438 { "kind" : "GroupOperation", "name" : "'Operation'" },
4439 { "kind" : "IdRef", "name" : "'X'" }
4440 ],
4441 "capabilities" : [ "Groups" ],
4442 "extensions" : [ "SPV_AMD_shader_ballot" ],
4443 "version" : "None"
4444 },
4445 {
4446 "opname" : "OpFragmentMaskFetchAMD",
4447 "class" : "Reserved",
4448 "opcode" : 5011,
4449 "operands" : [
4450 { "kind" : "IdResultType" },
4451 { "kind" : "IdResult" },
4452 { "kind" : "IdRef", "name" : "'Image'" },
4453 { "kind" : "IdRef", "name" : "'Coordinate'" }
4454 ],
4455 "capabilities" : [ "FragmentMaskAMD" ],
4456 "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
4457 "version" : "None"
4458 },
4459 {
4460 "opname" : "OpFragmentFetchAMD",
4461 "class" : "Reserved",
4462 "opcode" : 5012,
4463 "operands" : [
4464 { "kind" : "IdResultType" },
4465 { "kind" : "IdResult" },
4466 { "kind" : "IdRef", "name" : "'Image'" },
4467 { "kind" : "IdRef", "name" : "'Coordinate'" },
4468 { "kind" : "IdRef", "name" : "'Fragment Index'" }
4469 ],
4470 "capabilities" : [ "FragmentMaskAMD" ],
4471 "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
4472 "version" : "None"
4473 },
4474 {
4475 "opname" : "OpReadClockKHR",
4476 "class" : "Reserved",
4477 "opcode" : 5056,
4478 "operands" : [
4479 { "kind" : "IdResultType" },
4480 { "kind" : "IdResult" },
4481 { "kind" : "IdScope", "name" : "'Execution'" }
4482 ],
4483 "capabilities" : [ "ShaderClockKHR" ],
4484 "extensions" : [ "SPV_KHR_shader_clock" ],
4485 "version" : "None"
4486 },
4487 {
4488 "opname" : "OpImageSampleFootprintNV",
4489 "class" : "Image",
4490 "opcode" : 5283,
4491 "operands" : [
4492 { "kind" : "IdResultType" },
4493 { "kind" : "IdResult" },
4494 { "kind" : "IdRef", "name" : "'Sampled Image'" },
4495 { "kind" : "IdRef", "name" : "'Coordinate'" },
4496 { "kind" : "IdRef", "name" : "'Granularity'" },
4497 { "kind" : "IdRef", "name" : "'Coarse'" },
4498 { "kind" : "ImageOperands", "quantifier" : "?" }
4499 ],
4500 "capabilities" : [ "ImageFootprintNV" ],
4501 "extensions" : [ "SPV_NV_shader_image_footprint" ],
4502 "version" : "None"
4503 },
4504 {
4505 "opname" : "OpGroupNonUniformPartitionNV",
4506 "class" : "Non-Uniform",
4507 "opcode" : 5296,
4508 "operands" : [
4509 { "kind" : "IdResultType" },
4510 { "kind" : "IdResult" },
4511 { "kind" : "IdRef", "name" : "'Value'" }
4512 ],
4513 "capabilities" : [ "GroupNonUniformPartitionedNV" ],
4514 "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
4515 "version" : "None"
4516 },
4517 {
4518 "opname" : "OpWritePackedPrimitiveIndices4x8NV",
4519 "class" : "Reserved",
4520 "opcode" : 5299,
4521 "operands" : [
4522 { "kind" : "IdRef", "name" : "'Index Offset'" },
4523 { "kind" : "IdRef", "name" : "'Packed Indices'" }
4524 ],
4525 "capabilities" : [ "MeshShadingNV" ],
4526 "extensions" : [ "SPV_NV_mesh_shader" ],
4527 "version" : "None"
4528 },
4529 {
4530 "opname" : "OpReportIntersectionNV",
4531 "class" : "Reserved",
4532 "opcode" : 5334,
4533 "operands" : [
4534 { "kind" : "IdResultType" },
4535 { "kind" : "IdResult" },
4536 { "kind" : "IdRef", "name" : "'Hit'" },
4537 { "kind" : "IdRef", "name" : "'HitKind'" }
4538 ],
4539 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4540 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4541 "version" : "None"
4542 },
4543 {
4544 "opname" : "OpReportIntersectionKHR",
4545 "class" : "Reserved",
4546 "opcode" : 5334,
4547 "operands" : [
4548 { "kind" : "IdResultType" },
4549 { "kind" : "IdResult" },
4550 { "kind" : "IdRef", "name" : "'Hit'" },
4551 { "kind" : "IdRef", "name" : "'HitKind'" }
4552 ],
4553 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4554 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4555 "version" : "None"
4556 },
4557 {
4558 "opname" : "OpIgnoreIntersectionNV",
4559 "class" : "Reserved",
4560 "opcode" : 5335,
4561 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4562 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4563 "version" : "None"
4564 },
4565 {
4566 "opname" : "OpIgnoreIntersectionKHR",
4567 "class" : "Reserved",
4568 "opcode" : 5335,
4569 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4570 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4571 "version" : "None"
4572 },
4573 {
4574 "opname" : "OpTerminateRayNV",
4575 "class" : "Reserved",
4576 "opcode" : 5336,
4577 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4578 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4579 "version" : "None"
4580 },
4581 {
4582 "opname" : "OpTerminateRayKHR",
4583 "class" : "Reserved",
4584 "opcode" : 5336,
4585 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4586 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4587 "version" : "None"
4588 },
4589 {
4590 "opname" : "OpTraceNV",
4591 "class" : "Reserved",
4592 "opcode" : 5337,
4593 "operands" : [
4594
4595 { "kind" : "IdRef", "name" : "'Accel'" },
4596 { "kind" : "IdRef", "name" : "'Ray Flags'" },
4597 { "kind" : "IdRef", "name" : "'Cull Mask'" },
4598 { "kind" : "IdRef", "name" : "'SBT Offset'" },
4599 { "kind" : "IdRef", "name" : "'SBT Stride'" },
4600 { "kind" : "IdRef", "name" : "'Miss Index'" },
4601 { "kind" : "IdRef", "name" : "'Ray Origin'" },
4602 { "kind" : "IdRef", "name" : "'Ray Tmin'" },
4603 { "kind" : "IdRef", "name" : "'Ray Direction'" },
4604 { "kind" : "IdRef", "name" : "'Ray Tmax'" },
4605 { "kind" : "IdRef", "name" : "'PayloadId'" }
4606 ],
4607 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4608 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4609 "version" : "None"
4610 },
4611 {
4612 "opname" : "OpTraceRayKHR",
4613 "class" : "Reserved",
4614 "opcode" : 5337,
4615 "operands" : [
4616
4617 { "kind" : "IdRef", "name" : "'Accel'" },
4618 { "kind" : "IdRef", "name" : "'Ray Flags'" },
4619 { "kind" : "IdRef", "name" : "'Cull Mask'" },
4620 { "kind" : "IdRef", "name" : "'SBT Offset'" },
4621 { "kind" : "IdRef", "name" : "'SBT Stride'" },
4622 { "kind" : "IdRef", "name" : "'Miss Index'" },
4623 { "kind" : "IdRef", "name" : "'Ray Origin'" },
4624 { "kind" : "IdRef", "name" : "'Ray Tmin'" },
4625 { "kind" : "IdRef", "name" : "'Ray Direction'" },
4626 { "kind" : "IdRef", "name" : "'Ray Tmax'" },
4627 { "kind" : "IdRef", "name" : "'PayloadId'" }
4628 ],
4629 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4630 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4631 "version" : "None"
4632 },
4633 {
4634 "opname" : "OpTypeAccelerationStructureNV",
4635 "class" : "Reserved",
4636 "opcode" : 5341,
4637 "operands" : [
4638 { "kind" : "IdResult" }
4639 ],
4640 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR", "RayQueryProvisionalKHR" ],
4641 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing", "SPV_KHR_ray_query" ],
4642 "version" : "None"
4643 },
4644 {
4645 "opname" : "OpTypeAccelerationStructureKHR",
4646 "class" : "Reserved",
4647 "opcode" : 5341,
4648 "operands" : [
4649 { "kind" : "IdResult" }
4650 ],
4651 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR", "RayQueryProvisionalKHR" ],
4652 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing", "SPV_KHR_ray_query" ],
4653 "version" : "None"
4654 },
4655 {
4656 "opname" : "OpExecuteCallableNV",
4657 "class" : "Reserved",
4658 "opcode" : 5344,
4659 "operands" : [
4660
4661 { "kind" : "IdRef", "name" : "'SBT Index'" },
4662 { "kind" : "IdRef", "name" : "'Callable DataId'" }
4663 ],
4664 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4665 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4666 "version" : "None"
4667 },
4668 {
4669 "opname" : "OpExecuteCallableKHR",
4670 "class" : "Reserved",
4671 "opcode" : 5344,
4672 "operands" : [
4673
4674 { "kind" : "IdRef", "name" : "'SBT Index'" },
4675 { "kind" : "IdRef", "name" : "'Callable DataId'" }
4676 ],
4677 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4678 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4679 "version" : "None"
4680 },
4681 {
4682 "opname" : "OpTypeCooperativeMatrixNV",
4683 "class" : "Reserved",
4684 "opcode" : 5358,
4685 "operands" : [
4686 { "kind" : "IdResult" },
4687 { "kind" : "IdRef", "name" : "'Component Type'" },
4688 { "kind" : "IdScope", "name" : "'Execution'" },
4689 { "kind" : "IdRef", "name" : "'Rows'" },
4690 { "kind" : "IdRef", "name" : "'Columns'" }
4691 ],
4692 "capabilities" : [ "CooperativeMatrixNV" ],
4693 "extensions" : [ "SPV_NV_cooperative_matrix" ],
4694 "version" : "None"
4695 },
4696 {
4697 "opname" : "OpCooperativeMatrixLoadNV",
4698 "class" : "Reserved",
4699 "opcode" : 5359,
4700 "operands" : [
4701 { "kind" : "IdResultType" },
4702 { "kind" : "IdResult" },
4703 { "kind" : "IdRef", "name" : "'Pointer'" },
4704 { "kind" : "IdRef", "name" : "'Stride'" },
4705 { "kind" : "IdRef", "name" : "'Column Major'" },
4706 { "kind" : "MemoryAccess", "quantifier" : "?" }
4707 ],
4708 "capabilities" : [ "CooperativeMatrixNV" ],
4709 "extensions" : [ "SPV_NV_cooperative_matrix" ],
4710 "version" : "None"
4711 },
4712 {
4713 "opname" : "OpCooperativeMatrixStoreNV",
4714 "class" : "Reserved",
4715 "opcode" : 5360,
4716 "operands" : [
4717 { "kind" : "IdRef", "name" : "'Pointer'" },
4718 { "kind" : "IdRef", "name" : "'Object'" },
4719 { "kind" : "IdRef", "name" : "'Stride'" },
4720 { "kind" : "IdRef", "name" : "'Column Major'" },
4721 { "kind" : "MemoryAccess", "quantifier" : "?" }
4722 ],
4723 "capabilities" : [ "CooperativeMatrixNV" ],
4724 "extensions" : [ "SPV_NV_cooperative_matrix" ],
4725 "version" : "None"
4726 },
4727 {
4728 "opname" : "OpCooperativeMatrixMulAddNV",
4729 "class" : "Reserved",
4730 "opcode" : 5361,
4731 "operands" : [
4732 { "kind" : "IdResultType" },
4733 { "kind" : "IdResult" },
4734 { "kind" : "IdRef", "name" : "'A'" },
4735 { "kind" : "IdRef", "name" : "'B'" },
4736 { "kind" : "IdRef", "name" : "'C'" }
4737 ],
4738 "capabilities" : [ "CooperativeMatrixNV" ],
4739 "extensions" : [ "SPV_NV_cooperative_matrix" ],
4740 "version" : "None"
4741 },
4742 {
4743 "opname" : "OpCooperativeMatrixLengthNV",
4744 "class" : "Reserved",
4745 "opcode" : 5362,
4746 "operands" : [
4747 { "kind" : "IdResultType" },
4748 { "kind" : "IdResult" },
4749 { "kind" : "IdRef", "name" : "'Type'" }
4750 ],
4751 "capabilities" : [ "CooperativeMatrixNV" ],
4752 "extensions" : [ "SPV_NV_cooperative_matrix" ],
4753 "version" : "None"
4754 },
4755 {
4756 "opname" : "OpBeginInvocationInterlockEXT",
4757 "class" : "Reserved",
4758 "opcode" : 5364,
4759 "capabilities" : [ "FragmentShaderSampleInterlockEXT", "FragmentShaderPixelInterlockEXT", "FragmentShaderShadingRateInterlockEXT" ],
4760 "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
4761 "version" : "None"
4762 },
4763 {
4764 "opname" : "OpEndInvocationInterlockEXT",
4765 "class" : "Reserved",
4766 "opcode" : 5365,
4767 "capabilities" : [ "FragmentShaderSampleInterlockEXT", "FragmentShaderPixelInterlockEXT", "FragmentShaderShadingRateInterlockEXT" ],
4768 "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
4769 "version" : "None"
4770 },
4771 {
4772 "opname" : "OpDemoteToHelperInvocationEXT",
4773 "class" : "Reserved",
4774 "opcode" : 5380,
4775 "capabilities" : [ "DemoteToHelperInvocationEXT" ],
4776 "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ],
4777 "version" : "None"
4778 },
4779 {
4780 "opname" : "OpIsHelperInvocationEXT",
4781 "class" : "Reserved",
4782 "opcode" : 5381,
4783 "operands" : [
4784 { "kind" : "IdResultType" },
4785 { "kind" : "IdResult" }
4786 ],
4787 "capabilities" : [ "DemoteToHelperInvocationEXT" ],
4788 "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ],
4789 "version" : "None"
4790 },
4791 {
4792 "opname" : "OpSubgroupShuffleINTEL",
4793 "class" : "Group",
4794 "opcode" : 5571,
4795 "operands" : [
4796 { "kind" : "IdResultType" },
4797 { "kind" : "IdResult" },
4798 { "kind" : "IdRef", "name" : "'Data'" },
4799 { "kind" : "IdRef", "name" : "'InvocationId'" }
4800 ],
4801 "capabilities" : [ "SubgroupShuffleINTEL" ],
4802 "version" : "None"
4803 },
4804 {
4805 "opname" : "OpSubgroupShuffleDownINTEL",
4806 "class" : "Group",
4807 "opcode" : 5572,
4808 "operands" : [
4809 { "kind" : "IdResultType" },
4810 { "kind" : "IdResult" },
4811 { "kind" : "IdRef", "name" : "'Current'" },
4812 { "kind" : "IdRef", "name" : "'Next'" },
4813 { "kind" : "IdRef", "name" : "'Delta'" }
4814 ],
4815 "capabilities" : [ "SubgroupShuffleINTEL" ],
4816 "version" : "None"
4817 },
4818 {
4819 "opname" : "OpSubgroupShuffleUpINTEL",
4820 "class" : "Group",
4821 "opcode" : 5573,
4822 "operands" : [
4823 { "kind" : "IdResultType" },
4824 { "kind" : "IdResult" },
4825 { "kind" : "IdRef", "name" : "'Previous'" },
4826 { "kind" : "IdRef", "name" : "'Current'" },
4827 { "kind" : "IdRef", "name" : "'Delta'" }
4828 ],
4829 "capabilities" : [ "SubgroupShuffleINTEL" ],
4830 "version" : "None"
4831 },
4832 {
4833 "opname" : "OpSubgroupShuffleXorINTEL",
4834 "class" : "Group",
4835 "opcode" : 5574,
4836 "operands" : [
4837 { "kind" : "IdResultType" },
4838 { "kind" : "IdResult" },
4839 { "kind" : "IdRef", "name" : "'Data'" },
4840 { "kind" : "IdRef", "name" : "'Value'" }
4841 ],
4842 "capabilities" : [ "SubgroupShuffleINTEL" ],
4843 "version" : "None"
4844 },
4845 {
4846 "opname" : "OpSubgroupBlockReadINTEL",
4847 "class" : "Group",
4848 "opcode" : 5575,
4849 "operands" : [
4850 { "kind" : "IdResultType" },
4851 { "kind" : "IdResult" },
4852 { "kind" : "IdRef", "name" : "'Ptr'" }
4853 ],
4854 "capabilities" : [ "SubgroupBufferBlockIOINTEL" ],
4855 "version" : "None"
4856 },
4857 {
4858 "opname" : "OpSubgroupBlockWriteINTEL",
4859 "class" : "Group",
4860 "opcode" : 5576,
4861 "operands" : [
4862 { "kind" : "IdRef", "name" : "'Ptr'" },
4863 { "kind" : "IdRef", "name" : "'Data'" }
4864 ],
4865 "capabilities" : [ "SubgroupBufferBlockIOINTEL" ],
4866 "version" : "None"
4867 },
4868 {
4869 "opname" : "OpSubgroupImageBlockReadINTEL",
4870 "class" : "Group",
4871 "opcode" : 5577,
4872 "operands" : [
4873 { "kind" : "IdResultType" },
4874 { "kind" : "IdResult" },
4875 { "kind" : "IdRef", "name" : "'Image'" },
4876 { "kind" : "IdRef", "name" : "'Coordinate'" }
4877 ],
4878 "capabilities" : [ "SubgroupImageBlockIOINTEL" ],
4879 "version" : "None"
4880 },
4881 {
4882 "opname" : "OpSubgroupImageBlockWriteINTEL",
4883 "class" : "Group",
4884 "opcode" : 5578,
4885 "operands" : [
4886 { "kind" : "IdRef", "name" : "'Image'" },
4887 { "kind" : "IdRef", "name" : "'Coordinate'" },
4888 { "kind" : "IdRef", "name" : "'Data'" }
4889 ],
4890 "capabilities" : [ "SubgroupImageBlockIOINTEL" ],
4891 "version" : "None"
4892 },
4893 {
4894 "opname" : "OpSubgroupImageMediaBlockReadINTEL",
4895 "class" : "Group",
4896 "opcode" : 5580,
4897 "operands" : [
4898 { "kind" : "IdResultType" },
4899 { "kind" : "IdResult" },
4900 { "kind" : "IdRef", "name" : "'Image'" },
4901 { "kind" : "IdRef", "name" : "'Coordinate'" },
4902 { "kind" : "IdRef", "name" : "'Width'" },
4903 { "kind" : "IdRef", "name" : "'Height'" }
4904 ],
4905 "capabilities" : [ "SubgroupImageMediaBlockIOINTEL" ],
4906 "version" : "None"
4907 },
4908 {
4909 "opname" : "OpSubgroupImageMediaBlockWriteINTEL",
4910 "class" : "Group",
4911 "opcode" : 5581,
4912 "operands" : [
4913 { "kind" : "IdRef", "name" : "'Image'" },
4914 { "kind" : "IdRef", "name" : "'Coordinate'" },
4915 { "kind" : "IdRef", "name" : "'Width'" },
4916 { "kind" : "IdRef", "name" : "'Height'" },
4917 { "kind" : "IdRef", "name" : "'Data'" }
4918 ],
4919 "capabilities" : [ "SubgroupImageMediaBlockIOINTEL" ],
4920 "version" : "None"
4921 },
4922 {
4923 "opname" : "OpUCountLeadingZerosINTEL",
4924 "class" : "Reserved",
4925 "opcode" : 5585,
4926 "operands" : [
4927 { "kind" : "IdResultType" },
4928 { "kind" : "IdResult" },
4929 { "kind" : "IdRef", "name" : "'Operand'" }
4930 ],
4931 "capabilities" : [ "IntegerFunctions2INTEL" ],
4932 "version" : "None"
4933 },
4934 {
4935 "opname" : "OpUCountTrailingZerosINTEL",
4936 "class" : "Reserved",
4937 "opcode" : 5586,
4938 "operands" : [
4939 { "kind" : "IdResultType" },
4940 { "kind" : "IdResult" },
4941 { "kind" : "IdRef", "name" : "'Operand'" }
4942 ],
4943 "capabilities" : [ "IntegerFunctions2INTEL" ],
4944 "version" : "None"
4945 },
4946 {
4947 "opname" : "OpAbsISubINTEL",
4948 "class" : "Reserved",
4949 "opcode" : 5587,
4950 "operands" : [
4951 { "kind" : "IdResultType" },
4952 { "kind" : "IdResult" },
4953 { "kind" : "IdRef", "name" : "'Operand 1'" },
4954 { "kind" : "IdRef", "name" : "'Operand 2'" }
4955 ],
4956 "capabilities" : [ "IntegerFunctions2INTEL" ],
4957 "version" : "None"
4958 },
4959 {
4960 "opname" : "OpAbsUSubINTEL",
4961 "class" : "Reserved",
4962 "opcode" : 5588,
4963 "operands" : [
4964 { "kind" : "IdResultType" },
4965 { "kind" : "IdResult" },
4966 { "kind" : "IdRef", "name" : "'Operand 1'" },
4967 { "kind" : "IdRef", "name" : "'Operand 2'" }
4968 ],
4969 "capabilities" : [ "IntegerFunctions2INTEL" ],
4970 "version" : "None"
4971 },
4972 {
4973 "opname" : "OpIAddSatINTEL",
4974 "class" : "Reserved",
4975 "opcode" : 5589,
4976 "operands" : [
4977 { "kind" : "IdResultType" },
4978 { "kind" : "IdResult" },
4979 { "kind" : "IdRef", "name" : "'Operand 1'" },
4980 { "kind" : "IdRef", "name" : "'Operand 2'" }
4981 ],
4982 "capabilities" : [ "IntegerFunctions2INTEL" ],
4983 "version" : "None"
4984 },
4985 {
4986 "opname" : "OpUAddSatINTEL",
4987 "class" : "Reserved",
4988 "opcode" : 5590,
4989 "operands" : [
4990 { "kind" : "IdResultType" },
4991 { "kind" : "IdResult" },
4992 { "kind" : "IdRef", "name" : "'Operand 1'" },
4993 { "kind" : "IdRef", "name" : "'Operand 2'" }
4994 ],
4995 "capabilities" : [ "IntegerFunctions2INTEL" ],
4996 "version" : "None"
4997 },
4998 {
4999 "opname" : "OpIAverageINTEL",
5000 "class" : "Reserved",
5001 "opcode" : 5591,
5002 "operands" : [
5003 { "kind" : "IdResultType" },
5004 { "kind" : "IdResult" },
5005 { "kind" : "IdRef", "name" : "'Operand 1'" },
5006 { "kind" : "IdRef", "name" : "'Operand 2'" }
5007 ],
5008 "capabilities" : [ "IntegerFunctions2INTEL" ],
5009 "version" : "None"
5010 },
5011 {
5012 "opname" : "OpUAverageINTEL",
5013 "class" : "Reserved",
5014 "opcode" : 5592,
5015 "operands" : [
5016 { "kind" : "IdResultType" },
5017 { "kind" : "IdResult" },
5018 { "kind" : "IdRef", "name" : "'Operand 1'" },
5019 { "kind" : "IdRef", "name" : "'Operand 2'" }
5020 ],
5021 "capabilities" : [ "IntegerFunctions2INTEL" ],
5022 "version" : "None"
5023 },
5024 {
5025 "opname" : "OpIAverageRoundedINTEL",
5026 "class" : "Reserved",
5027 "opcode" : 5593,
5028 "operands" : [
5029 { "kind" : "IdResultType" },
5030 { "kind" : "IdResult" },
5031 { "kind" : "IdRef", "name" : "'Operand 1'" },
5032 { "kind" : "IdRef", "name" : "'Operand 2'" }
5033 ],
5034 "capabilities" : [ "IntegerFunctions2INTEL" ],
5035 "version" : "None"
5036 },
5037 {
5038 "opname" : "OpUAverageRoundedINTEL",
5039 "class" : "Reserved",
5040 "opcode" : 5594,
5041 "operands" : [
5042 { "kind" : "IdResultType" },
5043 { "kind" : "IdResult" },
5044 { "kind" : "IdRef", "name" : "'Operand 1'" },
5045 { "kind" : "IdRef", "name" : "'Operand 2'" }
5046 ],
5047 "capabilities" : [ "IntegerFunctions2INTEL" ],
5048 "version" : "None"
5049 },
5050 {
5051 "opname" : "OpISubSatINTEL",
5052 "class" : "Reserved",
5053 "opcode" : 5595,
5054 "operands" : [
5055 { "kind" : "IdResultType" },
5056 { "kind" : "IdResult" },
5057 { "kind" : "IdRef", "name" : "'Operand 1'" },
5058 { "kind" : "IdRef", "name" : "'Operand 2'" }
5059 ],
5060 "capabilities" : [ "IntegerFunctions2INTEL" ],
5061 "version" : "None"
5062 },
5063 {
5064 "opname" : "OpUSubSatINTEL",
5065 "class" : "Reserved",
5066 "opcode" : 5596,
5067 "operands" : [
5068 { "kind" : "IdResultType" },
5069 { "kind" : "IdResult" },
5070 { "kind" : "IdRef", "name" : "'Operand 1'" },
5071 { "kind" : "IdRef", "name" : "'Operand 2'" }
5072 ],
5073 "capabilities" : [ "IntegerFunctions2INTEL" ],
5074 "version" : "None"
5075 },
5076 {
5077 "opname" : "OpIMul32x16INTEL",
5078 "class" : "Reserved",
5079 "opcode" : 5597,
5080 "operands" : [
5081 { "kind" : "IdResultType" },
5082 { "kind" : "IdResult" },
5083 { "kind" : "IdRef", "name" : "'Operand 1'" },
5084 { "kind" : "IdRef", "name" : "'Operand 2'" }
5085 ],
5086 "capabilities" : [ "IntegerFunctions2INTEL" ],
5087 "version" : "None"
5088 },
5089 {
5090 "opname" : "OpUMul32x16INTEL",
5091 "class" : "Reserved",
5092 "opcode" : 5598,
5093 "operands" : [
5094 { "kind" : "IdResultType" },
5095 { "kind" : "IdResult" },
5096 { "kind" : "IdRef", "name" : "'Operand 1'" },
5097 { "kind" : "IdRef", "name" : "'Operand 2'" }
5098 ],
5099 "capabilities" : [ "IntegerFunctions2INTEL" ],
5100 "version" : "None"
5101 },
5102 {
5103 "opname" : "OpFunctionPointerINTEL",
5104 "class" : "@exclude",
5105 "opcode" : 5600,
5106 "operands" : [
5107 { "kind" : "IdResultType" },
5108 { "kind" : "IdResult" },
5109 { "kind" : "IdRef", "name" : "'Function'" }
5110 ],
5111 "capabilities" : [ "FunctionPointersINTEL" ],
5112 "extensions" : [ "SPV_INTEL_function_pointers" ],
5113 "version" : "None"
5114 },
5115 {
5116 "opname" : "OpFunctionPointerCallINTEL",
5117 "class" : "@exclude",
5118 "opcode" : 5601,
5119 "operands" : [
5120 { "kind" : "IdResultType" },
5121 { "kind" : "IdResult" },
5122 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Operand 1'" }
5123 ],
5124 "capabilities" : [ "FunctionPointersINTEL" ],
5125 "extensions" : [ "SPV_INTEL_function_pointers" ],
5126 "version" : "None"
5127 },
5128 {
5129 "opname" : "OpDecorateString",
5130 "class" : "Annotation",
5131 "opcode" : 5632,
5132 "operands" : [
5133 { "kind" : "IdRef", "name" : "'Target'" },
5134 { "kind" : "Decoration" }
5135 ],
5136 "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
5137 "version" : "1.4"
5138 },
5139 {
5140 "opname" : "OpDecorateStringGOOGLE",
5141 "class" : "Annotation",
5142 "opcode" : 5632,
5143 "operands" : [
5144 { "kind" : "IdRef", "name" : "'Target'" },
5145 { "kind" : "Decoration" }
5146 ],
5147 "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
5148 "version" : "1.4"
5149 },
5150 {
5151 "opname" : "OpMemberDecorateString",
5152 "class" : "Annotation",
5153 "opcode" : 5633,
5154 "operands" : [
5155 { "kind" : "IdRef", "name" : "'Struct Type'" },
5156 { "kind" : "LiteralInteger", "name" : "'Member'" },
5157 { "kind" : "Decoration" }
5158 ],
5159 "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
5160 "version" : "1.4"
5161 },
5162 {
5163 "opname" : "OpMemberDecorateStringGOOGLE",
5164 "class" : "Annotation",
5165 "opcode" : 5633,
5166 "operands" : [
5167 { "kind" : "IdRef", "name" : "'Struct Type'" },
5168 { "kind" : "LiteralInteger", "name" : "'Member'" },
5169 { "kind" : "Decoration" }
5170 ],
5171 "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
5172 "version" : "1.4"
5173 },
5174 {
5175 "opname" : "OpVmeImageINTEL",
5176 "class" : "@exclude",
5177 "opcode" : 5699,
5178 "operands" : [
5179 { "kind" : "IdResultType" },
5180 { "kind" : "IdResult" },
5181 { "kind" : "IdRef", "name" : "'Image Type'" },
5182 { "kind" : "IdRef", "name" : "'Sampler'" }
5183 ],
5184 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5185 "version" : "None"
5186 },
5187 {
5188 "opname" : "OpTypeVmeImageINTEL",
5189 "class" : "@exclude",
5190 "opcode" : 5700,
5191 "operands" : [
5192 { "kind" : "IdResult" },
5193 { "kind" : "IdRef", "name" : "'Image Type'" }
5194 ],
5195 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5196 "version" : "None"
5197 },
5198 {
5199 "opname" : "OpTypeAvcImePayloadINTEL",
5200 "class" : "@exclude",
5201 "opcode" : 5701,
5202 "operands" : [
5203 { "kind" : "IdResult" }
5204 ],
5205 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5206 "version" : "None"
5207 },
5208 {
5209 "opname" : "OpTypeAvcRefPayloadINTEL",
5210 "class" : "@exclude",
5211 "opcode" : 5702,
5212 "operands" : [
5213 { "kind" : "IdResult" }
5214 ],
5215 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5216 "version" : "None"
5217 },
5218 {
5219 "opname" : "OpTypeAvcSicPayloadINTEL",
5220 "class" : "@exclude",
5221 "opcode" : 5703,
5222 "operands" : [
5223 { "kind" : "IdResult" }
5224 ],
5225 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5226 "version" : "None"
5227 },
5228 {
5229 "opname" : "OpTypeAvcMcePayloadINTEL",
5230 "class" : "@exclude",
5231 "opcode" : 5704,
5232 "operands" : [
5233 { "kind" : "IdResult" }
5234 ],
5235 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5236 "version" : "None"
5237 },
5238 {
5239 "opname" : "OpTypeAvcMceResultINTEL",
5240 "class" : "@exclude",
5241 "opcode" : 5705,
5242 "operands" : [
5243 { "kind" : "IdResult" }
5244 ],
5245 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5246 "version" : "None"
5247 },
5248 {
5249 "opname" : "OpTypeAvcImeResultINTEL",
5250 "class" : "@exclude",
5251 "opcode" : 5706,
5252 "operands" : [
5253 { "kind" : "IdResult" }
5254 ],
5255 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5256 "version" : "None"
5257 },
5258 {
5259 "opname" : "OpTypeAvcImeResultSingleReferenceStreamoutINTEL",
5260 "class" : "@exclude",
5261 "opcode" : 5707,
5262 "operands" : [
5263 { "kind" : "IdResult" }
5264 ],
5265 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5266 "version" : "None"
5267 },
5268 {
5269 "opname" : "OpTypeAvcImeResultDualReferenceStreamoutINTEL",
5270 "class" : "@exclude",
5271 "opcode" : 5708,
5272 "operands" : [
5273 { "kind" : "IdResult" }
5274 ],
5275 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5276 "version" : "None"
5277 },
5278 {
5279 "opname" : "OpTypeAvcImeSingleReferenceStreaminINTEL",
5280 "class" : "@exclude",
5281 "opcode" : 5709,
5282 "operands" : [
5283 { "kind" : "IdResult" }
5284 ],
5285 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5286 "version" : "None"
5287 },
5288 {
5289 "opname" : "OpTypeAvcImeDualReferenceStreaminINTEL",
5290 "class" : "@exclude",
5291 "opcode" : 5710,
5292 "operands" : [
5293 { "kind" : "IdResult" }
5294 ],
5295 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5296 "version" : "None"
5297 },
5298 {
5299 "opname" : "OpTypeAvcRefResultINTEL",
5300 "class" : "@exclude",
5301 "opcode" : 5711,
5302 "operands" : [
5303 { "kind" : "IdResult" }
5304 ],
5305 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5306 "version" : "None"
5307 },
5308 {
5309 "opname" : "OpTypeAvcSicResultINTEL",
5310 "class" : "@exclude",
5311 "opcode" : 5712,
5312 "operands" : [
5313 { "kind" : "IdResult" }
5314 ],
5315 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5316 "version" : "None"
5317 },
5318 {
5319 "opname" : "OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL",
5320 "class" : "@exclude",
5321 "opcode" : 5713,
5322 "operands" : [
5323 { "kind" : "IdResultType" },
5324 { "kind" : "IdResult" },
5325 { "kind" : "IdRef", "name" : "'Slice Type'" },
5326 { "kind" : "IdRef", "name" : "'Qp'" }
5327 ],
5328 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5329 "version" : "None"
5330 },
5331 {
5332 "opname" : "OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL",
5333 "class" : "@exclude",
5334 "opcode" : 5714,
5335 "operands" : [
5336 { "kind" : "IdResultType" },
5337 { "kind" : "IdResult" },
5338 { "kind" : "IdRef", "name" : "'Reference Base Penalty'" },
5339 { "kind" : "IdRef", "name" : "'Payload'" }
5340 ],
5341 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5342 "version" : "None"
5343 },
5344 {
5345 "opname" : "OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL",
5346 "class" : "@exclude",
5347 "opcode" : 5715,
5348 "operands" : [
5349 { "kind" : "IdResultType" },
5350 { "kind" : "IdResult" },
5351 { "kind" : "IdRef", "name" : "'Slice Type'" },
5352 { "kind" : "IdRef", "name" : "'Qp'" }
5353 ],
5354 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5355 "version" : "None"
5356 },
5357 {
5358 "opname" : "OpSubgroupAvcMceSetInterShapePenaltyINTEL",
5359 "class" : "@exclude",
5360 "opcode" : 5716,
5361 "operands" : [
5362 { "kind" : "IdResultType" },
5363 { "kind" : "IdResult" },
5364 { "kind" : "IdRef", "name" : "'Packed Shape Penalty'" },
5365 { "kind" : "IdRef", "name" : "'Payload'" }
5366 ],
5367 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5368 "version" : "None"
5369 },
5370 {
5371 "opname" : "OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL",
5372 "class" : "@exclude",
5373 "opcode" : 5717,
5374 "operands" : [
5375 { "kind" : "IdResultType" },
5376 { "kind" : "IdResult" },
5377 { "kind" : "IdRef", "name" : "'Slice Type'" },
5378 { "kind" : "IdRef", "name" : "'Qp'" }
5379 ],
5380 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5381 "version" : "None"
5382 },
5383 {
5384 "opname" : "OpSubgroupAvcMceSetInterDirectionPenaltyINTEL",
5385 "class" : "@exclude",
5386 "opcode" : 5718,
5387 "operands" : [
5388 { "kind" : "IdResultType" },
5389 { "kind" : "IdResult" },
5390 { "kind" : "IdRef", "name" : "'Direction Cost'" },
5391 { "kind" : "IdRef", "name" : "'Payload'" }
5392 ],
5393 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5394 "version" : "None"
5395 },
5396 {
5397 "opname" : "OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL",
5398 "class" : "@exclude",
5399 "opcode" : 5719,
5400 "operands" : [
5401 { "kind" : "IdResultType" },
5402 { "kind" : "IdResult" },
5403 { "kind" : "IdRef", "name" : "'Slice Type'" },
5404 { "kind" : "IdRef", "name" : "'Qp'" }
5405 ],
5406 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
5407 "version" : "None"
5408 },
5409 {
5410 "opname" : "OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL",
5411 "class" : "@exclude",
5412 "opcode" : 5720,
5413 "operands" : [
5414 { "kind" : "IdResultType" },
5415 { "kind" : "IdResult" },
5416 { "kind" : "IdRef", "name" : "'Slice Type'" },
5417 { "kind" : "IdRef", "name" : "'Qp'" }
5418 ],
5419 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5420 "version" : "None"
5421 },
5422 {
5423 "opname" : "OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL",
5424 "class" : "@exclude",
5425 "opcode" : 5721,
5426 "operands" : [
5427 { "kind" : "IdResultType" },
5428 { "kind" : "IdResult" }
5429 ],
5430 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5431 "version" : "None"
5432 },
5433 {
5434 "opname" : "OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL",
5435 "class" : "@exclude",
5436 "opcode" : 5722,
5437 "operands" : [
5438 { "kind" : "IdResultType" },
5439 { "kind" : "IdResult" }
5440 ],
5441 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5442 "version" : "None"
5443 },
5444 {
5445 "opname" : "OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL",
5446 "class" : "@exclude",
5447 "opcode" : 5723,
5448 "operands" : [
5449 { "kind" : "IdResultType" },
5450 { "kind" : "IdResult" }
5451 ],
5452 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5453 "version" : "None"
5454 },
5455 {
5456 "opname" : "OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL",
5457 "class" : "@exclude",
5458 "opcode" : 5724,
5459 "operands" : [
5460 { "kind" : "IdResultType" },
5461 { "kind" : "IdResult" },
5462 { "kind" : "IdRef", "name" : "'Packed Cost Center Delta'" },
5463 { "kind" : "IdRef", "name" : "'Packed Cost Table'" },
5464 { "kind" : "IdRef", "name" : "'Cost Precision'" },
5465 { "kind" : "IdRef", "name" : "'Payload'" }
5466 ],
5467 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5468 "version" : "None"
5469 },
5470 {
5471 "opname" : "OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL",
5472 "class" : "@exclude",
5473 "opcode" : 5725,
5474 "operands" : [
5475 { "kind" : "IdResultType" },
5476 { "kind" : "IdResult" },
5477 { "kind" : "IdRef", "name" : "'Slice Type'" },
5478 { "kind" : "IdRef", "name" : "'Qp'" }
5479 ],
5480 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
5481 "version" : "None"
5482 },
5483 {
5484 "opname" : "OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL",
5485 "class" : "@exclude",
5486 "opcode" : 5726,
5487 "operands" : [
5488 { "kind" : "IdResultType" },
5489 { "kind" : "IdResult" }
5490 ],
5491 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
5492 "version" : "None"
5493 },
5494 {
5495 "opname" : "OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL",
5496 "class" : "@exclude",
5497 "opcode" : 5727,
5498 "operands" : [
5499 { "kind" : "IdResultType" },
5500 { "kind" : "IdResult" }
5501 ],
5502 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
5503 "version" : "None"
5504 },
5505 {
5506 "opname" : "OpSubgroupAvcMceSetAcOnlyHaarINTEL",
5507 "class" : "@exclude",
5508 "opcode" : 5728,
5509 "operands" : [
5510 { "kind" : "IdResultType" },
5511 { "kind" : "IdResult" },
5512 { "kind" : "IdRef", "name" : "'Payload'" }
5513 ],
5514 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5515 "version" : "None"
5516 },
5517 {
5518 "opname" : "OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL",
5519 "class" : "@exclude",
5520 "opcode" : 5729,
5521 "operands" : [
5522 { "kind" : "IdResultType" },
5523 { "kind" : "IdResult" },
5524 { "kind" : "IdRef", "name" : "'Source Field Polarity'" },
5525 { "kind" : "IdRef", "name" : "'Payload'" }
5526 ],
5527 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5528 "version" : "None"
5529 },
5530 {
5531 "opname" : "OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL",
5532 "class" : "@exclude",
5533 "opcode" : 5730,
5534 "operands" : [
5535 { "kind" : "IdResultType" },
5536 { "kind" : "IdResult" },
5537 { "kind" : "IdRef", "name" : "'Reference Field Polarity'" },
5538 { "kind" : "IdRef", "name" : "'Payload'" }
5539 ],
5540 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5541 "version" : "None"
5542 },
5543 {
5544 "opname" : "OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL",
5545 "class" : "@exclude",
5546 "opcode" : 5731,
5547 "operands" : [
5548 { "kind" : "IdResultType" },
5549 { "kind" : "IdResult" },
5550 { "kind" : "IdRef", "name" : "'Forward Reference Field Polarity'" },
5551 { "kind" : "IdRef", "name" : "'Backward Reference Field Polarity'" },
5552 { "kind" : "IdRef", "name" : "'Payload'" }
5553 ],
5554 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5555 "version" : "None"
5556 },
5557 {
5558 "opname" : "OpSubgroupAvcMceConvertToImePayloadINTEL",
5559 "class" : "@exclude",
5560 "opcode" : 5732,
5561 "operands" : [
5562 { "kind" : "IdResultType" },
5563 { "kind" : "IdResult" },
5564 { "kind" : "IdRef", "name" : "'Payload'" }
5565 ],
5566 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5567 "version" : "None"
5568 },
5569 {
5570 "opname" : "OpSubgroupAvcMceConvertToImeResultINTEL",
5571 "class" : "@exclude",
5572 "opcode" : 5733,
5573 "operands" : [
5574 { "kind" : "IdResultType" },
5575 { "kind" : "IdResult" },
5576 { "kind" : "IdRef", "name" : "'Payload'" }
5577 ],
5578 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5579 "version" : "None"
5580 },
5581 {
5582 "opname" : "OpSubgroupAvcMceConvertToRefPayloadINTEL",
5583 "class" : "@exclude",
5584 "opcode" : 5734,
5585 "operands" : [
5586 { "kind" : "IdResultType" },
5587 { "kind" : "IdResult" },
5588 { "kind" : "IdRef", "name" : "'Payload'" }
5589 ],
5590 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5591 "version" : "None"
5592 },
5593 {
5594 "opname" : "OpSubgroupAvcMceConvertToRefResultINTEL",
5595 "class" : "@exclude",
5596 "opcode" : 5735,
5597 "operands" : [
5598 { "kind" : "IdResultType" },
5599 { "kind" : "IdResult" },
5600 { "kind" : "IdRef", "name" : "'Payload'" }
5601 ],
5602 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5603 "version" : "None"
5604 },
5605 {
5606 "opname" : "OpSubgroupAvcMceConvertToSicPayloadINTEL",
5607 "class" : "@exclude",
5608 "opcode" : 5736,
5609 "operands" : [
5610 { "kind" : "IdResultType" },
5611 { "kind" : "IdResult" },
5612 { "kind" : "IdRef", "name" : "'Payload'" }
5613 ],
5614 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5615 "version" : "None"
5616 },
5617 {
5618 "opname" : "OpSubgroupAvcMceConvertToSicResultINTEL",
5619 "class" : "@exclude",
5620 "opcode" : 5737,
5621 "operands" : [
5622 { "kind" : "IdResultType" },
5623 { "kind" : "IdResult" },
5624 { "kind" : "IdRef", "name" : "'Payload'" }
5625 ],
5626 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5627 "version" : "None"
5628 },
5629 {
5630 "opname" : "OpSubgroupAvcMceGetMotionVectorsINTEL",
5631 "class" : "@exclude",
5632 "opcode" : 5738,
5633 "operands" : [
5634 { "kind" : "IdResultType" },
5635 { "kind" : "IdResult" },
5636 { "kind" : "IdRef", "name" : "'Payload'" }
5637 ],
5638 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5639 "version" : "None"
5640 },
5641 {
5642 "opname" : "OpSubgroupAvcMceGetInterDistortionsINTEL",
5643 "class" : "@exclude",
5644 "opcode" : 5739,
5645 "operands" : [
5646 { "kind" : "IdResultType" },
5647 { "kind" : "IdResult" },
5648 { "kind" : "IdRef", "name" : "'Payload'" }
5649 ],
5650 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5651 "version" : "None"
5652 },
5653 {
5654 "opname" : "OpSubgroupAvcMceGetBestInterDistortionsINTEL",
5655 "class" : "@exclude",
5656 "opcode" : 5740,
5657 "operands" : [
5658 { "kind" : "IdResultType" },
5659 { "kind" : "IdResult" },
5660 { "kind" : "IdRef", "name" : "'Payload'" }
5661 ],
5662 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5663 "version" : "None"
5664 },
5665 {
5666 "opname" : "OpSubgroupAvcMceGetInterMajorShapeINTEL",
5667 "class" : "@exclude",
5668 "opcode" : 5741,
5669 "operands" : [
5670 { "kind" : "IdResultType" },
5671 { "kind" : "IdResult" },
5672 { "kind" : "IdRef", "name" : "'Payload'" }
5673 ],
5674 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5675 "version" : "None"
5676 },
5677 {
5678 "opname" : "OpSubgroupAvcMceGetInterMinorShapeINTEL",
5679 "class" : "@exclude",
5680 "opcode" : 5742,
5681 "operands" : [
5682 { "kind" : "IdResultType" },
5683 { "kind" : "IdResult" },
5684 { "kind" : "IdRef", "name" : "'Payload'" }
5685 ],
5686 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5687 "version" : "None"
5688 },
5689 {
5690 "opname" : "OpSubgroupAvcMceGetInterDirectionsINTEL",
5691 "class" : "@exclude",
5692 "opcode" : 5743,
5693 "operands" : [
5694 { "kind" : "IdResultType" },
5695 { "kind" : "IdResult" },
5696 { "kind" : "IdRef", "name" : "'Payload'" }
5697 ],
5698 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5699 "version" : "None"
5700 },
5701 {
5702 "opname" : "OpSubgroupAvcMceGetInterMotionVectorCountINTEL",
5703 "class" : "@exclude",
5704 "opcode" : 5744,
5705 "operands" : [
5706 { "kind" : "IdResultType" },
5707 { "kind" : "IdResult" },
5708 { "kind" : "IdRef", "name" : "'Payload'" }
5709 ],
5710 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5711 "version" : "None"
5712 },
5713 {
5714 "opname" : "OpSubgroupAvcMceGetInterReferenceIdsINTEL",
5715 "class" : "@exclude",
5716 "opcode" : 5745,
5717 "operands" : [
5718 { "kind" : "IdResultType" },
5719 { "kind" : "IdResult" },
5720 { "kind" : "IdRef", "name" : "'Payload'" }
5721 ],
5722 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5723 "version" : "None"
5724 },
5725 {
5726 "opname" : "OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL",
5727 "class" : "@exclude",
5728 "opcode" : 5746,
5729 "operands" : [
5730 { "kind" : "IdResultType" },
5731 { "kind" : "IdResult" },
5732 { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
5733 { "kind" : "IdRef", "name" : "'Packed Reference Parameter Field Polarities'" },
5734 { "kind" : "IdRef", "name" : "'Payload'" }
5735 ],
5736 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5737 "version" : "None"
5738 },
5739 {
5740 "opname" : "OpSubgroupAvcImeInitializeINTEL",
5741 "class" : "@exclude",
5742 "opcode" : 5747,
5743 "operands" : [
5744 { "kind" : "IdResultType" },
5745 { "kind" : "IdResult" },
5746 { "kind" : "IdRef", "name" : "'Src Coord'" },
5747 { "kind" : "IdRef", "name" : "'Partition Mask'" },
5748 { "kind" : "IdRef", "name" : "'SAD Adjustment'" }
5749 ],
5750 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5751 "version" : "None"
5752 },
5753 {
5754 "opname" : "OpSubgroupAvcImeSetSingleReferenceINTEL",
5755 "class" : "@exclude",
5756 "opcode" : 5748,
5757 "operands" : [
5758 { "kind" : "IdResultType" },
5759 { "kind" : "IdResult" },
5760 { "kind" : "IdRef", "name" : "'Ref Offset'" },
5761 { "kind" : "IdRef", "name" : "'Search Window Config'" },
5762 { "kind" : "IdRef", "name" : "'Payload'" }
5763 ],
5764 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5765 "version" : "None"
5766 },
5767 {
5768 "opname" : "OpSubgroupAvcImeSetDualReferenceINTEL",
5769 "class" : "@exclude",
5770 "opcode" : 5749,
5771 "operands" : [
5772 { "kind" : "IdResultType" },
5773 { "kind" : "IdResult" },
5774 { "kind" : "IdRef", "name" : "'Fwd Ref Offset'" },
5775 { "kind" : "IdRef", "name" : "'Bwd Ref Offset'" },
5776 { "kind" : "IdRef", "name" : "'id> Search Window Config'" },
5777 { "kind" : "IdRef", "name" : "'Payload'" }
5778 ],
5779 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5780 "version" : "None"
5781 },
5782 {
5783 "opname" : "OpSubgroupAvcImeRefWindowSizeINTEL",
5784 "class" : "@exclude",
5785 "opcode" : 5750,
5786 "operands" : [
5787 { "kind" : "IdResultType" },
5788 { "kind" : "IdResult" },
5789 { "kind" : "IdRef", "name" : "'Search Window Config'" },
5790 { "kind" : "IdRef", "name" : "'Dual Ref'" }
5791 ],
5792 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5793 "version" : "None"
5794 },
5795 {
5796 "opname" : "OpSubgroupAvcImeAdjustRefOffsetINTEL",
5797 "class" : "@exclude",
5798 "opcode" : 5751,
5799 "operands" : [
5800 { "kind" : "IdResultType" },
5801 { "kind" : "IdResult" },
5802 { "kind" : "IdRef", "name" : "'Ref Offset'" },
5803 { "kind" : "IdRef", "name" : "'Src Coord'" },
5804 { "kind" : "IdRef", "name" : "'Ref Window Size'" },
5805 { "kind" : "IdRef", "name" : "'Image Size'" }
5806 ],
5807 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5808 "version" : "None"
5809 },
5810 {
5811 "opname" : "OpSubgroupAvcImeConvertToMcePayloadINTEL",
5812 "class" : "@exclude",
5813 "opcode" : 5752,
5814 "operands" : [
5815 { "kind" : "IdResultType" },
5816 { "kind" : "IdResult" },
5817 { "kind" : "IdRef", "name" : "'Payload'" }
5818 ],
5819 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5820 "version" : "None"
5821 },
5822 {
5823 "opname" : "OpSubgroupAvcImeSetMaxMotionVectorCountINTEL",
5824 "class" : "@exclude",
5825 "opcode" : 5753,
5826 "operands" : [
5827 { "kind" : "IdResultType" },
5828 { "kind" : "IdResult" },
5829 { "kind" : "IdRef", "name" : "'Max Motion Vector Count'" },
5830 { "kind" : "IdRef", "name" : "'Payload'" }
5831 ],
5832 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5833 "version" : "None"
5834 },
5835 {
5836 "opname" : "OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL",
5837 "class" : "@exclude",
5838 "opcode" : 5754,
5839 "operands" : [
5840 { "kind" : "IdResultType" },
5841 { "kind" : "IdResult" },
5842 { "kind" : "IdRef", "name" : "'Payload'" }
5843 ],
5844 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5845 "version" : "None"
5846 },
5847 {
5848 "opname" : "OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL",
5849 "class" : "@exclude",
5850 "opcode" : 5755,
5851 "operands" : [
5852 { "kind" : "IdResultType" },
5853 { "kind" : "IdResult" },
5854 { "kind" : "IdRef", "name" : "'Threshold'" },
5855 { "kind" : "IdRef", "name" : "'Payload'" }
5856 ],
5857 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5858 "version" : "None"
5859 },
5860 {
5861 "opname" : "OpSubgroupAvcImeSetWeightedSadINTEL",
5862 "class" : "@exclude",
5863 "opcode" : 5756,
5864 "operands" : [
5865 { "kind" : "IdResultType" },
5866 { "kind" : "IdResult" },
5867 { "kind" : "IdRef", "name" : "'Packed Sad Weights'" },
5868 { "kind" : "IdRef", "name" : "'Payload'" }
5869 ],
5870 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5871 "version" : "None"
5872 },
5873 {
5874 "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL",
5875 "class" : "@exclude",
5876 "opcode" : 5757,
5877 "operands" : [
5878 { "kind" : "IdResultType" },
5879 { "kind" : "IdResult" },
5880 { "kind" : "IdRef", "name" : "'Src Image'" },
5881 { "kind" : "IdRef", "name" : "'Ref Image'" },
5882 { "kind" : "IdRef", "name" : "'Payload'" }
5883 ],
5884 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5885 "version" : "None"
5886 },
5887 {
5888 "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceINTEL",
5889 "class" : "@exclude",
5890 "opcode" : 5758,
5891 "operands" : [
5892 { "kind" : "IdResultType" },
5893 { "kind" : "IdResult" },
5894 { "kind" : "IdRef", "name" : "'Src Image'" },
5895 { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
5896 { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
5897 { "kind" : "IdRef", "name" : "'Payload'" }
5898 ],
5899 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5900 "version" : "None"
5901 },
5902 {
5903 "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL",
5904 "class" : "@exclude",
5905 "opcode" : 5759,
5906 "operands" : [
5907 { "kind" : "IdResultType" },
5908 { "kind" : "IdResult" },
5909 { "kind" : "IdRef", "name" : "'Src Image'" },
5910 { "kind" : "IdRef", "name" : "'Ref Image'" },
5911 { "kind" : "IdRef", "name" : "'Payload'" },
5912 { "kind" : "IdRef", "name" : "'Streamin Components'" }
5913 ],
5914 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5915 "version" : "None"
5916 },
5917 {
5918 "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL",
5919 "class" : "@exclude",
5920 "opcode" : 5760,
5921 "operands" : [
5922 { "kind" : "IdResultType" },
5923 { "kind" : "IdResult" },
5924 { "kind" : "IdRef", "name" : "'Src Image'" },
5925 { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
5926 { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
5927 { "kind" : "IdRef", "name" : "'Payload'" },
5928 { "kind" : "IdRef", "name" : "'Streamin Components'" }
5929 ],
5930 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5931 "version" : "None"
5932 },
5933 {
5934 "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL",
5935 "class" : "@exclude",
5936 "opcode" : 5761,
5937 "operands" : [
5938 { "kind" : "IdResultType" },
5939 { "kind" : "IdResult" },
5940 { "kind" : "IdRef", "name" : "'Src Image'" },
5941 { "kind" : "IdRef", "name" : "'Ref Image'" },
5942 { "kind" : "IdRef", "name" : "'Payload'" }
5943 ],
5944 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5945 "version" : "None"
5946 },
5947 {
5948 "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL",
5949 "class" : "@exclude",
5950 "opcode" : 5762,
5951 "operands" : [
5952 { "kind" : "IdResultType" },
5953 { "kind" : "IdResult" },
5954 { "kind" : "IdRef", "name" : "'Src Image'" },
5955 { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
5956 { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
5957 { "kind" : "IdRef", "name" : "'Payload'" }
5958 ],
5959 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5960 "version" : "None"
5961 },
5962 {
5963 "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL",
5964 "class" : "@exclude",
5965 "opcode" : 5763,
5966 "operands" : [
5967 { "kind" : "IdResultType" },
5968 { "kind" : "IdResult" },
5969 { "kind" : "IdRef", "name" : "'Src Image'" },
5970 { "kind" : "IdRef", "name" : "'Ref Image'" },
5971 { "kind" : "IdRef", "name" : "'Payload'" },
5972 { "kind" : "IdRef", "name" : "'Streamin Components'" }
5973 ],
5974 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5975 "version" : "None"
5976 },
5977 {
5978 "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL",
5979 "class" : "@exclude",
5980 "opcode" : 5764,
5981 "operands" : [
5982 { "kind" : "IdResultType" },
5983 { "kind" : "IdResult" },
5984 { "kind" : "IdRef", "name" : "'Src Image'" },
5985 { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
5986 { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
5987 { "kind" : "IdRef", "name" : "'Payload'" },
5988 { "kind" : "IdRef", "name" : "'Streamin Components'" }
5989 ],
5990 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5991 "version" : "None"
5992 },
5993 {
5994 "opname" : "OpSubgroupAvcImeConvertToMceResultINTEL",
5995 "class" : "@exclude",
5996 "opcode" : 5765,
5997 "operands" : [
5998 { "kind" : "IdResultType" },
5999 { "kind" : "IdResult" },
6000 { "kind" : "IdRef", "name" : "'Payload'" }
6001 ],
6002 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6003 "version" : "None"
6004 },
6005 {
6006 "opname" : "OpSubgroupAvcImeGetSingleReferenceStreaminINTEL",
6007 "class" : "@exclude",
6008 "opcode" : 5766,
6009 "operands" : [
6010 { "kind" : "IdResultType" },
6011 { "kind" : "IdResult" },
6012 { "kind" : "IdRef", "name" : "'Payload'" }
6013 ],
6014 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6015 "version" : "None"
6016 },
6017 {
6018 "opname" : "OpSubgroupAvcImeGetDualReferenceStreaminINTEL",
6019 "class" : "@exclude",
6020 "opcode" : 5767,
6021 "operands" : [
6022 { "kind" : "IdResultType" },
6023 { "kind" : "IdResult" },
6024 { "kind" : "IdRef", "name" : "'Payload'" }
6025 ],
6026 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6027 "version" : "None"
6028 },
6029 {
6030 "opname" : "OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL",
6031 "class" : "@exclude",
6032 "opcode" : 5768,
6033 "operands" : [
6034 { "kind" : "IdResultType" },
6035 { "kind" : "IdResult" },
6036 { "kind" : "IdRef", "name" : "'Payload'" }
6037 ],
6038 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6039 "version" : "None"
6040 },
6041 {
6042 "opname" : "OpSubgroupAvcImeStripDualReferenceStreamoutINTEL",
6043 "class" : "@exclude",
6044 "opcode" : 5769,
6045 "operands" : [
6046 { "kind" : "IdResultType" },
6047 { "kind" : "IdResult" },
6048 { "kind" : "IdRef", "name" : "'Payload'" }
6049 ],
6050 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6051 "version" : "None"
6052 },
6053 {
6054 "opname" : "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL",
6055 "class" : "@exclude",
6056 "opcode" : 5770,
6057 "operands" : [
6058 { "kind" : "IdResultType" },
6059 { "kind" : "IdResult" },
6060 { "kind" : "IdRef", "name" : "'Payload'" },
6061 { "kind" : "IdRef", "name" : "'Major Shape'" }
6062 ],
6063 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6064 "version" : "None"
6065 },
6066 {
6067 "opname" : "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL",
6068 "class" : "@exclude",
6069 "opcode" : 5771,
6070 "operands" : [
6071 { "kind" : "IdResultType" },
6072 { "kind" : "IdResult" },
6073 { "kind" : "IdRef", "name" : "'Payload'" },
6074 { "kind" : "IdRef", "name" : "'Major Shape'" }
6075 ],
6076 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6077 "version" : "None"
6078 },
6079 {
6080 "opname" : "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL",
6081 "class" : "@exclude",
6082 "opcode" : 5772,
6083 "operands" : [
6084 { "kind" : "IdResultType" },
6085 { "kind" : "IdResult" },
6086 { "kind" : "IdRef", "name" : "'Payload'" },
6087 { "kind" : "IdRef", "name" : "'Major Shape'" }
6088 ],
6089 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6090 "version" : "None"
6091 },
6092 {
6093 "opname" : "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL",
6094 "class" : "@exclude",
6095 "opcode" : 5773,
6096 "operands" : [
6097 { "kind" : "IdResultType" },
6098 { "kind" : "IdResult" },
6099 { "kind" : "IdRef", "name" : "'Payload'" },
6100 { "kind" : "IdRef", "name" : "'Major Shape'" },
6101 { "kind" : "IdRef", "name" : "'Direction'" }
6102 ],
6103 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6104 "version" : "None"
6105 },
6106 {
6107 "opname" : "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL",
6108 "class" : "@exclude",
6109 "opcode" : 5774,
6110 "operands" : [
6111 { "kind" : "IdResultType" },
6112 { "kind" : "IdResult" },
6113 { "kind" : "IdRef", "name" : "'Payload'" },
6114 { "kind" : "IdRef", "name" : "'Major Shape'" },
6115 { "kind" : "IdRef", "name" : "'Direction'" }
6116 ],
6117 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6118 "version" : "None"
6119 },
6120 {
6121 "opname" : "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL",
6122 "class" : "@exclude",
6123 "opcode" : 5775,
6124 "operands" : [
6125 { "kind" : "IdResultType" },
6126 { "kind" : "IdResult" },
6127 { "kind" : "IdRef", "name" : "'Payload'" },
6128 { "kind" : "IdRef", "name" : "'Major Shape'" },
6129 { "kind" : "IdRef", "name" : "'Direction'" }
6130 ],
6131 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6132 "version" : "None"
6133 },
6134 {
6135 "opname" : "OpSubgroupAvcImeGetBorderReachedINTEL",
6136 "class" : "@exclude",
6137 "opcode" : 5776,
6138 "operands" : [
6139 { "kind" : "IdResultType" },
6140 { "kind" : "IdResult" },
6141 { "kind" : "IdRef", "name" : "'Image Select'" },
6142 { "kind" : "IdRef", "name" : "'Payload'" }
6143 ],
6144 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6145 "version" : "None"
6146 },
6147 {
6148 "opname" : "OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL",
6149 "class" : "@exclude",
6150 "opcode" : 5777,
6151 "operands" : [
6152 { "kind" : "IdResultType" },
6153 { "kind" : "IdResult" },
6154 { "kind" : "IdRef", "name" : "'Payload'" }
6155 ],
6156 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6157 "version" : "None"
6158 },
6159 {
6160 "opname" : "OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL",
6161 "class" : "@exclude",
6162 "opcode" : 5778,
6163 "operands" : [
6164 { "kind" : "IdResultType" },
6165 { "kind" : "IdResult" },
6166 { "kind" : "IdRef", "name" : "'Payload'" }
6167 ],
6168 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6169 "version" : "None"
6170 },
6171 {
6172 "opname" : "OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL",
6173 "class" : "@exclude",
6174 "opcode" : 5779,
6175 "operands" : [
6176 { "kind" : "IdResultType" },
6177 { "kind" : "IdResult" },
6178 { "kind" : "IdRef", "name" : "'Payload'" }
6179 ],
6180 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6181 "version" : "None"
6182 },
6183 {
6184 "opname" : "OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL",
6185 "class" : "@exclude",
6186 "opcode" : 5780,
6187 "operands" : [
6188 { "kind" : "IdResultType" },
6189 { "kind" : "IdResult" },
6190 { "kind" : "IdRef", "name" : "'Payload'" }
6191 ],
6192 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6193 "version" : "None"
6194 },
6195 {
6196 "opname" : "OpSubgroupAvcFmeInitializeINTEL",
6197 "class" : "@exclude",
6198 "opcode" : 5781,
6199 "operands" : [
6200 { "kind" : "IdResultType" },
6201 { "kind" : "IdResult" },
6202 { "kind" : "IdRef", "name" : "'Src Coord'" },
6203 { "kind" : "IdRef", "name" : "'Motion Vectors'" },
6204 { "kind" : "IdRef", "name" : "'Major Shapes'" },
6205 { "kind" : "IdRef", "name" : "'Minor Shapes'" },
6206 { "kind" : "IdRef", "name" : "'Direction'" },
6207 { "kind" : "IdRef", "name" : "'Pixel Resolution'" },
6208 { "kind" : "IdRef", "name" : "'Sad Adjustment'" }
6209 ],
6210 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6211 "version" : "None"
6212 },
6213 {
6214 "opname" : "OpSubgroupAvcBmeInitializeINTEL",
6215 "class" : "@exclude",
6216 "opcode" : 5782,
6217 "operands" : [
6218 { "kind" : "IdResultType" },
6219 { "kind" : "IdResult" },
6220 { "kind" : "IdRef", "name" : "'Src Coord'" },
6221 { "kind" : "IdRef", "name" : "'Motion Vectors'" },
6222 { "kind" : "IdRef", "name" : "'Major Shapes'" },
6223 { "kind" : "IdRef", "name" : "'Minor Shapes'" },
6224 { "kind" : "IdRef", "name" : "'Direction'" },
6225 { "kind" : "IdRef", "name" : "'Pixel Resolution'" },
6226 { "kind" : "IdRef", "name" : "'Bidirectional Weight'" },
6227 { "kind" : "IdRef", "name" : "'Sad Adjustment'" }
6228 ],
6229 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6230 "version" : "None"
6231 },
6232 {
6233 "opname" : "OpSubgroupAvcRefConvertToMcePayloadINTEL",
6234 "class" : "@exclude",
6235 "opcode" : 5783,
6236 "operands" : [
6237 { "kind" : "IdResultType" },
6238 { "kind" : "IdResult" },
6239 { "kind" : "IdRef", "name" : "'Payload'" }
6240 ],
6241 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6242 "version" : "None"
6243 },
6244 {
6245 "opname" : "OpSubgroupAvcRefSetBidirectionalMixDisableINTEL",
6246 "class" : "@exclude",
6247 "opcode" : 5784,
6248 "operands" : [
6249 { "kind" : "IdResultType" },
6250 { "kind" : "IdResult" },
6251 { "kind" : "IdRef", "name" : "'Payload'" }
6252 ],
6253 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6254 "version" : "None"
6255 },
6256 {
6257 "opname" : "OpSubgroupAvcRefSetBilinearFilterEnableINTEL",
6258 "class" : "@exclude",
6259 "opcode" : 5785,
6260 "operands" : [
6261 { "kind" : "IdResultType" },
6262 { "kind" : "IdResult" },
6263 { "kind" : "IdRef", "name" : "'Payload'" }
6264 ],
6265 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6266 "version" : "None"
6267 },
6268 {
6269 "opname" : "OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL",
6270 "class" : "@exclude",
6271 "opcode" : 5786,
6272 "operands" : [
6273 { "kind" : "IdResultType" },
6274 { "kind" : "IdResult" },
6275 { "kind" : "IdRef", "name" : "'Src Image'" },
6276 { "kind" : "IdRef", "name" : "'Ref Image'" },
6277 { "kind" : "IdRef", "name" : "'Payload'" }
6278 ],
6279 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6280 "version" : "None"
6281 },
6282 {
6283 "opname" : "OpSubgroupAvcRefEvaluateWithDualReferenceINTEL",
6284 "class" : "@exclude",
6285 "opcode" : 5787,
6286 "operands" : [
6287 { "kind" : "IdResultType" },
6288 { "kind" : "IdResult" },
6289 { "kind" : "IdRef", "name" : "'Src Image'" },
6290 { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
6291 { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
6292 { "kind" : "IdRef", "name" : "'Payload'" }
6293 ],
6294 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6295 "version" : "None"
6296 },
6297 {
6298 "opname" : "OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL",
6299 "class" : "@exclude",
6300 "opcode" : 5788,
6301 "operands" : [
6302 { "kind" : "IdResultType" },
6303 { "kind" : "IdResult" },
6304 { "kind" : "IdRef", "name" : "'Src Image'" },
6305 { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
6306 { "kind" : "IdRef", "name" : "'Payload'" }
6307 ],
6308 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6309 "version" : "None"
6310 },
6311 {
6312 "opname" : "OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL",
6313 "class" : "@exclude",
6314 "opcode" : 5789,
6315 "operands" : [
6316 { "kind" : "IdResultType" },
6317 { "kind" : "IdResult" },
6318 { "kind" : "IdRef", "name" : "'Src Image'" },
6319 { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
6320 { "kind" : "IdRef", "name" : "'Packed Reference Field Polarities'" },
6321 { "kind" : "IdRef", "name" : "'Payload'" }
6322 ],
6323 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6324 "version" : "None"
6325 },
6326 {
6327 "opname" : "OpSubgroupAvcRefConvertToMceResultINTEL",
6328 "class" : "@exclude",
6329 "opcode" : 5790,
6330 "operands" : [
6331 { "kind" : "IdResultType" },
6332 { "kind" : "IdResult" },
6333 { "kind" : "IdRef", "name" : "'Payload'" }
6334 ],
6335 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6336 "version" : "None"
6337 },
6338 {
6339 "opname" : "OpSubgroupAvcSicInitializeINTEL",
6340 "class" : "@exclude",
6341 "opcode" : 5791,
6342 "operands" : [
6343 { "kind" : "IdResultType" },
6344 { "kind" : "IdResult" },
6345 { "kind" : "IdRef", "name" : "'Src Coord'" }
6346 ],
6347 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6348 "version" : "None"
6349 },
6350 {
6351 "opname" : "OpSubgroupAvcSicConfigureSkcINTEL",
6352 "class" : "@exclude",
6353 "opcode" : 5792,
6354 "operands" : [
6355 { "kind" : "IdResultType" },
6356 { "kind" : "IdResult" },
6357 { "kind" : "IdRef", "name" : "'Skip Block Partition Type'" },
6358 { "kind" : "IdRef", "name" : "'Skip Motion Vector Mask'" },
6359 { "kind" : "IdRef", "name" : "'Motion Vectors'" },
6360 { "kind" : "IdRef", "name" : "'Bidirectional Weight'" },
6361 { "kind" : "IdRef", "name" : "'Sad Adjustment'" },
6362 { "kind" : "IdRef", "name" : "'Payload'" }
6363 ],
6364 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6365 "version" : "None"
6366 },
6367 {
6368 "opname" : "OpSubgroupAvcSicConfigureIpeLumaINTEL",
6369 "class" : "@exclude",
6370 "opcode" : 5793,
6371 "operands" : [
6372 { "kind" : "IdResultType" },
6373 { "kind" : "IdResult" },
6374 { "kind" : "IdRef", "name" : "'Luma Intra Partition Mask'" },
6375 { "kind" : "IdRef", "name" : "'Intra Neighbour Availabilty'" },
6376 { "kind" : "IdRef", "name" : "'Left Edge Luma Pixels'" },
6377 { "kind" : "IdRef", "name" : "'Upper Left Corner Luma Pixel'" },
6378 { "kind" : "IdRef", "name" : "'Upper Edge Luma Pixels'" },
6379 { "kind" : "IdRef", "name" : "'Upper Right Edge Luma Pixels'" },
6380 { "kind" : "IdRef", "name" : "'Sad Adjustment'" },
6381 { "kind" : "IdRef", "name" : "'Payload'" }
6382 ],
6383 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6384 "version" : "None"
6385 },
6386 {
6387 "opname" : "OpSubgroupAvcSicConfigureIpeLumaChromaINTEL",
6388 "class" : "@exclude",
6389 "opcode" : 5794,
6390 "operands" : [
6391 { "kind" : "IdResultType" },
6392 { "kind" : "IdResult" },
6393 { "kind" : "IdRef", "name" : "'Luma Intra Partition Mask'" },
6394 { "kind" : "IdRef", "name" : "'Intra Neighbour Availabilty'" },
6395 { "kind" : "IdRef", "name" : "'Left Edge Luma Pixels'" },
6396 { "kind" : "IdRef", "name" : "'Upper Left Corner Luma Pixel'" },
6397 { "kind" : "IdRef", "name" : "'Upper Edge Luma Pixels'" },
6398 { "kind" : "IdRef", "name" : "'Upper Right Edge Luma Pixels'" },
6399 { "kind" : "IdRef", "name" : "'Left Edge Chroma Pixels'" },
6400 { "kind" : "IdRef", "name" : "'Upper Left Corner Chroma Pixel'" },
6401 { "kind" : "IdRef", "name" : "'Upper Edge Chroma Pixels'" },
6402 { "kind" : "IdRef", "name" : "'Sad Adjustment'" },
6403 { "kind" : "IdRef", "name" : "'Payload'" }
6404 ],
6405 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
6406 "version" : "None"
6407 },
6408 {
6409 "opname" : "OpSubgroupAvcSicGetMotionVectorMaskINTEL",
6410 "class" : "@exclude",
6411 "opcode" : 5795,
6412 "operands" : [
6413 { "kind" : "IdResultType" },
6414 { "kind" : "IdResult" },
6415 { "kind" : "IdRef", "name" : "'Skip Block Partition Type'" },
6416 { "kind" : "IdRef", "name" : "'Direction'" }
6417 ],
6418 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6419 "version" : "None"
6420 },
6421 {
6422 "opname" : "OpSubgroupAvcSicConvertToMcePayloadINTEL",
6423 "class" : "@exclude",
6424 "opcode" : 5796,
6425 "operands" : [
6426 { "kind" : "IdResultType" },
6427 { "kind" : "IdResult" },
6428 { "kind" : "IdRef", "name" : "'Payload'" }
6429 ],
6430 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6431 "version" : "None"
6432 },
6433 {
6434 "opname" : "OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL",
6435 "class" : "@exclude",
6436 "opcode" : 5797,
6437 "operands" : [
6438 { "kind" : "IdResultType" },
6439 { "kind" : "IdResult" },
6440 { "kind" : "IdRef", "name" : "'Packed Shape Penalty'" },
6441 { "kind" : "IdRef", "name" : "'Payload'" }
6442 ],
6443 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6444 "version" : "None"
6445 },
6446 {
6447 "opname" : "OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL",
6448 "class" : "@exclude",
6449 "opcode" : 5798,
6450 "operands" : [
6451 { "kind" : "IdResultType" },
6452 { "kind" : "IdResult" },
6453 { "kind" : "IdRef", "name" : "'Luma Mode Penalty'" },
6454 { "kind" : "IdRef", "name" : "'Luma Packed Neighbor Modes'" },
6455 { "kind" : "IdRef", "name" : "'Luma Packed Non Dc Penalty'" },
6456 { "kind" : "IdRef", "name" : "'Payload'" }
6457 ],
6458 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6459 "version" : "None"
6460 },
6461 {
6462 "opname" : "OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL",
6463 "class" : "@exclude",
6464 "opcode" : 5799,
6465 "operands" : [
6466 { "kind" : "IdResultType" },
6467 { "kind" : "IdResult" },
6468 { "kind" : "IdRef", "name" : "'Chroma Mode Base Penalty'" },
6469 { "kind" : "IdRef", "name" : "'Payload'" }
6470 ],
6471 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
6472 "version" : "None"
6473 },
6474 {
6475 "opname" : "OpSubgroupAvcSicSetBilinearFilterEnableINTEL",
6476 "class" : "@exclude",
6477 "opcode" : 5800,
6478 "operands" : [
6479 { "kind" : "IdResultType" },
6480 { "kind" : "IdResult" },
6481 { "kind" : "IdRef", "name" : "'Payload'" }
6482 ],
6483 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6484 "version" : "None"
6485 },
6486 {
6487 "opname" : "OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL",
6488 "class" : "@exclude",
6489 "opcode" : 5801,
6490 "operands" : [
6491 { "kind" : "IdResultType" },
6492 { "kind" : "IdResult" },
6493 { "kind" : "IdRef", "name" : "'Packed Sad Coefficients'" },
6494 { "kind" : "IdRef", "name" : "'Payload'" }
6495 ],
6496 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6497 "version" : "None"
6498 },
6499 {
6500 "opname" : "OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL",
6501 "class" : "@exclude",
6502 "opcode" : 5802,
6503 "operands" : [
6504 { "kind" : "IdResultType" },
6505 { "kind" : "IdResult" },
6506 { "kind" : "IdRef", "name" : "'Block Based Skip Type'" },
6507 { "kind" : "IdRef", "name" : "'Payload'" }
6508 ],
6509 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6510 "version" : "None"
6511 },
6512 {
6513 "opname" : "OpSubgroupAvcSicEvaluateIpeINTEL",
6514 "class" : "@exclude",
6515 "opcode" : 5803,
6516 "operands" : [
6517 { "kind" : "IdResultType" },
6518 { "kind" : "IdResult" },
6519 { "kind" : "IdRef", "name" : "'Src Image'" },
6520 { "kind" : "IdRef", "name" : "'Payload'" }
6521 ],
6522 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6523 "version" : "None"
6524 },
6525 {
6526 "opname" : "OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL",
6527 "class" : "@exclude",
6528 "opcode" : 5804,
6529 "operands" : [
6530 { "kind" : "IdResultType" },
6531 { "kind" : "IdResult" },
6532 { "kind" : "IdRef", "name" : "'Src Image'" },
6533 { "kind" : "IdRef", "name" : "'Ref Image'" },
6534 { "kind" : "IdRef", "name" : "'Payload'" }
6535 ],
6536 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6537 "version" : "None"
6538 },
6539 {
6540 "opname" : "OpSubgroupAvcSicEvaluateWithDualReferenceINTEL",
6541 "class" : "@exclude",
6542 "opcode" : 5805,
6543 "operands" : [
6544 { "kind" : "IdResultType" },
6545 { "kind" : "IdResult" },
6546 { "kind" : "IdRef", "name" : "'Src Image'" },
6547 { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
6548 { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
6549 { "kind" : "IdRef", "name" : "'Payload'" }
6550 ],
6551 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6552 "version" : "None"
6553 },
6554 {
6555 "opname" : "OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL",
6556 "class" : "@exclude",
6557 "opcode" : 5806,
6558 "operands" : [
6559 { "kind" : "IdResultType" },
6560 { "kind" : "IdResult" },
6561 { "kind" : "IdRef", "name" : "'Src Image'" },
6562 { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
6563 { "kind" : "IdRef", "name" : "'Payload'" }
6564 ],
6565 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6566 "version" : "None"
6567 },
6568 {
6569 "opname" : "OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL",
6570 "class" : "@exclude",
6571 "opcode" : 5807,
6572 "operands" : [
6573 { "kind" : "IdResultType" },
6574 { "kind" : "IdResult" },
6575 { "kind" : "IdRef", "name" : "'Src Image'" },
6576 { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
6577 { "kind" : "IdRef", "name" : "'Packed Reference Field Polarities'" },
6578 { "kind" : "IdRef", "name" : "'Payload'" }
6579 ],
6580 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6581 "version" : "None"
6582 },
6583 {
6584 "opname" : "OpSubgroupAvcSicConvertToMceResultINTEL",
6585 "class" : "@exclude",
6586 "opcode" : 5808,
6587 "operands" : [
6588 { "kind" : "IdResultType" },
6589 { "kind" : "IdResult" },
6590 { "kind" : "IdRef", "name" : "'Payload'" }
6591 ],
6592 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6593 "version" : "None"
6594 },
6595 {
6596 "opname" : "OpSubgroupAvcSicGetIpeLumaShapeINTEL",
6597 "class" : "@exclude",
6598 "opcode" : 5809,
6599 "operands" : [
6600 { "kind" : "IdResultType" },
6601 { "kind" : "IdResult" },
6602 { "kind" : "IdRef", "name" : "'Payload'" }
6603 ],
6604 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6605 "version" : "None"
6606 },
6607 {
6608 "opname" : "OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL",
6609 "class" : "@exclude",
6610 "opcode" : 5810,
6611 "operands" : [
6612 { "kind" : "IdResultType" },
6613 { "kind" : "IdResult" },
6614 { "kind" : "IdRef", "name" : "'Payload'" }
6615 ],
6616 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6617 "version" : "None"
6618 },
6619 {
6620 "opname" : "OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL",
6621 "class" : "@exclude",
6622 "opcode" : 5811,
6623 "operands" : [
6624 { "kind" : "IdResultType" },
6625 { "kind" : "IdResult" },
6626 { "kind" : "IdRef", "name" : "'Payload'" }
6627 ],
6628 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6629 "version" : "None"
6630 },
6631 {
6632 "opname" : "OpSubgroupAvcSicGetPackedIpeLumaModesINTEL",
6633 "class" : "@exclude",
6634 "opcode" : 5812,
6635 "operands" : [
6636 { "kind" : "IdResultType" },
6637 { "kind" : "IdResult" },
6638 { "kind" : "IdRef", "name" : "'Payload'" }
6639 ],
6640 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6641 "version" : "None"
6642 },
6643 {
6644 "opname" : "OpSubgroupAvcSicGetIpeChromaModeINTEL",
6645 "class" : "@exclude",
6646 "opcode" : 5813,
6647 "operands" : [
6648 { "kind" : "IdResultType" },
6649 { "kind" : "IdResult" },
6650 { "kind" : "IdRef", "name" : "'Payload'" }
6651 ],
6652 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
6653 "version" : "None"
6654 },
6655 {
6656 "opname" : "OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL",
6657 "class" : "@exclude",
6658 "opcode" : 5814,
6659 "operands" : [
6660 { "kind" : "IdResultType" },
6661 { "kind" : "IdResult" },
6662 { "kind" : "IdRef", "name" : "'Payload'" }
6663 ],
6664 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6665 "version" : "None"
6666 },
6667 {
6668 "opname" : "OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL",
6669 "class" : "@exclude",
6670 "opcode" : 5815,
6671 "operands" : [
6672 { "kind" : "IdResultType" },
6673 { "kind" : "IdResult" },
6674 { "kind" : "IdRef", "name" : "'Payload'" }
6675 ],
6676 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6677 "version" : "None"
6678 },
6679 {
6680 "opname" : "OpSubgroupAvcSicGetInterRawSadsINTEL",
6681 "class" : "@exclude",
6682 "opcode" : 5816,
6683 "operands" : [
6684 { "kind" : "IdResultType" },
6685 { "kind" : "IdResult" },
6686 { "kind" : "IdRef", "name" : "'Payload'" }
6687 ],
6688 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6689 "version" : "None"
6690 },
6691 {
6692 "opname" : "OpLoopControlINTEL",
6693 "class" : "Reserved",
6694 "opcode" : 5887,
6695 "operands" : [
6696 { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Loop Control Parameters'" }
6697 ],
6698 "capabilities" : [ "UnstructuredLoopControlsINTEL" ],
6699 "extensions" : [ "SPV_INTEL_unstructured_loop_controls" ],
6700 "version" : "None"
6701 },
6702 {
6703 "opname" : "OpReadPipeBlockingINTEL",
6704 "class" : "Pipe",
6705 "opcode" : 5946,
6706 "operands" : [
6707 { "kind" : "IdResultType" },
6708 { "kind" : "IdResult" },
6709 { "kind" : "IdRef", "name" : "'Packet Size'" },
6710 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
6711 ],
6712 "capabilities" : [ "BlockingPipesINTEL" ],
6713 "extensions" : [ "SPV_INTEL_blocking_pipes" ],
6714 "version" : "None"
6715 },
6716 {
6717 "opname" : "OpWritePipeBlockingINTEL",
6718 "class" : "Pipe",
6719 "opcode" : 5947,
6720 "operands" : [
6721 { "kind" : "IdResultType" },
6722 { "kind" : "IdResult" },
6723 { "kind" : "IdRef", "name" : "'Packet Size'" },
6724 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
6725 ],
6726 "capabilities" : [ "BlockingPipesINTEL" ],
6727 "extensions" : [ "SPV_INTEL_blocking_pipes" ],
6728 "version" : "None"
6729 },
6730 {
6731 "opname" : "OpFPGARegINTEL",
6732 "class" : "Reserved",
6733 "opcode" : 5949,
6734 "operands" : [
6735 { "kind" : "IdResultType" },
6736 { "kind" : "IdResult" },
6737 { "kind" : "IdRef", "name" : "'Result'" },
6738 { "kind" : "IdRef", "name" : "'Input'" }
6739 ],
6740 "capabilities" : [ "FPGARegINTEL" ],
6741 "extensions" : [ "SPV_INTEL_fpga_reg" ],
6742 "version" : "None"
6743 },
6744 {
6745 "opname" : "OpRayQueryGetRayTMinKHR",
6746 "class" : "Reserved",
6747 "opcode" : 6016,
6748 "operands" : [
6749 { "kind" : "IdResultType" },
6750 { "kind" : "IdResult" },
6751 {
6752 "kind" : "IdRef",
6753 "name" : "'RayQuery'"
6754 }
6755 ],
6756 "capabilities" : [ "RayQueryProvisionalKHR" ],
6757 "extensions" : [ "SPV_KHR_ray_query" ],
6758 "version" : "None"
6759 },
6760 {
6761 "opname" : "OpRayQueryGetRayFlagsKHR",
6762 "class" : "Reserved",
6763 "opcode" : 6017,
6764 "operands" : [
6765 { "kind" : "IdResultType" },
6766 { "kind" : "IdResult" },
6767 {
6768 "kind" : "IdRef",
6769 "name" : "'RayQuery'"
6770 }
6771 ],
6772 "capabilities" : [ "RayQueryProvisionalKHR" ],
6773 "extensions" : [ "SPV_KHR_ray_query" ],
6774 "version" : "None"
6775 },
6776 {
6777 "opname" : "OpRayQueryGetIntersectionTKHR",
6778 "class" : "Reserved",
6779 "opcode" : 6018,
6780 "operands" : [
6781 { "kind" : "IdResultType" },
6782 { "kind" : "IdResult" },
6783 {
6784 "kind" : "IdRef",
6785 "name" : "'RayQuery'"
6786 },
6787 {
6788 "kind" : "IdRef",
6789 "name" : "'Intersection'"
6790 }
6791 ],
6792 "capabilities" : [ "RayQueryProvisionalKHR" ],
6793 "extensions" : [ "SPV_KHR_ray_query" ],
6794 "version" : "None"
6795 },
6796 {
6797 "opname" : "OpRayQueryGetIntersectionInstanceCustomIndexKHR",
6798 "class" : "Reserved",
6799 "opcode" : 6019,
6800 "operands" : [
6801 { "kind" : "IdResultType" },
6802 { "kind" : "IdResult" },
6803 {
6804 "kind" : "IdRef",
6805 "name" : "'RayQuery'"
6806 },
6807 {
6808 "kind" : "IdRef",
6809 "name" : "'Intersection'"
6810 }
6811 ],
6812 "capabilities" : [ "RayQueryProvisionalKHR" ],
6813 "extensions" : [ "SPV_KHR_ray_query" ],
6814 "version" : "None"
6815 },
6816 {
6817 "opname" : "OpRayQueryGetIntersectionInstanceIdKHR",
6818 "class" : "Reserved",
6819 "opcode" : 6020,
6820 "operands" : [
6821 { "kind" : "IdResultType" },
6822 { "kind" : "IdResult" },
6823 {
6824 "kind" : "IdRef",
6825 "name" : "'RayQuery'"
6826 },
6827 {
6828 "kind" : "IdRef",
6829 "name" : "'Intersection'"
6830 }
6831 ],
6832 "capabilities" : [ "RayQueryProvisionalKHR" ],
6833 "extensions" : [ "SPV_KHR_ray_query" ],
6834 "version" : "None"
6835 },
6836 {
6837 "opname" : "OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR",
6838 "class" : "Reserved",
6839 "opcode" : 6021,
6840 "operands" : [
6841 { "kind" : "IdResultType" },
6842 { "kind" : "IdResult" },
6843 {
6844 "kind" : "IdRef",
6845 "name" : "'RayQuery'"
6846 },
6847 {
6848 "kind" : "IdRef",
6849 "name" : "'Intersection'"
6850 }
6851 ],
6852 "capabilities" : [ "RayQueryProvisionalKHR" ],
6853 "extensions" : [ "SPV_KHR_ray_query" ],
6854 "version" : "None"
6855 },
6856 {
6857 "opname" : "OpRayQueryGetIntersectionGeometryIndexKHR",
6858 "class" : "Reserved",
6859 "opcode" : 6022,
6860 "operands" : [
6861 { "kind" : "IdResultType" },
6862 { "kind" : "IdResult" },
6863 {
6864 "kind" : "IdRef",
6865 "name" : "'RayQuery'"
6866 },
6867 {
6868 "kind" : "IdRef",
6869 "name" : "'Intersection'"
6870 }
6871 ],
6872 "capabilities" : [ "RayQueryProvisionalKHR" ],
6873 "extensions" : [ "SPV_KHR_ray_query" ],
6874 "version" : "None"
6875 },
6876 {
6877 "opname" : "OpRayQueryGetIntersectionPrimitiveIndexKHR",
6878 "class" : "Reserved",
6879 "opcode" : 6023,
6880 "operands" : [
6881 { "kind" : "IdResultType" },
6882 { "kind" : "IdResult" },
6883 {
6884 "kind" : "IdRef",
6885 "name" : "'RayQuery'"
6886 },
6887 {
6888 "kind" : "IdRef",
6889 "name" : "'Intersection'"
6890 }
6891 ],
6892 "capabilities" : [ "RayQueryProvisionalKHR" ],
6893 "extensions" : [ "SPV_KHR_ray_query" ],
6894 "version" : "None"
6895 },
6896 {
6897 "opname" : "OpRayQueryGetIntersectionBarycentricsKHR",
6898 "class" : "Reserved",
6899 "opcode" : 6024,
6900 "operands" : [
6901 { "kind" : "IdResultType" },
6902 { "kind" : "IdResult" },
6903 {
6904 "kind" : "IdRef",
6905 "name" : "'RayQuery'"
6906 },
6907 {
6908 "kind" : "IdRef",
6909 "name" : "'Intersection'"
6910 }
6911 ],
6912 "capabilities" : [ "RayQueryProvisionalKHR" ],
6913 "extensions" : [ "SPV_KHR_ray_query" ],
6914 "version" : "None"
6915 },
6916 {
6917 "opname" : "OpRayQueryGetIntersectionFrontFaceKHR",
6918 "class" : "Reserved",
6919 "opcode" : 6025,
6920 "operands" : [
6921 { "kind" : "IdResultType" },
6922 { "kind" : "IdResult" },
6923 {
6924 "kind" : "IdRef",
6925 "name" : "'RayQuery'"
6926 },
6927 {
6928 "kind" : "IdRef",
6929 "name" : "'Intersection'"
6930 }
6931 ],
6932 "capabilities" : [ "RayQueryProvisionalKHR" ],
6933 "extensions" : [ "SPV_KHR_ray_query" ],
6934 "version" : "None"
6935 },
6936 {
6937 "opname" : "OpRayQueryGetIntersectionCandidateAABBOpaqueKHR",
6938 "class" : "Reserved",
6939 "opcode" : 6026,
6940 "operands" : [
6941 { "kind" : "IdResultType" },
6942 { "kind" : "IdResult" },
6943 {
6944 "kind" : "IdRef",
6945 "name" : "'RayQuery'"
6946 }
6947 ],
6948 "capabilities" : [ "RayQueryProvisionalKHR" ],
6949 "extensions" : [ "SPV_KHR_ray_query" ],
6950 "version" : "None"
6951 },
6952 {
6953 "opname" : "OpRayQueryGetIntersectionObjectRayDirectionKHR",
6954 "class" : "Reserved",
6955 "opcode" : 6027,
6956 "operands" : [
6957 { "kind" : "IdResultType" },
6958 { "kind" : "IdResult" },
6959 {
6960 "kind" : "IdRef",
6961 "name" : "'RayQuery'"
6962 },
6963 {
6964 "kind" : "IdRef",
6965 "name" : "'Intersection'"
6966 }
6967 ],
6968 "capabilities" : [ "RayQueryProvisionalKHR" ],
6969 "extensions" : [ "SPV_KHR_ray_query" ],
6970 "version" : "None"
6971 },
6972 {
6973 "opname" : "OpRayQueryGetIntersectionObjectRayOriginKHR",
6974 "class" : "Reserved",
6975 "opcode" : 6028,
6976 "operands" : [
6977 { "kind" : "IdResultType" },
6978 { "kind" : "IdResult" },
6979 {
6980 "kind" : "IdRef",
6981 "name" : "'RayQuery'"
6982 },
6983 {
6984 "kind" : "IdRef",
6985 "name" : "'Intersection'"
6986 }
6987 ],
6988 "capabilities" : [ "RayQueryProvisionalKHR" ],
6989 "extensions" : [ "SPV_KHR_ray_query" ],
6990 "version" : "None"
6991 },
6992 {
6993 "opname" : "OpRayQueryGetWorldRayDirectionKHR",
6994 "class" : "Reserved",
6995 "opcode" : 6029,
6996 "operands" : [
6997 { "kind" : "IdResultType" },
6998 { "kind" : "IdResult" },
6999 {
7000 "kind" : "IdRef",
7001 "name" : "'RayQuery'"
7002 }
7003 ],
7004 "capabilities" : [ "RayQueryProvisionalKHR" ],
7005 "extensions" : [ "SPV_KHR_ray_query" ],
7006 "version" : "None"
7007 },
7008 {
7009 "opname" : "OpRayQueryGetWorldRayOriginKHR",
7010 "class" : "Reserved",
7011 "opcode" : 6030,
7012 "operands" : [
7013 { "kind" : "IdResultType" },
7014 { "kind" : "IdResult" },
7015 {
7016 "kind" : "IdRef",
7017 "name" : "'RayQuery'"
7018 }
7019 ],
7020 "capabilities" : [ "RayQueryProvisionalKHR" ],
7021 "extensions" : [ "SPV_KHR_ray_query" ],
7022 "version" : "None"
7023 },
7024 {
7025 "opname" : "OpRayQueryGetIntersectionObjectToWorldKHR",
7026 "class" : "Reserved",
7027 "opcode" : 6031,
7028 "operands" : [
7029 { "kind" : "IdResultType" },
7030 { "kind" : "IdResult" },
7031 {
7032 "kind" : "IdRef",
7033 "name" : "'RayQuery'"
7034 },
7035 {
7036 "kind" : "IdRef",
7037 "name" : "'Intersection'"
7038 }
7039 ],
7040 "capabilities" : [ "RayQueryProvisionalKHR" ],
7041 "extensions" : [ "SPV_KHR_ray_query" ],
7042 "version" : "None"
7043 },
7044 {
7045 "opname" : "OpRayQueryGetIntersectionWorldToObjectKHR",
7046 "class" : "Reserved",
7047 "opcode" : 6032,
7048 "operands" : [
7049 { "kind" : "IdResultType" },
7050 { "kind" : "IdResult" },
7051 {
7052 "kind" : "IdRef",
7053 "name" : "'RayQuery'"
7054 },
7055 {
7056 "kind" : "IdRef",
7057 "name" : "'Intersection'"
7058 }
7059 ],
7060 "capabilities" : [ "RayQueryProvisionalKHR" ],
7061 "extensions" : [ "SPV_KHR_ray_query" ],
7062 "version" : "None"
7063 },
7064 {
7065 "opname" : "OpAtomicFAddEXT",
7066 "class" : "Atomic",
7067 "opcode" : 6035,
7068 "operands" : [
7069 { "kind" : "IdResultType" },
7070 { "kind" : "IdResult" },
7071 { "kind" : "IdRef", "name" : "'Pointer'" },
7072 { "kind" : "IdScope", "name" : "'Memory'" },
7073 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
7074 { "kind" : "IdRef", "name" : "'Value'" }
7075 ],
7076 "capabilities" : [ "AtomicFloat32AddEXT", "AtomicFloat64AddEXT" ],
7077 "extensions" : [ "SPV_EXT_shader_atomic_float_add" ],
7078 "version" : "None"
7079 }
7080 ],
7081 "operand_kinds" : [
7082 {
7083 "category" : "BitEnum",
7084 "kind" : "ImageOperands",
7085 "enumerants" : [
7086 {
7087 "enumerant" : "None",
7088 "value" : "0x0000"
7089 },
7090 {
7091 "enumerant" : "Bias",
7092 "value" : "0x0001",
7093 "capabilities" : [ "Shader" ],
7094 "parameters" : [
7095 { "kind" : "IdRef" }
7096 ]
7097 },
7098 {
7099 "enumerant" : "Lod",
7100 "value" : "0x0002",
7101 "parameters" : [
7102 { "kind" : "IdRef" }
7103 ]
7104 },
7105 {
7106 "enumerant" : "Grad",
7107 "value" : "0x0004",
7108 "parameters" : [
7109 { "kind" : "IdRef" },
7110 { "kind" : "IdRef" }
7111 ]
7112 },
7113 {
7114 "enumerant" : "ConstOffset",
7115 "value" : "0x0008",
7116 "parameters" : [
7117 { "kind" : "IdRef" }
7118 ]
7119 },
7120 {
7121 "enumerant" : "Offset",
7122 "value" : "0x0010",
7123 "capabilities" : [ "ImageGatherExtended" ],
7124 "parameters" : [
7125 { "kind" : "IdRef" }
7126 ]
7127 },
7128 {
7129 "enumerant" : "ConstOffsets",
7130 "value" : "0x0020",
7131 "capabilities" : [ "ImageGatherExtended" ],
7132 "parameters" : [
7133 { "kind" : "IdRef" }
7134 ]
7135 },
7136 {
7137 "enumerant" : "Sample",
7138 "value" : "0x0040",
7139 "parameters" : [
7140 { "kind" : "IdRef" }
7141 ]
7142 },
7143 {
7144 "enumerant" : "MinLod",
7145 "value" : "0x0080",
7146 "capabilities" : [ "MinLod" ],
7147 "parameters" : [
7148 { "kind" : "IdRef" }
7149 ]
7150 },
7151 {
7152 "enumerant" : "MakeTexelAvailable",
7153 "value" : "0x0100",
7154 "capabilities" : [ "VulkanMemoryModel" ],
7155 "parameters" : [
7156 { "kind" : "IdScope" }
7157 ],
7158 "version" : "1.5"
7159 },
7160 {
7161 "enumerant" : "MakeTexelAvailableKHR",
7162 "value" : "0x0100",
7163 "capabilities" : [ "VulkanMemoryModel" ],
7164 "parameters" : [
7165 { "kind" : "IdScope" }
7166 ],
7167 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7168 "version" : "1.5"
7169 },
7170 {
7171 "enumerant" : "MakeTexelVisible",
7172 "value" : "0x0200",
7173 "capabilities" : [ "VulkanMemoryModel" ],
7174 "parameters" : [
7175 { "kind" : "IdScope" }
7176 ],
7177 "version" : "1.5"
7178 },
7179 {
7180 "enumerant" : "MakeTexelVisibleKHR",
7181 "value" : "0x0200",
7182 "capabilities" : [ "VulkanMemoryModel" ],
7183 "parameters" : [
7184 { "kind" : "IdScope" }
7185 ],
7186 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7187 "version" : "1.5"
7188 },
7189 {
7190 "enumerant" : "NonPrivateTexel",
7191 "value" : "0x0400",
7192 "capabilities" : [ "VulkanMemoryModel" ],
7193 "version" : "1.5"
7194 },
7195 {
7196 "enumerant" : "NonPrivateTexelKHR",
7197 "value" : "0x0400",
7198 "capabilities" : [ "VulkanMemoryModel" ],
7199 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7200 "version" : "1.5"
7201 },
7202 {
7203 "enumerant" : "VolatileTexel",
7204 "value" : "0x0800",
7205 "capabilities" : [ "VulkanMemoryModel" ],
7206 "version" : "1.5"
7207 },
7208 {
7209 "enumerant" : "VolatileTexelKHR",
7210 "value" : "0x0800",
7211 "capabilities" : [ "VulkanMemoryModel" ],
7212 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7213 "version" : "1.5"
7214 },
7215 {
7216 "enumerant" : "SignExtend",
7217 "value" : "0x1000",
7218 "version" : "1.4"
7219 },
7220 {
7221 "enumerant" : "ZeroExtend",
7222 "value" : "0x2000",
7223 "version" : "1.4"
7224 }
7225 ]
7226 },
7227 {
7228 "category" : "BitEnum",
7229 "kind" : "FPFastMathMode",
7230 "enumerants" : [
7231 {
7232 "enumerant" : "None",
7233 "value" : "0x0000"
7234 },
7235 {
7236 "enumerant" : "NotNaN",
7237 "value" : "0x0001",
7238 "capabilities" : [ "Kernel" ]
7239 },
7240 {
7241 "enumerant" : "NotInf",
7242 "value" : "0x0002",
7243 "capabilities" : [ "Kernel" ]
7244 },
7245 {
7246 "enumerant" : "NSZ",
7247 "value" : "0x0004",
7248 "capabilities" : [ "Kernel" ]
7249 },
7250 {
7251 "enumerant" : "AllowRecip",
7252 "value" : "0x0008",
7253 "capabilities" : [ "Kernel" ]
7254 },
7255 {
7256 "enumerant" : "Fast",
7257 "value" : "0x0010",
7258 "capabilities" : [ "Kernel" ]
7259 }
7260 ]
7261 },
7262 {
7263 "category" : "BitEnum",
7264 "kind" : "SelectionControl",
7265 "enumerants" : [
7266 {
7267 "enumerant" : "None",
7268 "value" : "0x0000"
7269 },
7270 {
7271 "enumerant" : "Flatten",
7272 "value" : "0x0001"
7273 },
7274 {
7275 "enumerant" : "DontFlatten",
7276 "value" : "0x0002"
7277 }
7278 ]
7279 },
7280 {
7281 "category" : "BitEnum",
7282 "kind" : "LoopControl",
7283 "enumerants" : [
7284 {
7285 "enumerant" : "None",
7286 "value" : "0x0000"
7287 },
7288 {
7289 "enumerant" : "Unroll",
7290 "value" : "0x0001"
7291 },
7292 {
7293 "enumerant" : "DontUnroll",
7294 "value" : "0x0002"
7295 },
7296 {
7297 "enumerant" : "DependencyInfinite",
7298 "value" : "0x0004",
7299 "version" : "1.1"
7300 },
7301 {
7302 "enumerant" : "DependencyLength",
7303 "value" : "0x0008",
7304 "parameters" : [
7305 { "kind" : "LiteralInteger" }
7306 ],
7307 "version" : "1.1"
7308 },
7309 {
7310 "enumerant" : "MinIterations",
7311 "value" : "0x0010",
7312 "parameters" : [
7313 { "kind" : "LiteralInteger" }
7314 ],
7315 "version" : "1.4"
7316 },
7317 {
7318 "enumerant" : "MaxIterations",
7319 "value" : "0x0020",
7320 "parameters" : [
7321 { "kind" : "LiteralInteger" }
7322 ],
7323 "version" : "1.4"
7324 },
7325 {
7326 "enumerant" : "IterationMultiple",
7327 "value" : "0x0040",
7328 "parameters" : [
7329 { "kind" : "LiteralInteger" }
7330 ],
7331 "version" : "1.4"
7332 },
7333 {
7334 "enumerant" : "PeelCount",
7335 "value" : "0x0080",
7336 "parameters" : [
7337 { "kind" : "LiteralInteger" }
7338 ],
7339 "version" : "1.4"
7340 },
7341 {
7342 "enumerant" : "PartialCount",
7343 "value" : "0x0100",
7344 "parameters" : [
7345 { "kind" : "LiteralInteger" }
7346 ],
7347 "version" : "1.4"
7348 },
7349 {
7350 "enumerant" : "InitiationIntervalINTEL",
7351 "value" : "0x10000",
7352 "parameters" : [
7353 { "kind" : "LiteralInteger" }
7354 ],
7355 "capabilities" : [ "FPGALoopControlsINTEL" ],
7356 "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
7357 "version" : "None"
7358 },
7359 {
7360 "enumerant" : "MaxConcurrencyINTEL",
7361 "value" : "0x20000",
7362 "parameters" : [
7363 { "kind" : "LiteralInteger" }
7364 ],
7365 "capabilities" : [ "FPGALoopControlsINTEL" ],
7366 "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
7367 "version" : "None"
7368 },
7369 {
7370 "enumerant" : "DependencyArrayINTEL",
7371 "value" : "0x40000",
7372 "parameters" : [
7373 { "kind" : "LiteralInteger" }
7374 ],
7375 "capabilities" : [ "FPGALoopControlsINTEL" ],
7376 "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
7377 "version" : "None"
7378 },
7379 {
7380 "enumerant" : "PipelineEnableINTEL",
7381 "value" : "0x80000",
7382 "parameters" : [
7383 { "kind" : "LiteralInteger" }
7384 ],
7385 "capabilities" : [ "FPGALoopControlsINTEL" ],
7386 "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
7387 "version" : "None"
7388 },
7389 {
7390 "enumerant" : "LoopCoalesceINTEL",
7391 "value" : "0x100000",
7392 "parameters" : [
7393 { "kind" : "LiteralInteger" }
7394 ],
7395 "capabilities" : [ "FPGALoopControlsINTEL" ],
7396 "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
7397 "version" : "None"
7398 },
7399 {
7400 "enumerant" : "MaxInterleavingINTEL",
7401 "value" : "0x200000",
7402 "parameters" : [
7403 { "kind" : "LiteralInteger" }
7404 ],
7405 "capabilities" : [ "FPGALoopControlsINTEL" ],
7406 "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
7407 "version" : "None"
7408 },
7409 {
7410 "enumerant" : "SpeculatedIterationsINTEL",
7411 "value" : "0x400000",
7412 "parameters" : [
7413 { "kind" : "LiteralInteger" }
7414 ],
7415 "capabilities" : [ "FPGALoopControlsINTEL" ],
7416 "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
7417 "version" : "None"
7418 }
7419 ]
7420 },
7421 {
7422 "category" : "BitEnum",
7423 "kind" : "FunctionControl",
7424 "enumerants" : [
7425 {
7426 "enumerant" : "None",
7427 "value" : "0x0000"
7428 },
7429 {
7430 "enumerant" : "Inline",
7431 "value" : "0x0001"
7432 },
7433 {
7434 "enumerant" : "DontInline",
7435 "value" : "0x0002"
7436 },
7437 {
7438 "enumerant" : "Pure",
7439 "value" : "0x0004"
7440 },
7441 {
7442 "enumerant" : "Const",
7443 "value" : "0x0008"
7444 }
7445 ]
7446 },
7447 {
7448 "category" : "BitEnum",
7449 "kind" : "MemorySemantics",
7450 "enumerants" : [
7451 {
7452 "enumerant" : "Relaxed",
7453 "value" : "0x0000"
7454 },
7455 {
7456 "enumerant" : "None",
7457 "value" : "0x0000"
7458 },
7459 {
7460 "enumerant" : "Acquire",
7461 "value" : "0x0002"
7462 },
7463 {
7464 "enumerant" : "Release",
7465 "value" : "0x0004"
7466 },
7467 {
7468 "enumerant" : "AcquireRelease",
7469 "value" : "0x0008"
7470 },
7471 {
7472 "enumerant" : "SequentiallyConsistent",
7473 "value" : "0x0010"
7474 },
7475 {
7476 "enumerant" : "UniformMemory",
7477 "value" : "0x0040",
7478 "capabilities" : [ "Shader" ]
7479 },
7480 {
7481 "enumerant" : "SubgroupMemory",
7482 "value" : "0x0080"
7483 },
7484 {
7485 "enumerant" : "WorkgroupMemory",
7486 "value" : "0x0100"
7487 },
7488 {
7489 "enumerant" : "CrossWorkgroupMemory",
7490 "value" : "0x0200"
7491 },
7492 {
7493 "enumerant" : "AtomicCounterMemory",
7494 "value" : "0x0400",
7495 "capabilities" : [ "AtomicStorage" ]
7496 },
7497 {
7498 "enumerant" : "ImageMemory",
7499 "value" : "0x0800"
7500 },
7501 {
7502 "enumerant" : "OutputMemory",
7503 "value" : "0x1000",
7504 "capabilities" : [ "VulkanMemoryModel" ],
7505 "version" : "1.5"
7506 },
7507 {
7508 "enumerant" : "OutputMemoryKHR",
7509 "value" : "0x1000",
7510 "capabilities" : [ "VulkanMemoryModel" ],
7511 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7512 "version" : "1.5"
7513 },
7514 {
7515 "enumerant" : "MakeAvailable",
7516 "value" : "0x2000",
7517 "capabilities" : [ "VulkanMemoryModel" ],
7518 "version" : "1.5"
7519 },
7520 {
7521 "enumerant" : "MakeAvailableKHR",
7522 "value" : "0x2000",
7523 "capabilities" : [ "VulkanMemoryModel" ],
7524 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7525 "version" : "1.5"
7526 },
7527 {
7528 "enumerant" : "MakeVisible",
7529 "value" : "0x4000",
7530 "capabilities" : [ "VulkanMemoryModel" ],
7531 "version" : "1.5"
7532 },
7533 {
7534 "enumerant" : "MakeVisibleKHR",
7535 "value" : "0x4000",
7536 "capabilities" : [ "VulkanMemoryModel" ],
7537 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7538 "version" : "1.5"
7539 },
7540 {
7541 "enumerant" : "Volatile",
7542 "value" : "0x8000",
7543 "capabilities" : [ "VulkanMemoryModel" ],
7544 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7545 "version" : "1.5"
7546 }
7547 ]
7548 },
7549 {
7550 "category" : "BitEnum",
7551 "kind" : "MemoryAccess",
7552 "enumerants" : [
7553 {
7554 "enumerant" : "None",
7555 "value" : "0x0000"
7556 },
7557 {
7558 "enumerant" : "Volatile",
7559 "value" : "0x0001"
7560 },
7561 {
7562 "enumerant" : "Aligned",
7563 "value" : "0x0002",
7564 "parameters" : [
7565 { "kind" : "LiteralInteger" }
7566 ]
7567 },
7568 {
7569 "enumerant" : "Nontemporal",
7570 "value" : "0x0004"
7571 },
7572 {
7573 "enumerant" : "MakePointerAvailable",
7574 "value" : "0x0008",
7575 "parameters" : [
7576 { "kind" : "IdScope" }
7577 ],
7578 "capabilities" : [ "VulkanMemoryModel" ],
7579 "version" : "1.5"
7580 },
7581 {
7582 "enumerant" : "MakePointerAvailableKHR",
7583 "value" : "0x0008",
7584 "parameters" : [
7585 { "kind" : "IdScope" }
7586 ],
7587 "capabilities" : [ "VulkanMemoryModel" ],
7588 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7589 "version" : "1.5"
7590 },
7591 {
7592 "enumerant" : "MakePointerVisible",
7593 "value" : "0x0010",
7594 "parameters" : [
7595 { "kind" : "IdScope" }
7596 ],
7597 "capabilities" : [ "VulkanMemoryModel" ],
7598 "version" : "1.5"
7599 },
7600 {
7601 "enumerant" : "MakePointerVisibleKHR",
7602 "value" : "0x0010",
7603 "parameters" : [
7604 { "kind" : "IdScope" }
7605 ],
7606 "capabilities" : [ "VulkanMemoryModel" ],
7607 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7608 "version" : "1.5"
7609 },
7610 {
7611 "enumerant" : "NonPrivatePointer",
7612 "value" : "0x0020",
7613 "capabilities" : [ "VulkanMemoryModel" ],
7614 "version" : "1.5"
7615 },
7616 {
7617 "enumerant" : "NonPrivatePointerKHR",
7618 "value" : "0x0020",
7619 "capabilities" : [ "VulkanMemoryModel" ],
7620 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7621 "version" : "1.5"
7622 }
7623 ]
7624 },
7625 {
7626 "category" : "BitEnum",
7627 "kind" : "KernelProfilingInfo",
7628 "enumerants" : [
7629 {
7630 "enumerant" : "None",
7631 "value" : "0x0000"
7632 },
7633 {
7634 "enumerant" : "CmdExecTime",
7635 "value" : "0x0001",
7636 "capabilities" : [ "Kernel" ]
7637 }
7638 ]
7639 },
7640 {
7641 "category" : "BitEnum",
7642 "kind" : "RayFlags",
7643 "enumerants" : [
7644 {
7645 "enumerant" : "NoneKHR",
7646 "value" : "0x0000",
7647 "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
7648 "version" : "None"
7649 },
7650 {
7651 "enumerant" : "OpaqueKHR",
7652 "value" : "0x0001",
7653 "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
7654 "version" : "None"
7655 },
7656 {
7657 "enumerant" : "NoOpaqueKHR",
7658 "value" : "0x0002",
7659 "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
7660 "version" : "None"
7661 },
7662 {
7663 "enumerant" : "TerminateOnFirstHitKHR",
7664 "value" : "0x0004",
7665 "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
7666 "version" : "None"
7667 },
7668 {
7669 "enumerant" : "SkipClosestHitShaderKHR",
7670 "value" : "0x0008",
7671 "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
7672 "version" : "None"
7673 },
7674 {
7675 "enumerant" : "CullBackFacingTrianglesKHR",
7676 "value" : "0x0010",
7677 "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
7678 "version" : "None"
7679 },
7680 {
7681 "enumerant" : "CullFrontFacingTrianglesKHR",
7682 "value" : "0x0020",
7683 "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
7684 "version" : "None"
7685 },
7686 {
7687 "enumerant" : "CullOpaqueKHR",
7688 "value" : "0x0040",
7689 "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
7690 "version" : "None"
7691 },
7692 {
7693 "enumerant" : "CullNoOpaqueKHR",
7694 "value" : "0x0080",
7695 "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
7696 "version" : "None"
7697 },
7698 {
7699 "enumerant" : "SkipTrianglesKHR",
7700 "value" : "0x0100",
7701 "capabilities" : [ "RayTraversalPrimitiveCullingProvisionalKHR" ],
7702 "version" : "None"
7703 },
7704 {
7705 "enumerant" : "SkipAABBsKHR",
7706 "value" : "0x0200",
7707 "capabilities" : [ "RayTraversalPrimitiveCullingProvisionalKHR" ],
7708 "version" : "None"
7709 }
7710 ]
7711 },
7712 {
7713 "category" : "ValueEnum",
7714 "kind" : "SourceLanguage",
7715 "enumerants" : [
7716 {
7717 "enumerant" : "Unknown",
7718 "value" : 0
7719 },
7720 {
7721 "enumerant" : "ESSL",
7722 "value" : 1
7723 },
7724 {
7725 "enumerant" : "GLSL",
7726 "value" : 2
7727 },
7728 {
7729 "enumerant" : "OpenCL_C",
7730 "value" : 3
7731 },
7732 {
7733 "enumerant" : "OpenCL_CPP",
7734 "value" : 4
7735 },
7736 {
7737 "enumerant" : "HLSL",
7738 "value" : 5
7739 }
7740 ]
7741 },
7742 {
7743 "category" : "ValueEnum",
7744 "kind" : "ExecutionModel",
7745 "enumerants" : [
7746 {
7747 "enumerant" : "Vertex",
7748 "value" : 0,
7749 "capabilities" : [ "Shader" ]
7750 },
7751 {
7752 "enumerant" : "TessellationControl",
7753 "value" : 1,
7754 "capabilities" : [ "Tessellation" ]
7755 },
7756 {
7757 "enumerant" : "TessellationEvaluation",
7758 "value" : 2,
7759 "capabilities" : [ "Tessellation" ]
7760 },
7761 {
7762 "enumerant" : "Geometry",
7763 "value" : 3,
7764 "capabilities" : [ "Geometry" ]
7765 },
7766 {
7767 "enumerant" : "Fragment",
7768 "value" : 4,
7769 "capabilities" : [ "Shader" ]
7770 },
7771 {
7772 "enumerant" : "GLCompute",
7773 "value" : 5,
7774 "capabilities" : [ "Shader" ]
7775 },
7776 {
7777 "enumerant" : "Kernel",
7778 "value" : 6,
7779 "capabilities" : [ "Kernel" ]
7780 },
7781 {
7782 "enumerant" : "TaskNV",
7783 "value" : 5267,
7784 "capabilities" : [ "MeshShadingNV" ],
7785 "version" : "None"
7786 },
7787 {
7788 "enumerant" : "MeshNV",
7789 "value" : 5268,
7790 "capabilities" : [ "MeshShadingNV" ],
7791 "version" : "None"
7792 },
7793 {
7794 "enumerant" : "RayGenerationNV",
7795 "value" : 5313,
7796 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7797 "version" : "None"
7798 },
7799 {
7800 "enumerant" : "RayGenerationKHR",
7801 "value" : 5313,
7802 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7803 "version" : "None"
7804 },
7805 {
7806 "enumerant" : "IntersectionNV",
7807 "value" : 5314,
7808 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7809 "version" : "None"
7810 },
7811 {
7812 "enumerant" : "IntersectionKHR",
7813 "value" : 5314,
7814 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7815 "version" : "None"
7816 },
7817 {
7818 "enumerant" : "AnyHitNV",
7819 "value" : 5315,
7820 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7821 "version" : "None"
7822 },
7823 {
7824 "enumerant" : "AnyHitKHR",
7825 "value" : 5315,
7826 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7827 "version" : "None"
7828 },
7829 {
7830 "enumerant" : "ClosestHitNV",
7831 "value" : 5316,
7832 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7833 "version" : "None"
7834 },
7835 {
7836 "enumerant" : "ClosestHitKHR",
7837 "value" : 5316,
7838 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7839 "version" : "None"
7840 },
7841 {
7842 "enumerant" : "MissNV",
7843 "value" : 5317,
7844 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7845 "version" : "None"
7846 },
7847 {
7848 "enumerant" : "MissKHR",
7849 "value" : 5317,
7850 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7851 "version" : "None"
7852 },
7853 {
7854 "enumerant" : "CallableNV",
7855 "value" : 5318,
7856 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7857 "version" : "None"
7858 },
7859 {
7860 "enumerant" : "CallableKHR",
7861 "value" : 5318,
7862 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7863 "version" : "None"
7864 }
7865 ]
7866 },
7867 {
7868 "category" : "ValueEnum",
7869 "kind" : "AddressingModel",
7870 "enumerants" : [
7871 {
7872 "enumerant" : "Logical",
7873 "value" : 0
7874 },
7875 {
7876 "enumerant" : "Physical32",
7877 "value" : 1,
7878 "capabilities" : [ "Addresses" ]
7879 },
7880 {
7881 "enumerant" : "Physical64",
7882 "value" : 2,
7883 "capabilities" : [ "Addresses" ]
7884 },
7885 {
7886 "enumerant" : "PhysicalStorageBuffer64",
7887 "value" : 5348,
7888 "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
7889 "capabilities" : [ "PhysicalStorageBufferAddresses" ],
7890 "version" : "1.5"
7891 },
7892 {
7893 "enumerant" : "PhysicalStorageBuffer64EXT",
7894 "value" : 5348,
7895 "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
7896 "capabilities" : [ "PhysicalStorageBufferAddresses" ],
7897 "version" : "1.5"
7898 }
7899 ]
7900 },
7901 {
7902 "category" : "ValueEnum",
7903 "kind" : "MemoryModel",
7904 "enumerants" : [
7905 {
7906 "enumerant" : "Simple",
7907 "value" : 0,
7908 "capabilities" : [ "Shader" ]
7909 },
7910 {
7911 "enumerant" : "GLSL450",
7912 "value" : 1,
7913 "capabilities" : [ "Shader" ]
7914 },
7915 {
7916 "enumerant" : "OpenCL",
7917 "value" : 2,
7918 "capabilities" : [ "Kernel" ]
7919 },
7920 {
7921 "enumerant" : "Vulkan",
7922 "value" : 3,
7923 "capabilities" : [ "VulkanMemoryModel" ],
7924 "version" : "1.5"
7925 },
7926 {
7927 "enumerant" : "VulkanKHR",
7928 "value" : 3,
7929 "capabilities" : [ "VulkanMemoryModel" ],
7930 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7931 "version" : "1.5"
7932 }
7933 ]
7934 },
7935 {
7936 "category" : "ValueEnum",
7937 "kind" : "ExecutionMode",
7938 "enumerants" : [
7939 {
7940 "enumerant" : "Invocations",
7941 "value" : 0,
7942 "capabilities" : [ "Geometry" ],
7943 "parameters" : [
7944 { "kind" : "LiteralInteger", "name" : "'Number of <<Invocation,invocations>>'" }
7945 ]
7946 },
7947 {
7948 "enumerant" : "SpacingEqual",
7949 "value" : 1,
7950 "capabilities" : [ "Tessellation" ]
7951 },
7952 {
7953 "enumerant" : "SpacingFractionalEven",
7954 "value" : 2,
7955 "capabilities" : [ "Tessellation" ]
7956 },
7957 {
7958 "enumerant" : "SpacingFractionalOdd",
7959 "value" : 3,
7960 "capabilities" : [ "Tessellation" ]
7961 },
7962 {
7963 "enumerant" : "VertexOrderCw",
7964 "value" : 4,
7965 "capabilities" : [ "Tessellation" ]
7966 },
7967 {
7968 "enumerant" : "VertexOrderCcw",
7969 "value" : 5,
7970 "capabilities" : [ "Tessellation" ]
7971 },
7972 {
7973 "enumerant" : "PixelCenterInteger",
7974 "value" : 6,
7975 "capabilities" : [ "Shader" ]
7976 },
7977 {
7978 "enumerant" : "OriginUpperLeft",
7979 "value" : 7,
7980 "capabilities" : [ "Shader" ]
7981 },
7982 {
7983 "enumerant" : "OriginLowerLeft",
7984 "value" : 8,
7985 "capabilities" : [ "Shader" ]
7986 },
7987 {
7988 "enumerant" : "EarlyFragmentTests",
7989 "value" : 9,
7990 "capabilities" : [ "Shader" ]
7991 },
7992 {
7993 "enumerant" : "PointMode",
7994 "value" : 10,
7995 "capabilities" : [ "Tessellation" ]
7996 },
7997 {
7998 "enumerant" : "Xfb",
7999 "value" : 11,
8000 "capabilities" : [ "TransformFeedback" ]
8001 },
8002 {
8003 "enumerant" : "DepthReplacing",
8004 "value" : 12,
8005 "capabilities" : [ "Shader" ]
8006 },
8007 {
8008 "enumerant" : "DepthGreater",
8009 "value" : 14,
8010 "capabilities" : [ "Shader" ]
8011 },
8012 {
8013 "enumerant" : "DepthLess",
8014 "value" : 15,
8015 "capabilities" : [ "Shader" ]
8016 },
8017 {
8018 "enumerant" : "DepthUnchanged",
8019 "value" : 16,
8020 "capabilities" : [ "Shader" ]
8021 },
8022 {
8023 "enumerant" : "LocalSize",
8024 "value" : 17,
8025 "parameters" : [
8026 { "kind" : "LiteralInteger", "name" : "'x size'" },
8027 { "kind" : "LiteralInteger", "name" : "'y size'" },
8028 { "kind" : "LiteralInteger", "name" : "'z size'" }
8029 ]
8030 },
8031 {
8032 "enumerant" : "LocalSizeHint",
8033 "value" : 18,
8034 "capabilities" : [ "Kernel" ],
8035 "parameters" : [
8036 { "kind" : "LiteralInteger", "name" : "'x size'" },
8037 { "kind" : "LiteralInteger", "name" : "'y size'" },
8038 { "kind" : "LiteralInteger", "name" : "'z size'" }
8039 ]
8040 },
8041 {
8042 "enumerant" : "InputPoints",
8043 "value" : 19,
8044 "capabilities" : [ "Geometry" ]
8045 },
8046 {
8047 "enumerant" : "InputLines",
8048 "value" : 20,
8049 "capabilities" : [ "Geometry" ]
8050 },
8051 {
8052 "enumerant" : "InputLinesAdjacency",
8053 "value" : 21,
8054 "capabilities" : [ "Geometry" ]
8055 },
8056 {
8057 "enumerant" : "Triangles",
8058 "value" : 22,
8059 "capabilities" : [ "Geometry", "Tessellation" ]
8060 },
8061 {
8062 "enumerant" : "InputTrianglesAdjacency",
8063 "value" : 23,
8064 "capabilities" : [ "Geometry" ]
8065 },
8066 {
8067 "enumerant" : "Quads",
8068 "value" : 24,
8069 "capabilities" : [ "Tessellation" ]
8070 },
8071 {
8072 "enumerant" : "Isolines",
8073 "value" : 25,
8074 "capabilities" : [ "Tessellation" ]
8075 },
8076 {
8077 "enumerant" : "OutputVertices",
8078 "value" : 26,
8079 "capabilities" : [ "Geometry", "Tessellation", "MeshShadingNV" ],
8080 "parameters" : [
8081 { "kind" : "LiteralInteger", "name" : "'Vertex count'" }
8082 ]
8083 },
8084 {
8085 "enumerant" : "OutputPoints",
8086 "value" : 27,
8087 "capabilities" : [ "Geometry", "MeshShadingNV" ]
8088 },
8089 {
8090 "enumerant" : "OutputLineStrip",
8091 "value" : 28,
8092 "capabilities" : [ "Geometry" ]
8093 },
8094 {
8095 "enumerant" : "OutputTriangleStrip",
8096 "value" : 29,
8097 "capabilities" : [ "Geometry" ]
8098 },
8099 {
8100 "enumerant" : "VecTypeHint",
8101 "value" : 30,
8102 "capabilities" : [ "Kernel" ],
8103 "parameters" : [
8104 { "kind" : "LiteralInteger", "name" : "'Vector type'" }
8105 ]
8106 },
8107 {
8108 "enumerant" : "ContractionOff",
8109 "value" : 31,
8110 "capabilities" : [ "Kernel" ]
8111 },
8112 {
8113 "enumerant" : "Initializer",
8114 "value" : 33,
8115 "capabilities" : [ "Kernel" ],
8116 "version" : "1.1"
8117 },
8118 {
8119 "enumerant" : "Finalizer",
8120 "value" : 34,
8121 "capabilities" : [ "Kernel" ],
8122 "version" : "1.1"
8123 },
8124 {
8125 "enumerant" : "SubgroupSize",
8126 "value" : 35,
8127 "capabilities" : [ "SubgroupDispatch" ],
8128 "parameters" : [
8129 { "kind" : "LiteralInteger", "name" : "'Subgroup Size'" }
8130 ],
8131 "version" : "1.1"
8132 },
8133 {
8134 "enumerant" : "SubgroupsPerWorkgroup",
8135 "value" : 36,
8136 "capabilities" : [ "SubgroupDispatch" ],
8137 "parameters" : [
8138 { "kind" : "LiteralInteger", "name" : "'Subgroups Per Workgroup'" }
8139 ],
8140 "version" : "1.1"
8141 },
8142 {
8143 "enumerant" : "SubgroupsPerWorkgroupId",
8144 "value" : 37,
8145 "capabilities" : [ "SubgroupDispatch" ],
8146 "parameters" : [
8147 { "kind" : "IdRef", "name" : "'Subgroups Per Workgroup'" }
8148 ],
8149 "version" : "1.2"
8150 },
8151 {
8152 "enumerant" : "LocalSizeId",
8153 "value" : 38,
8154 "parameters" : [
8155 { "kind" : "IdRef", "name" : "'x size'" },
8156 { "kind" : "IdRef", "name" : "'y size'" },
8157 { "kind" : "IdRef", "name" : "'z size'" }
8158 ],
8159 "version" : "1.2"
8160 },
8161 {
8162 "enumerant" : "LocalSizeHintId",
8163 "value" : 39,
8164 "capabilities" : [ "Kernel" ],
8165 "parameters" : [
8166 { "kind" : "IdRef", "name" : "'Local Size Hint'" }
8167 ],
8168 "version" : "1.2"
8169 },
8170 {
8171 "enumerant" : "PostDepthCoverage",
8172 "value" : 4446,
8173 "capabilities" : [ "SampleMaskPostDepthCoverage" ],
8174 "extensions" : [ "SPV_KHR_post_depth_coverage" ],
8175 "version" : "None"
8176 },
8177 {
8178 "enumerant" : "DenormPreserve",
8179 "value" : 4459,
8180 "capabilities" : [ "DenormPreserve" ],
8181 "extensions" : [ "SPV_KHR_float_controls" ],
8182 "parameters" : [
8183 { "kind" : "LiteralInteger", "name" : "'Target Width'" }
8184 ],
8185 "version" : "1.4"
8186 },
8187 {
8188 "enumerant" : "DenormFlushToZero",
8189 "value" : 4460,
8190 "capabilities" : [ "DenormFlushToZero" ],
8191 "extensions" : [ "SPV_KHR_float_controls" ],
8192 "parameters" : [
8193 { "kind" : "LiteralInteger", "name" : "'Target Width'" }
8194 ],
8195 "version" : "1.4"
8196 },
8197 {
8198 "enumerant" : "SignedZeroInfNanPreserve",
8199 "value" : 4461,
8200 "capabilities" : [ "SignedZeroInfNanPreserve" ],
8201 "extensions" : [ "SPV_KHR_float_controls" ],
8202 "parameters" : [
8203 { "kind" : "LiteralInteger", "name" : "'Target Width'" }
8204 ],
8205 "version" : "1.4"
8206 },
8207 {
8208 "enumerant" : "RoundingModeRTE",
8209 "value" : 4462,
8210 "capabilities" : [ "RoundingModeRTE" ],
8211 "extensions" : [ "SPV_KHR_float_controls" ],
8212 "parameters" : [
8213 { "kind" : "LiteralInteger", "name" : "'Target Width'" }
8214 ],
8215 "version" : "1.4"
8216 },
8217 {
8218 "enumerant" : "RoundingModeRTZ",
8219 "value" : 4463,
8220 "capabilities" : [ "RoundingModeRTZ" ],
8221 "extensions" : [ "SPV_KHR_float_controls" ],
8222 "parameters" : [
8223 { "kind" : "LiteralInteger", "name" : "'Target Width'" }
8224 ],
8225 "version" : "1.4"
8226 },
8227 {
8228 "enumerant" : "StencilRefReplacingEXT",
8229 "value" : 5027,
8230 "capabilities" : [ "StencilExportEXT" ],
8231 "extensions" : [ "SPV_EXT_shader_stencil_export" ],
8232 "version" : "None"
8233 },
8234 {
8235 "enumerant" : "OutputLinesNV",
8236 "value" : 5269,
8237 "capabilities" : [ "MeshShadingNV" ],
8238 "extensions" : [ "SPV_NV_mesh_shader" ],
8239 "version" : "None"
8240 },
8241 {
8242 "enumerant" : "OutputPrimitivesNV",
8243 "value" : 5270,
8244 "capabilities" : [ "MeshShadingNV" ],
8245 "parameters" : [
8246 { "kind" : "LiteralInteger", "name" : "'Primitive count'" }
8247 ],
8248 "extensions" : [ "SPV_NV_mesh_shader" ],
8249 "version" : "None"
8250 },
8251 {
8252 "enumerant" : "DerivativeGroupQuadsNV",
8253 "value" : 5289,
8254 "capabilities" : [ "ComputeDerivativeGroupQuadsNV" ],
8255 "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
8256 "version" : "None"
8257 },
8258 {
8259 "enumerant" : "DerivativeGroupLinearNV",
8260 "value" : 5290,
8261 "capabilities" : [ "ComputeDerivativeGroupLinearNV" ],
8262 "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
8263 "version" : "None"
8264 },
8265 {
8266 "enumerant" : "OutputTrianglesNV",
8267 "value" : 5298,
8268 "capabilities" : [ "MeshShadingNV" ],
8269 "extensions" : [ "SPV_NV_mesh_shader" ],
8270 "version" : "None"
8271 },
8272 {
8273 "enumerant" : "PixelInterlockOrderedEXT",
8274 "value" : 5366,
8275 "capabilities" : [ "FragmentShaderPixelInterlockEXT" ],
8276 "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
8277 "version" : "None"
8278 },
8279 {
8280 "enumerant" : "PixelInterlockUnorderedEXT",
8281 "value" : 5367,
8282 "capabilities" : [ "FragmentShaderPixelInterlockEXT" ],
8283 "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
8284 "version" : "None"
8285 },
8286 {
8287 "enumerant" : "SampleInterlockOrderedEXT",
8288 "value" : 5368,
8289 "capabilities" : [ "FragmentShaderSampleInterlockEXT" ],
8290 "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
8291 "version" : "None"
8292 },
8293 {
8294 "enumerant" : "SampleInterlockUnorderedEXT",
8295 "value" : 5369,
8296 "capabilities" : [ "FragmentShaderSampleInterlockEXT" ],
8297 "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
8298 "version" : "None"
8299 },
8300 {
8301 "enumerant" : "ShadingRateInterlockOrderedEXT",
8302 "value" : 5370,
8303 "capabilities" : [ "FragmentShaderShadingRateInterlockEXT" ],
8304 "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
8305 "version" : "None"
8306 },
8307 {
8308 "enumerant" : "ShadingRateInterlockUnorderedEXT",
8309 "value" : 5371,
8310 "capabilities" : [ "FragmentShaderShadingRateInterlockEXT" ],
8311 "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
8312 "version" : "None"
8313 },
8314 {
8315 "enumerant" : "MaxWorkgroupSizeINTEL",
8316 "value" : 5893,
8317 "parameters" : [
8318 { "kind" : "LiteralInteger", "name" : "'max_x_size'" },
8319 { "kind" : "LiteralInteger", "name" : "'max_y_size'" },
8320 { "kind" : "LiteralInteger", "name" : "'max_z_size'" }
8321 ],
8322 "capabilities" : [ "KernelAttributesINTEL" ],
8323 "extensions" : [ "SPV_INTEL_kernel_attributes" ],
8324 "version" : "None"
8325 },
8326 {
8327 "enumerant" : "MaxWorkDimINTEL",
8328 "value" : 5894,
8329 "parameters" : [
8330 { "kind" : "LiteralInteger", "name" : "'max_dimensions'" }
8331 ],
8332 "capabilities" : [ "KernelAttributesINTEL" ],
8333 "extensions" : [ "SPV_INTEL_kernel_attributes" ],
8334 "version" : "None"
8335 },
8336 {
8337 "enumerant" : "NoGlobalOffsetINTEL",
8338 "value" : 5895,
8339 "capabilities" : [ "KernelAttributesINTEL" ],
8340 "extensions" : [ "SPV_INTEL_kernel_attributes" ],
8341 "version" : "None"
8342 },
8343 {
8344 "enumerant" : "NumSIMDWorkitemsINTEL",
8345 "value" : 5896,
8346 "parameters" : [
8347 { "kind" : "LiteralInteger", "name" : "'vector_width'" }
8348 ],
8349 "capabilities" : [ "FPGAKernelAttributesINTEL" ],
8350 "extensions" : [ "SPV_INTEL_kernel_attributes" ],
8351 "version" : "None"
8352 }
8353 ]
8354 },
8355 {
8356 "category" : "ValueEnum",
8357 "kind" : "StorageClass",
8358 "enumerants" : [
8359 {
8360 "enumerant" : "UniformConstant",
8361 "value" : 0
8362 },
8363 {
8364 "enumerant" : "Input",
8365 "value" : 1
8366 },
8367 {
8368 "enumerant" : "Uniform",
8369 "value" : 2,
8370 "capabilities" : [ "Shader" ]
8371 },
8372 {
8373 "enumerant" : "Output",
8374 "value" : 3,
8375 "capabilities" : [ "Shader" ]
8376 },
8377 {
8378 "enumerant" : "Workgroup",
8379 "value" : 4
8380 },
8381 {
8382 "enumerant" : "CrossWorkgroup",
8383 "value" : 5
8384 },
8385 {
8386 "enumerant" : "Private",
8387 "value" : 6,
8388 "capabilities" : [ "Shader" ]
8389 },
8390 {
8391 "enumerant" : "Function",
8392 "value" : 7
8393 },
8394 {
8395 "enumerant" : "Generic",
8396 "value" : 8,
8397 "capabilities" : [ "GenericPointer" ]
8398 },
8399 {
8400 "enumerant" : "PushConstant",
8401 "value" : 9,
8402 "capabilities" : [ "Shader" ]
8403 },
8404 {
8405 "enumerant" : "AtomicCounter",
8406 "value" : 10,
8407 "capabilities" : [ "AtomicStorage" ]
8408 },
8409 {
8410 "enumerant" : "Image",
8411 "value" : 11
8412 },
8413 {
8414 "enumerant" : "StorageBuffer",
8415 "value" : 12,
8416 "extensions" : [
8417 "SPV_KHR_storage_buffer_storage_class",
8418 "SPV_KHR_variable_pointers"
8419 ],
8420 "capabilities" : [ "Shader" ],
8421 "version" : "1.3"
8422 },
8423 {
8424 "enumerant" : "CallableDataNV",
8425 "value" : 5328,
8426 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8427 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8428 "version" : "None"
8429 },
8430 {
8431 "enumerant" : "CallableDataKHR",
8432 "value" : 5328,
8433 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8434 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8435 "version" : "None"
8436 },
8437 {
8438 "enumerant" : "IncomingCallableDataNV",
8439 "value" : 5329,
8440 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8441 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8442 "version" : "None"
8443 },
8444 {
8445 "enumerant" : "IncomingCallableDataKHR",
8446 "value" : 5329,
8447 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8448 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8449 "version" : "None"
8450 },
8451 {
8452 "enumerant" : "RayPayloadNV",
8453 "value" : 5338,
8454 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8455 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8456 "version" : "None"
8457 },
8458 {
8459 "enumerant" : "RayPayloadKHR",
8460 "value" : 5338,
8461 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8462 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8463 "version" : "None"
8464 },
8465 {
8466 "enumerant" : "HitAttributeNV",
8467 "value" : 5339,
8468 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8469 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8470 "version" : "None"
8471 },
8472 {
8473 "enumerant" : "HitAttributeKHR",
8474 "value" : 5339,
8475 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8476 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8477 "version" : "None"
8478 },
8479 {
8480 "enumerant" : "IncomingRayPayloadNV",
8481 "value" : 5342,
8482 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8483 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8484 "version" : "None"
8485 },
8486 {
8487 "enumerant" : "IncomingRayPayloadKHR",
8488 "value" : 5342,
8489 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8490 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8491 "version" : "None"
8492 },
8493 {
8494 "enumerant" : "ShaderRecordBufferNV",
8495 "value" : 5343,
8496 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8497 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8498 "version" : "None"
8499 },
8500 {
8501 "enumerant" : "ShaderRecordBufferKHR",
8502 "value" : 5343,
8503 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8504 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8505 "version" : "None"
8506 },
8507 {
8508 "enumerant" : "PhysicalStorageBuffer",
8509 "value" : 5349,
8510 "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
8511 "capabilities" : [ "PhysicalStorageBufferAddresses" ],
8512 "version" : "1.5"
8513 },
8514 {
8515 "enumerant" : "PhysicalStorageBufferEXT",
8516 "value" : 5349,
8517 "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
8518 "capabilities" : [ "PhysicalStorageBufferAddresses" ],
8519 "version" : "1.5"
8520 },
8521 {
8522 "enumerant" : "CodeSectionINTEL",
8523 "value" : 5605,
8524 "extensions" : [ "SPV_INTEL_function_pointers" ],
8525 "capabilities" : [ "FunctionPointersINTEL" ],
8526 "version" : "None"
8527 }
8528 ]
8529 },
8530 {
8531 "category" : "ValueEnum",
8532 "kind" : "Dim",
8533 "enumerants" : [
8534 {
8535 "enumerant" : "1D",
8536 "value" : 0,
8537 "capabilities" : [ "Sampled1D", "Image1D" ]
8538 },
8539 {
8540 "enumerant" : "2D",
8541 "value" : 1,
8542 "capabilities" : [ "Shader", "Kernel", "ImageMSArray" ]
8543 },
8544 {
8545 "enumerant" : "3D",
8546 "value" : 2
8547 },
8548 {
8549 "enumerant" : "Cube",
8550 "value" : 3,
8551 "capabilities" : [ "Shader", "ImageCubeArray" ]
8552 },
8553 {
8554 "enumerant" : "Rect",
8555 "value" : 4,
8556 "capabilities" : [ "SampledRect", "ImageRect" ]
8557 },
8558 {
8559 "enumerant" : "Buffer",
8560 "value" : 5,
8561 "capabilities" : [ "SampledBuffer", "ImageBuffer" ]
8562 },
8563 {
8564 "enumerant" : "SubpassData",
8565 "value" : 6,
8566 "capabilities" : [ "InputAttachment" ]
8567 }
8568 ]
8569 },
8570 {
8571 "category" : "ValueEnum",
8572 "kind" : "SamplerAddressingMode",
8573 "enumerants" : [
8574 {
8575 "enumerant" : "None",
8576 "value" : 0,
8577 "capabilities" : [ "Kernel" ]
8578 },
8579 {
8580 "enumerant" : "ClampToEdge",
8581 "value" : 1,
8582 "capabilities" : [ "Kernel" ]
8583 },
8584 {
8585 "enumerant" : "Clamp",
8586 "value" : 2,
8587 "capabilities" : [ "Kernel" ]
8588 },
8589 {
8590 "enumerant" : "Repeat",
8591 "value" : 3,
8592 "capabilities" : [ "Kernel" ]
8593 },
8594 {
8595 "enumerant" : "RepeatMirrored",
8596 "value" : 4,
8597 "capabilities" : [ "Kernel" ]
8598 }
8599 ]
8600 },
8601 {
8602 "category" : "ValueEnum",
8603 "kind" : "SamplerFilterMode",
8604 "enumerants" : [
8605 {
8606 "enumerant" : "Nearest",
8607 "value" : 0,
8608 "capabilities" : [ "Kernel" ]
8609 },
8610 {
8611 "enumerant" : "Linear",
8612 "value" : 1,
8613 "capabilities" : [ "Kernel" ]
8614 }
8615 ]
8616 },
8617 {
8618 "category" : "ValueEnum",
8619 "kind" : "ImageFormat",
8620 "enumerants" : [
8621 {
8622 "enumerant" : "Unknown",
8623 "value" : 0
8624 },
8625 {
8626 "enumerant" : "Rgba32f",
8627 "value" : 1,
8628 "capabilities" : [ "Shader" ]
8629 },
8630 {
8631 "enumerant" : "Rgba16f",
8632 "value" : 2,
8633 "capabilities" : [ "Shader" ]
8634 },
8635 {
8636 "enumerant" : "R32f",
8637 "value" : 3,
8638 "capabilities" : [ "Shader" ]
8639 },
8640 {
8641 "enumerant" : "Rgba8",
8642 "value" : 4,
8643 "capabilities" : [ "Shader" ]
8644 },
8645 {
8646 "enumerant" : "Rgba8Snorm",
8647 "value" : 5,
8648 "capabilities" : [ "Shader" ]
8649 },
8650 {
8651 "enumerant" : "Rg32f",
8652 "value" : 6,
8653 "capabilities" : [ "StorageImageExtendedFormats" ]
8654 },
8655 {
8656 "enumerant" : "Rg16f",
8657 "value" : 7,
8658 "capabilities" : [ "StorageImageExtendedFormats" ]
8659 },
8660 {
8661 "enumerant" : "R11fG11fB10f",
8662 "value" : 8,
8663 "capabilities" : [ "StorageImageExtendedFormats" ]
8664 },
8665 {
8666 "enumerant" : "R16f",
8667 "value" : 9,
8668 "capabilities" : [ "StorageImageExtendedFormats" ]
8669 },
8670 {
8671 "enumerant" : "Rgba16",
8672 "value" : 10,
8673 "capabilities" : [ "StorageImageExtendedFormats" ]
8674 },
8675 {
8676 "enumerant" : "Rgb10A2",
8677 "value" : 11,
8678 "capabilities" : [ "StorageImageExtendedFormats" ]
8679 },
8680 {
8681 "enumerant" : "Rg16",
8682 "value" : 12,
8683 "capabilities" : [ "StorageImageExtendedFormats" ]
8684 },
8685 {
8686 "enumerant" : "Rg8",
8687 "value" : 13,
8688 "capabilities" : [ "StorageImageExtendedFormats" ]
8689 },
8690 {
8691 "enumerant" : "R16",
8692 "value" : 14,
8693 "capabilities" : [ "StorageImageExtendedFormats" ]
8694 },
8695 {
8696 "enumerant" : "R8",
8697 "value" : 15,
8698 "capabilities" : [ "StorageImageExtendedFormats" ]
8699 },
8700 {
8701 "enumerant" : "Rgba16Snorm",
8702 "value" : 16,
8703 "capabilities" : [ "StorageImageExtendedFormats" ]
8704 },
8705 {
8706 "enumerant" : "Rg16Snorm",
8707 "value" : 17,
8708 "capabilities" : [ "StorageImageExtendedFormats" ]
8709 },
8710 {
8711 "enumerant" : "Rg8Snorm",
8712 "value" : 18,
8713 "capabilities" : [ "StorageImageExtendedFormats" ]
8714 },
8715 {
8716 "enumerant" : "R16Snorm",
8717 "value" : 19,
8718 "capabilities" : [ "StorageImageExtendedFormats" ]
8719 },
8720 {
8721 "enumerant" : "R8Snorm",
8722 "value" : 20,
8723 "capabilities" : [ "StorageImageExtendedFormats" ]
8724 },
8725 {
8726 "enumerant" : "Rgba32i",
8727 "value" : 21,
8728 "capabilities" : [ "Shader" ]
8729 },
8730 {
8731 "enumerant" : "Rgba16i",
8732 "value" : 22,
8733 "capabilities" : [ "Shader" ]
8734 },
8735 {
8736 "enumerant" : "Rgba8i",
8737 "value" : 23,
8738 "capabilities" : [ "Shader" ]
8739 },
8740 {
8741 "enumerant" : "R32i",
8742 "value" : 24,
8743 "capabilities" : [ "Shader" ]
8744 },
8745 {
8746 "enumerant" : "Rg32i",
8747 "value" : 25,
8748 "capabilities" : [ "StorageImageExtendedFormats" ]
8749 },
8750 {
8751 "enumerant" : "Rg16i",
8752 "value" : 26,
8753 "capabilities" : [ "StorageImageExtendedFormats" ]
8754 },
8755 {
8756 "enumerant" : "Rg8i",
8757 "value" : 27,
8758 "capabilities" : [ "StorageImageExtendedFormats" ]
8759 },
8760 {
8761 "enumerant" : "R16i",
8762 "value" : 28,
8763 "capabilities" : [ "StorageImageExtendedFormats" ]
8764 },
8765 {
8766 "enumerant" : "R8i",
8767 "value" : 29,
8768 "capabilities" : [ "StorageImageExtendedFormats" ]
8769 },
8770 {
8771 "enumerant" : "Rgba32ui",
8772 "value" : 30,
8773 "capabilities" : [ "Shader" ]
8774 },
8775 {
8776 "enumerant" : "Rgba16ui",
8777 "value" : 31,
8778 "capabilities" : [ "Shader" ]
8779 },
8780 {
8781 "enumerant" : "Rgba8ui",
8782 "value" : 32,
8783 "capabilities" : [ "Shader" ]
8784 },
8785 {
8786 "enumerant" : "R32ui",
8787 "value" : 33,
8788 "capabilities" : [ "Shader" ]
8789 },
8790 {
8791 "enumerant" : "Rgb10a2ui",
8792 "value" : 34,
8793 "capabilities" : [ "StorageImageExtendedFormats" ]
8794 },
8795 {
8796 "enumerant" : "Rg32ui",
8797 "value" : 35,
8798 "capabilities" : [ "StorageImageExtendedFormats" ]
8799 },
8800 {
8801 "enumerant" : "Rg16ui",
8802 "value" : 36,
8803 "capabilities" : [ "StorageImageExtendedFormats" ]
8804 },
8805 {
8806 "enumerant" : "Rg8ui",
8807 "value" : 37,
8808 "capabilities" : [ "StorageImageExtendedFormats" ]
8809 },
8810 {
8811 "enumerant" : "R16ui",
8812 "value" : 38,
8813 "capabilities" : [ "StorageImageExtendedFormats" ]
8814 },
8815 {
8816 "enumerant" : "R8ui",
8817 "value" : 39,
8818 "capabilities" : [ "StorageImageExtendedFormats" ]
8819 }
8820 ]
8821 },
8822 {
8823 "category" : "ValueEnum",
8824 "kind" : "ImageChannelOrder",
8825 "enumerants" : [
8826 {
8827 "enumerant" : "R",
8828 "value" : 0,
8829 "capabilities" : [ "Kernel" ]
8830 },
8831 {
8832 "enumerant" : "A",
8833 "value" : 1,
8834 "capabilities" : [ "Kernel" ]
8835 },
8836 {
8837 "enumerant" : "RG",
8838 "value" : 2,
8839 "capabilities" : [ "Kernel" ]
8840 },
8841 {
8842 "enumerant" : "RA",
8843 "value" : 3,
8844 "capabilities" : [ "Kernel" ]
8845 },
8846 {
8847 "enumerant" : "RGB",
8848 "value" : 4,
8849 "capabilities" : [ "Kernel" ]
8850 },
8851 {
8852 "enumerant" : "RGBA",
8853 "value" : 5,
8854 "capabilities" : [ "Kernel" ]
8855 },
8856 {
8857 "enumerant" : "BGRA",
8858 "value" : 6,
8859 "capabilities" : [ "Kernel" ]
8860 },
8861 {
8862 "enumerant" : "ARGB",
8863 "value" : 7,
8864 "capabilities" : [ "Kernel" ]
8865 },
8866 {
8867 "enumerant" : "Intensity",
8868 "value" : 8,
8869 "capabilities" : [ "Kernel" ]
8870 },
8871 {
8872 "enumerant" : "Luminance",
8873 "value" : 9,
8874 "capabilities" : [ "Kernel" ]
8875 },
8876 {
8877 "enumerant" : "Rx",
8878 "value" : 10,
8879 "capabilities" : [ "Kernel" ]
8880 },
8881 {
8882 "enumerant" : "RGx",
8883 "value" : 11,
8884 "capabilities" : [ "Kernel" ]
8885 },
8886 {
8887 "enumerant" : "RGBx",
8888 "value" : 12,
8889 "capabilities" : [ "Kernel" ]
8890 },
8891 {
8892 "enumerant" : "Depth",
8893 "value" : 13,
8894 "capabilities" : [ "Kernel" ]
8895 },
8896 {
8897 "enumerant" : "DepthStencil",
8898 "value" : 14,
8899 "capabilities" : [ "Kernel" ]
8900 },
8901 {
8902 "enumerant" : "sRGB",
8903 "value" : 15,
8904 "capabilities" : [ "Kernel" ]
8905 },
8906 {
8907 "enumerant" : "sRGBx",
8908 "value" : 16,
8909 "capabilities" : [ "Kernel" ]
8910 },
8911 {
8912 "enumerant" : "sRGBA",
8913 "value" : 17,
8914 "capabilities" : [ "Kernel" ]
8915 },
8916 {
8917 "enumerant" : "sBGRA",
8918 "value" : 18,
8919 "capabilities" : [ "Kernel" ]
8920 },
8921 {
8922 "enumerant" : "ABGR",
8923 "value" : 19,
8924 "capabilities" : [ "Kernel" ]
8925 }
8926 ]
8927 },
8928 {
8929 "category" : "ValueEnum",
8930 "kind" : "ImageChannelDataType",
8931 "enumerants" : [
8932 {
8933 "enumerant" : "SnormInt8",
8934 "value" : 0,
8935 "capabilities" : [ "Kernel" ]
8936 },
8937 {
8938 "enumerant" : "SnormInt16",
8939 "value" : 1,
8940 "capabilities" : [ "Kernel" ]
8941 },
8942 {
8943 "enumerant" : "UnormInt8",
8944 "value" : 2,
8945 "capabilities" : [ "Kernel" ]
8946 },
8947 {
8948 "enumerant" : "UnormInt16",
8949 "value" : 3,
8950 "capabilities" : [ "Kernel" ]
8951 },
8952 {
8953 "enumerant" : "UnormShort565",
8954 "value" : 4,
8955 "capabilities" : [ "Kernel" ]
8956 },
8957 {
8958 "enumerant" : "UnormShort555",
8959 "value" : 5,
8960 "capabilities" : [ "Kernel" ]
8961 },
8962 {
8963 "enumerant" : "UnormInt101010",
8964 "value" : 6,
8965 "capabilities" : [ "Kernel" ]
8966 },
8967 {
8968 "enumerant" : "SignedInt8",
8969 "value" : 7,
8970 "capabilities" : [ "Kernel" ]
8971 },
8972 {
8973 "enumerant" : "SignedInt16",
8974 "value" : 8,
8975 "capabilities" : [ "Kernel" ]
8976 },
8977 {
8978 "enumerant" : "SignedInt32",
8979 "value" : 9,
8980 "capabilities" : [ "Kernel" ]
8981 },
8982 {
8983 "enumerant" : "UnsignedInt8",
8984 "value" : 10,
8985 "capabilities" : [ "Kernel" ]
8986 },
8987 {
8988 "enumerant" : "UnsignedInt16",
8989 "value" : 11,
8990 "capabilities" : [ "Kernel" ]
8991 },
8992 {
8993 "enumerant" : "UnsignedInt32",
8994 "value" : 12,
8995 "capabilities" : [ "Kernel" ]
8996 },
8997 {
8998 "enumerant" : "HalfFloat",
8999 "value" : 13,
9000 "capabilities" : [ "Kernel" ]
9001 },
9002 {
9003 "enumerant" : "Float",
9004 "value" : 14,
9005 "capabilities" : [ "Kernel" ]
9006 },
9007 {
9008 "enumerant" : "UnormInt24",
9009 "value" : 15,
9010 "capabilities" : [ "Kernel" ]
9011 },
9012 {
9013 "enumerant" : "UnormInt101010_2",
9014 "value" : 16,
9015 "capabilities" : [ "Kernel" ]
9016 }
9017 ]
9018 },
9019 {
9020 "category" : "ValueEnum",
9021 "kind" : "FPRoundingMode",
9022 "enumerants" : [
9023 {
9024 "enumerant" : "RTE",
9025 "value" : 0
9026 },
9027 {
9028 "enumerant" : "RTZ",
9029 "value" : 1
9030 },
9031 {
9032 "enumerant" : "RTP",
9033 "value" : 2
9034 },
9035 {
9036 "enumerant" : "RTN",
9037 "value" : 3
9038 }
9039 ]
9040 },
9041 {
9042 "category" : "ValueEnum",
9043 "kind" : "LinkageType",
9044 "enumerants" : [
9045 {
9046 "enumerant" : "Export",
9047 "value" : 0,
9048 "capabilities" : [ "Linkage" ]
9049 },
9050 {
9051 "enumerant" : "Import",
9052 "value" : 1,
9053 "capabilities" : [ "Linkage" ]
9054 }
9055 ]
9056 },
9057 {
9058 "category" : "ValueEnum",
9059 "kind" : "AccessQualifier",
9060 "enumerants" : [
9061 {
9062 "enumerant" : "ReadOnly",
9063 "value" : 0,
9064 "capabilities" : [ "Kernel" ]
9065 },
9066 {
9067 "enumerant" : "WriteOnly",
9068 "value" : 1,
9069 "capabilities" : [ "Kernel" ]
9070 },
9071 {
9072 "enumerant" : "ReadWrite",
9073 "value" : 2,
9074 "capabilities" : [ "Kernel" ]
9075 }
9076 ]
9077 },
9078 {
9079 "category" : "ValueEnum",
9080 "kind" : "FunctionParameterAttribute",
9081 "enumerants" : [
9082 {
9083 "enumerant" : "Zext",
9084 "value" : 0,
9085 "capabilities" : [ "Kernel" ]
9086 },
9087 {
9088 "enumerant" : "Sext",
9089 "value" : 1,
9090 "capabilities" : [ "Kernel" ]
9091 },
9092 {
9093 "enumerant" : "ByVal",
9094 "value" : 2,
9095 "capabilities" : [ "Kernel" ]
9096 },
9097 {
9098 "enumerant" : "Sret",
9099 "value" : 3,
9100 "capabilities" : [ "Kernel" ]
9101 },
9102 {
9103 "enumerant" : "NoAlias",
9104 "value" : 4,
9105 "capabilities" : [ "Kernel" ]
9106 },
9107 {
9108 "enumerant" : "NoCapture",
9109 "value" : 5,
9110 "capabilities" : [ "Kernel" ]
9111 },
9112 {
9113 "enumerant" : "NoWrite",
9114 "value" : 6,
9115 "capabilities" : [ "Kernel" ]
9116 },
9117 {
9118 "enumerant" : "NoReadWrite",
9119 "value" : 7,
9120 "capabilities" : [ "Kernel" ]
9121 }
9122 ]
9123 },
9124 {
9125 "category" : "ValueEnum",
9126 "kind" : "Decoration",
9127 "enumerants" : [
9128 {
9129 "enumerant" : "RelaxedPrecision",
9130 "value" : 0,
9131 "capabilities" : [ "Shader" ]
9132 },
9133 {
9134 "enumerant" : "SpecId",
9135 "value" : 1,
9136 "capabilities" : [ "Shader", "Kernel" ],
9137 "parameters" : [
9138 { "kind" : "LiteralInteger", "name" : "'Specialization Constant ID'" }
9139 ]
9140 },
9141 {
9142 "enumerant" : "Block",
9143 "value" : 2,
9144 "capabilities" : [ "Shader" ]
9145 },
9146 {
9147 "enumerant" : "BufferBlock",
9148 "value" : 3,
9149 "capabilities" : [ "Shader" ],
9150 "lastVersion" : "1.3"
9151 },
9152 {
9153 "enumerant" : "RowMajor",
9154 "value" : 4,
9155 "capabilities" : [ "Matrix" ]
9156 },
9157 {
9158 "enumerant" : "ColMajor",
9159 "value" : 5,
9160 "capabilities" : [ "Matrix" ]
9161 },
9162 {
9163 "enumerant" : "ArrayStride",
9164 "value" : 6,
9165 "capabilities" : [ "Shader" ],
9166 "parameters" : [
9167 { "kind" : "LiteralInteger", "name" : "'Array Stride'" }
9168 ]
9169 },
9170 {
9171 "enumerant" : "MatrixStride",
9172 "value" : 7,
9173 "capabilities" : [ "Matrix" ],
9174 "parameters" : [
9175 { "kind" : "LiteralInteger", "name" : "'Matrix Stride'" }
9176 ]
9177 },
9178 {
9179 "enumerant" : "GLSLShared",
9180 "value" : 8,
9181 "capabilities" : [ "Shader" ]
9182 },
9183 {
9184 "enumerant" : "GLSLPacked",
9185 "value" : 9,
9186 "capabilities" : [ "Shader" ]
9187 },
9188 {
9189 "enumerant" : "CPacked",
9190 "value" : 10,
9191 "capabilities" : [ "Kernel" ]
9192 },
9193 {
9194 "enumerant" : "BuiltIn",
9195 "value" : 11,
9196 "parameters" : [
9197 { "kind" : "BuiltIn" }
9198 ]
9199 },
9200 {
9201 "enumerant" : "NoPerspective",
9202 "value" : 13,
9203 "capabilities" : [ "Shader" ]
9204 },
9205 {
9206 "enumerant" : "Flat",
9207 "value" : 14,
9208 "capabilities" : [ "Shader" ]
9209 },
9210 {
9211 "enumerant" : "Patch",
9212 "value" : 15,
9213 "capabilities" : [ "Tessellation" ]
9214 },
9215 {
9216 "enumerant" : "Centroid",
9217 "value" : 16,
9218 "capabilities" : [ "Shader" ]
9219 },
9220 {
9221 "enumerant" : "Sample",
9222 "value" : 17,
9223 "capabilities" : [ "SampleRateShading" ]
9224 },
9225 {
9226 "enumerant" : "Invariant",
9227 "value" : 18,
9228 "capabilities" : [ "Shader" ]
9229 },
9230 {
9231 "enumerant" : "Restrict",
9232 "value" : 19
9233 },
9234 {
9235 "enumerant" : "Aliased",
9236 "value" : 20
9237 },
9238 {
9239 "enumerant" : "Volatile",
9240 "value" : 21
9241 },
9242 {
9243 "enumerant" : "Constant",
9244 "value" : 22,
9245 "capabilities" : [ "Kernel" ]
9246 },
9247 {
9248 "enumerant" : "Coherent",
9249 "value" : 23
9250 },
9251 {
9252 "enumerant" : "NonWritable",
9253 "value" : 24
9254 },
9255 {
9256 "enumerant" : "NonReadable",
9257 "value" : 25
9258 },
9259 {
9260 "enumerant" : "Uniform",
9261 "value" : 26,
9262 "capabilities" : [ "Shader" ]
9263 },
9264 {
9265 "enumerant" : "UniformId",
9266 "value" : 27,
9267 "capabilities" : [ "Shader" ],
9268 "parameters" : [
9269 { "kind" : "IdScope", "name" : "'Execution'" }
9270 ],
9271 "version" : "1.4"
9272 },
9273 {
9274 "enumerant" : "SaturatedConversion",
9275 "value" : 28,
9276 "capabilities" : [ "Kernel" ]
9277 },
9278 {
9279 "enumerant" : "Stream",
9280 "value" : 29,
9281 "capabilities" : [ "GeometryStreams" ],
9282 "parameters" : [
9283 { "kind" : "LiteralInteger", "name" : "'Stream Number'" }
9284 ]
9285 },
9286 {
9287 "enumerant" : "Location",
9288 "value" : 30,
9289 "capabilities" : [ "Shader" ],
9290 "parameters" : [
9291 { "kind" : "LiteralInteger", "name" : "'Location'" }
9292 ]
9293 },
9294 {
9295 "enumerant" : "Component",
9296 "value" : 31,
9297 "capabilities" : [ "Shader" ],
9298 "parameters" : [
9299 { "kind" : "LiteralInteger", "name" : "'Component'" }
9300 ]
9301 },
9302 {
9303 "enumerant" : "Index",
9304 "value" : 32,
9305 "capabilities" : [ "Shader" ],
9306 "parameters" : [
9307 { "kind" : "LiteralInteger", "name" : "'Index'" }
9308 ]
9309 },
9310 {
9311 "enumerant" : "Binding",
9312 "value" : 33,
9313 "capabilities" : [ "Shader" ],
9314 "parameters" : [
9315 { "kind" : "LiteralInteger", "name" : "'Binding Point'" }
9316 ]
9317 },
9318 {
9319 "enumerant" : "DescriptorSet",
9320 "value" : 34,
9321 "capabilities" : [ "Shader" ],
9322 "parameters" : [
9323 { "kind" : "LiteralInteger", "name" : "'Descriptor Set'" }
9324 ]
9325 },
9326 {
9327 "enumerant" : "Offset",
9328 "value" : 35,
9329 "capabilities" : [ "Shader" ],
9330 "parameters" : [
9331 { "kind" : "LiteralInteger", "name" : "'Byte Offset'" }
9332 ]
9333 },
9334 {
9335 "enumerant" : "XfbBuffer",
9336 "value" : 36,
9337 "capabilities" : [ "TransformFeedback" ],
9338 "parameters" : [
9339 { "kind" : "LiteralInteger", "name" : "'XFB Buffer Number'" }
9340 ]
9341 },
9342 {
9343 "enumerant" : "XfbStride",
9344 "value" : 37,
9345 "capabilities" : [ "TransformFeedback" ],
9346 "parameters" : [
9347 { "kind" : "LiteralInteger", "name" : "'XFB Stride'" }
9348 ]
9349 },
9350 {
9351 "enumerant" : "FuncParamAttr",
9352 "value" : 38,
9353 "capabilities" : [ "Kernel" ],
9354 "parameters" : [
9355 { "kind" : "FunctionParameterAttribute", "name" : "'Function Parameter Attribute'" }
9356 ]
9357 },
9358 {
9359 "enumerant" : "FPRoundingMode",
9360 "value" : 39,
9361 "parameters" : [
9362 { "kind" : "FPRoundingMode", "name" : "'Floating-Point Rounding Mode'" }
9363 ]
9364 },
9365 {
9366 "enumerant" : "FPFastMathMode",
9367 "value" : 40,
9368 "capabilities" : [ "Kernel" ],
9369 "parameters" : [
9370 { "kind" : "FPFastMathMode", "name" : "'Fast-Math Mode'" }
9371 ]
9372 },
9373 {
9374 "enumerant" : "LinkageAttributes",
9375 "value" : 41,
9376 "capabilities" : [ "Linkage" ],
9377 "parameters" : [
9378 { "kind" : "LiteralString", "name" : "'Name'" },
9379 { "kind" : "LinkageType", "name" : "'Linkage Type'" }
9380 ]
9381 },
9382 {
9383 "enumerant" : "NoContraction",
9384 "value" : 42,
9385 "capabilities" : [ "Shader" ]
9386 },
9387 {
9388 "enumerant" : "InputAttachmentIndex",
9389 "value" : 43,
9390 "capabilities" : [ "InputAttachment" ],
9391 "parameters" : [
9392 { "kind" : "LiteralInteger", "name" : "'Attachment Index'" }
9393 ]
9394 },
9395 {
9396 "enumerant" : "Alignment",
9397 "value" : 44,
9398 "capabilities" : [ "Kernel" ],
9399 "parameters" : [
9400 { "kind" : "LiteralInteger", "name" : "'Alignment'" }
9401 ]
9402 },
9403 {
9404 "enumerant" : "MaxByteOffset",
9405 "value" : 45,
9406 "capabilities" : [ "Addresses" ],
9407 "parameters" : [
9408 { "kind" : "LiteralInteger", "name" : "'Max Byte Offset'" }
9409 ],
9410 "version" : "1.1"
9411 },
9412 {
9413 "enumerant" : "AlignmentId",
9414 "value" : 46,
9415 "capabilities" : [ "Kernel" ],
9416 "parameters" : [
9417 { "kind" : "IdRef", "name" : "'Alignment'" }
9418 ],
9419 "version" : "1.2"
9420 },
9421 {
9422 "enumerant" : "MaxByteOffsetId",
9423 "value" : 47,
9424 "capabilities" : [ "Addresses" ],
9425 "parameters" : [
9426 { "kind" : "IdRef", "name" : "'Max Byte Offset'" }
9427 ],
9428 "version" : "1.2"
9429 },
9430 {
9431 "enumerant" : "NoSignedWrap",
9432 "value" : 4469,
9433 "extensions" : [ "SPV_KHR_no_integer_wrap_decoration" ],
9434 "version" : "1.4"
9435 },
9436 {
9437 "enumerant" : "NoUnsignedWrap",
9438 "value" : 4470,
9439 "extensions" : [ "SPV_KHR_no_integer_wrap_decoration" ],
9440 "version" : "1.4"
9441 },
9442 {
9443 "enumerant" : "ExplicitInterpAMD",
9444 "value" : 4999,
9445 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
9446 "version" : "None"
9447 },
9448 {
9449 "enumerant" : "OverrideCoverageNV",
9450 "value" : 5248,
9451 "capabilities" : [ "SampleMaskOverrideCoverageNV" ],
9452 "extensions" : [ "SPV_NV_sample_mask_override_coverage" ],
9453 "version" : "None"
9454 },
9455 {
9456 "enumerant" : "PassthroughNV",
9457 "value" : 5250,
9458 "capabilities" : [ "GeometryShaderPassthroughNV" ],
9459 "extensions" : [ "SPV_NV_geometry_shader_passthrough" ],
9460 "version" : "None"
9461 },
9462 {
9463 "enumerant" : "ViewportRelativeNV",
9464 "value" : 5252,
9465 "capabilities" : [ "ShaderViewportMaskNV" ],
9466 "version" : "None"
9467 },
9468 {
9469 "enumerant" : "SecondaryViewportRelativeNV",
9470 "value" : 5256,
9471 "capabilities" : [ "ShaderStereoViewNV" ],
9472 "extensions" : [ "SPV_NV_stereo_view_rendering" ],
9473 "version" : "None",
9474 "parameters" : [
9475 { "kind" : "LiteralInteger", "name" : "'Offset'" }
9476 ]
9477 },
9478 {
9479 "enumerant" : "PerPrimitiveNV",
9480 "value" : 5271,
9481 "capabilities" : [ "MeshShadingNV" ],
9482 "extensions" : [ "SPV_NV_mesh_shader" ],
9483 "version" : "None"
9484 },
9485 {
9486 "enumerant" : "PerViewNV",
9487 "value" : 5272,
9488 "capabilities" : [ "MeshShadingNV" ],
9489 "extensions" : [ "SPV_NV_mesh_shader" ],
9490 "version" : "None"
9491 },
9492 {
9493 "enumerant" : "PerTaskNV",
9494 "value" : 5273,
9495 "capabilities" : [ "MeshShadingNV" ],
9496 "extensions" : [ "SPV_NV_mesh_shader" ],
9497 "version" : "None"
9498 },
9499 {
9500 "enumerant" : "PerVertexNV",
9501 "value" : 5285,
9502 "capabilities" : [ "FragmentBarycentricNV" ],
9503 "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
9504 "version" : "None"
9505 },
9506 {
9507 "enumerant" : "NonUniform",
9508 "value" : 5300,
9509 "capabilities" : [ "ShaderNonUniform" ],
9510 "version" : "1.5"
9511 },
9512 {
9513 "enumerant" : "NonUniformEXT",
9514 "value" : 5300,
9515 "capabilities" : [ "ShaderNonUniform" ],
9516 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
9517 "version" : "1.5"
9518 },
9519 {
9520 "enumerant" : "RestrictPointer",
9521 "value" : 5355,
9522 "capabilities" : [ "PhysicalStorageBufferAddresses" ],
9523 "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
9524 "version" : "1.5"
9525 },
9526 {
9527 "enumerant" : "RestrictPointerEXT",
9528 "value" : 5355,
9529 "capabilities" : [ "PhysicalStorageBufferAddresses" ],
9530 "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
9531 "version" : "1.5"
9532 },
9533 {
9534 "enumerant" : "AliasedPointer",
9535 "value" : 5356,
9536 "capabilities" : [ "PhysicalStorageBufferAddresses" ],
9537 "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
9538 "version" : "1.5"
9539 },
9540 {
9541 "enumerant" : "AliasedPointerEXT",
9542 "value" : 5356,
9543 "capabilities" : [ "PhysicalStorageBufferAddresses" ],
9544 "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
9545 "version" : "1.5"
9546 },
9547 {
9548 "enumerant" : "ReferencedIndirectlyINTEL",
9549 "value" : 5602,
9550 "capabilities" : [ "IndirectReferencesINTEL" ],
9551 "extensions" : [ "SPV_INTEL_function_pointers" ],
9552 "version" : "None"
9553 },
9554 {
9555 "enumerant" : "CounterBuffer",
9556 "value" : 5634,
9557 "parameters" : [
9558 { "kind" : "IdRef", "name" : "'Counter Buffer'" }
9559 ],
9560 "version" : "1.4"
9561 },
9562 {
9563 "enumerant" : "HlslCounterBufferGOOGLE",
9564 "value" : 5634,
9565 "parameters" : [
9566 { "kind" : "IdRef", "name" : "'Counter Buffer'" }
9567 ],
9568 "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ],
9569 "version" : "None"
9570 },
9571 {
9572 "enumerant" : "UserSemantic",
9573 "value" : 5635,
9574 "parameters" : [
9575 { "kind" : "LiteralString", "name" : "'Semantic'" }
9576 ],
9577 "version" : "1.4"
9578 },
9579 {
9580 "enumerant" : "HlslSemanticGOOGLE",
9581 "value" : 5635,
9582 "parameters" : [
9583 { "kind" : "LiteralString", "name" : "'Semantic'" }
9584 ],
9585 "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ],
9586 "version" : "None"
9587 },
9588 {
9589 "enumerant" : "UserTypeGOOGLE",
9590 "value" : 5636,
9591 "parameters" : [
9592 { "kind" : "LiteralString", "name" : "'User Type'" }
9593 ],
9594 "extensions" : [ "SPV_GOOGLE_user_type" ],
9595 "version" : "None"
9596 },
9597 {
9598 "enumerant" : "RegisterINTEL",
9599 "value" : 5825,
9600 "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
9601 "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
9602 "version" : "None"
9603 },
9604 {
9605 "enumerant" : "MemoryINTEL",
9606 "value" : 5826,
9607 "parameters" : [
9608 { "kind" : "LiteralString", "name" : "'Memory Type'" }
9609 ],
9610 "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
9611 "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
9612 "version" : "None"
9613 },
9614 {
9615 "enumerant" : "NumbanksINTEL",
9616 "value" : 5827,
9617 "parameters" : [
9618 { "kind" : "LiteralInteger", "name" : "'Banks'" }
9619 ],
9620 "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
9621 "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
9622 "version" : "None"
9623 },
9624 {
9625 "enumerant" : "BankwidthINTEL",
9626 "value" : 5828,
9627 "parameters" : [
9628 { "kind" : "LiteralInteger", "name" : "'Bank Width'" }
9629 ],
9630 "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
9631 "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
9632 "version" : "None"
9633 },
9634 {
9635 "enumerant" : "MaxPrivateCopiesINTEL",
9636 "value" : 5829,
9637 "parameters" : [
9638 { "kind" : "LiteralInteger", "name" : "'Maximum Copies'" }
9639 ],
9640 "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
9641 "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
9642 "version" : "None"
9643 },
9644 {
9645 "enumerant" : "SinglepumpINTEL",
9646 "value" : 5830,
9647 "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
9648 "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
9649 "version" : "None"
9650 },
9651 {
9652 "enumerant" : "DoublepumpINTEL",
9653 "value" : 5831,
9654 "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
9655 "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
9656 "version" : "None"
9657 },
9658 {
9659 "enumerant" : "MaxReplicatesINTEL",
9660 "value" : 5832,
9661 "parameters" : [
9662 { "kind" : "LiteralInteger", "name" : "'Maximum Replicates'" }
9663 ],
9664 "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
9665 "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
9666 "version" : "None"
9667 },
9668 {
9669 "enumerant" : "SimpleDualPortINTEL",
9670 "value" : 5833,
9671 "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
9672 "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
9673 "version" : "None"
9674 },
9675 {
9676 "enumerant" : "MergeINTEL",
9677 "value" : 5834,
9678 "parameters" : [
9679 { "kind" : "LiteralString", "name" : "'Merge Key'" },
9680 { "kind" : "LiteralString", "name" : "'Merge Type'" }
9681 ],
9682 "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
9683 "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
9684 "version" : "None"
9685 },
9686 {
9687 "enumerant" : "BankBitsINTEL",
9688 "value" : 5835,
9689 "parameters" : [
9690 { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Bank Bits'" }
9691 ],
9692 "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
9693 "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
9694 "version" : "None"
9695 },
9696 {
9697 "enumerant" : "ForcePow2DepthINTEL",
9698 "value" : 5836,
9699 "parameters" : [
9700 { "kind" : "LiteralInteger", "name" : "'Force Key'" }
9701 ],
9702 "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
9703 "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
9704 "version" : "None"
9705 }
9706 ]
9707 },
9708 {
9709 "category" : "ValueEnum",
9710 "kind" : "BuiltIn",
9711 "enumerants" : [
9712 {
9713 "enumerant" : "Position",
9714 "value" : 0,
9715 "capabilities" : [ "Shader" ]
9716 },
9717 {
9718 "enumerant" : "PointSize",
9719 "value" : 1,
9720 "capabilities" : [ "Shader" ]
9721 },
9722 {
9723 "enumerant" : "ClipDistance",
9724 "value" : 3,
9725 "capabilities" : [ "ClipDistance" ]
9726 },
9727 {
9728 "enumerant" : "CullDistance",
9729 "value" : 4,
9730 "capabilities" : [ "CullDistance" ]
9731 },
9732 {
9733 "enumerant" : "VertexId",
9734 "value" : 5,
9735 "capabilities" : [ "Shader" ]
9736 },
9737 {
9738 "enumerant" : "InstanceId",
9739 "value" : 6,
9740 "capabilities" : [ "Shader" ]
9741 },
9742 {
9743 "enumerant" : "PrimitiveId",
9744 "value" : 7,
9745 "capabilities" : [ "Geometry", "Tessellation", "RayTracingNV", "RayTracingProvisionalKHR" ]
9746 },
9747 {
9748 "enumerant" : "InvocationId",
9749 "value" : 8,
9750 "capabilities" : [ "Geometry", "Tessellation" ]
9751 },
9752 {
9753 "enumerant" : "Layer",
9754 "value" : 9,
9755 "capabilities" : [ "Geometry", "ShaderLayer", "ShaderViewportIndexLayerEXT" ]
9756 },
9757 {
9758 "enumerant" : "ViewportIndex",
9759 "value" : 10,
9760 "capabilities" : [ "MultiViewport", "ShaderViewportIndex", "ShaderViewportIndexLayerEXT" ]
9761 },
9762 {
9763 "enumerant" : "TessLevelOuter",
9764 "value" : 11,
9765 "capabilities" : [ "Tessellation" ]
9766 },
9767 {
9768 "enumerant" : "TessLevelInner",
9769 "value" : 12,
9770 "capabilities" : [ "Tessellation" ]
9771 },
9772 {
9773 "enumerant" : "TessCoord",
9774 "value" : 13,
9775 "capabilities" : [ "Tessellation" ]
9776 },
9777 {
9778 "enumerant" : "PatchVertices",
9779 "value" : 14,
9780 "capabilities" : [ "Tessellation" ]
9781 },
9782 {
9783 "enumerant" : "FragCoord",
9784 "value" : 15,
9785 "capabilities" : [ "Shader" ]
9786 },
9787 {
9788 "enumerant" : "PointCoord",
9789 "value" : 16,
9790 "capabilities" : [ "Shader" ]
9791 },
9792 {
9793 "enumerant" : "FrontFacing",
9794 "value" : 17,
9795 "capabilities" : [ "Shader" ]
9796 },
9797 {
9798 "enumerant" : "SampleId",
9799 "value" : 18,
9800 "capabilities" : [ "SampleRateShading" ]
9801 },
9802 {
9803 "enumerant" : "SamplePosition",
9804 "value" : 19,
9805 "capabilities" : [ "SampleRateShading" ]
9806 },
9807 {
9808 "enumerant" : "SampleMask",
9809 "value" : 20,
9810 "capabilities" : [ "Shader" ]
9811 },
9812 {
9813 "enumerant" : "FragDepth",
9814 "value" : 22,
9815 "capabilities" : [ "Shader" ]
9816 },
9817 {
9818 "enumerant" : "HelperInvocation",
9819 "value" : 23,
9820 "capabilities" : [ "Shader" ]
9821 },
9822 {
9823 "enumerant" : "NumWorkgroups",
9824 "value" : 24
9825 },
9826 {
9827 "enumerant" : "WorkgroupSize",
9828 "value" : 25
9829 },
9830 {
9831 "enumerant" : "WorkgroupId",
9832 "value" : 26
9833 },
9834 {
9835 "enumerant" : "LocalInvocationId",
9836 "value" : 27
9837 },
9838 {
9839 "enumerant" : "GlobalInvocationId",
9840 "value" : 28
9841 },
9842 {
9843 "enumerant" : "LocalInvocationIndex",
9844 "value" : 29
9845 },
9846 {
9847 "enumerant" : "WorkDim",
9848 "value" : 30,
9849 "capabilities" : [ "Kernel" ]
9850 },
9851 {
9852 "enumerant" : "GlobalSize",
9853 "value" : 31,
9854 "capabilities" : [ "Kernel" ]
9855 },
9856 {
9857 "enumerant" : "EnqueuedWorkgroupSize",
9858 "value" : 32,
9859 "capabilities" : [ "Kernel" ]
9860 },
9861 {
9862 "enumerant" : "GlobalOffset",
9863 "value" : 33,
9864 "capabilities" : [ "Kernel" ]
9865 },
9866 {
9867 "enumerant" : "GlobalLinearId",
9868 "value" : 34,
9869 "capabilities" : [ "Kernel" ]
9870 },
9871 {
9872 "enumerant" : "SubgroupSize",
9873 "value" : 36,
9874 "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ]
9875 },
9876 {
9877 "enumerant" : "SubgroupMaxSize",
9878 "value" : 37,
9879 "capabilities" : [ "Kernel" ]
9880 },
9881 {
9882 "enumerant" : "NumSubgroups",
9883 "value" : 38,
9884 "capabilities" : [ "Kernel", "GroupNonUniform" ]
9885 },
9886 {
9887 "enumerant" : "NumEnqueuedSubgroups",
9888 "value" : 39,
9889 "capabilities" : [ "Kernel" ]
9890 },
9891 {
9892 "enumerant" : "SubgroupId",
9893 "value" : 40,
9894 "capabilities" : [ "Kernel", "GroupNonUniform" ]
9895 },
9896 {
9897 "enumerant" : "SubgroupLocalInvocationId",
9898 "value" : 41,
9899 "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ]
9900 },
9901 {
9902 "enumerant" : "VertexIndex",
9903 "value" : 42,
9904 "capabilities" : [ "Shader" ]
9905 },
9906 {
9907 "enumerant" : "InstanceIndex",
9908 "value" : 43,
9909 "capabilities" : [ "Shader" ]
9910 },
9911 {
9912 "enumerant" : "SubgroupEqMask",
9913 "value" : 4416,
9914 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
9915 "version" : "1.3"
9916 },
9917 {
9918 "enumerant" : "SubgroupGeMask",
9919 "value" : 4417,
9920 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
9921 "version" : "1.3"
9922 },
9923 {
9924 "enumerant" : "SubgroupGtMask",
9925 "value" : 4418,
9926 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
9927 "version" : "1.3"
9928 },
9929 {
9930 "enumerant" : "SubgroupLeMask",
9931 "value" : 4419,
9932 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
9933 "version" : "1.3"
9934 },
9935 {
9936 "enumerant" : "SubgroupLtMask",
9937 "value" : 4420,
9938 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
9939 "version" : "1.3"
9940 },
9941 {
9942 "enumerant" : "SubgroupEqMaskKHR",
9943 "value" : 4416,
9944 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
9945 "extensions" : [ "SPV_KHR_shader_ballot" ],
9946 "version" : "1.3"
9947 },
9948 {
9949 "enumerant" : "SubgroupGeMaskKHR",
9950 "value" : 4417,
9951 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
9952 "extensions" : [ "SPV_KHR_shader_ballot" ],
9953 "version" : "1.3"
9954 },
9955 {
9956 "enumerant" : "SubgroupGtMaskKHR",
9957 "value" : 4418,
9958 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
9959 "extensions" : [ "SPV_KHR_shader_ballot" ],
9960 "version" : "1.3"
9961 },
9962 {
9963 "enumerant" : "SubgroupLeMaskKHR",
9964 "value" : 4419,
9965 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
9966 "extensions" : [ "SPV_KHR_shader_ballot" ],
9967 "version" : "1.3"
9968 },
9969 {
9970 "enumerant" : "SubgroupLtMaskKHR",
9971 "value" : 4420,
9972 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
9973 "extensions" : [ "SPV_KHR_shader_ballot" ],
9974 "version" : "1.3"
9975 },
9976 {
9977 "enumerant" : "BaseVertex",
9978 "value" : 4424,
9979 "capabilities" : [ "DrawParameters" ],
9980 "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
9981 "version" : "1.3"
9982 },
9983 {
9984 "enumerant" : "BaseInstance",
9985 "value" : 4425,
9986 "capabilities" : [ "DrawParameters" ],
9987 "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
9988 "version" : "1.3"
9989 },
9990 {
9991 "enumerant" : "DrawIndex",
9992 "value" : 4426,
9993 "capabilities" : [ "DrawParameters", "MeshShadingNV" ],
9994 "extensions" : [ "SPV_KHR_shader_draw_parameters", "SPV_NV_mesh_shader" ],
9995 "version" : "1.3"
9996 },
9997 {
9998 "enumerant" : "DeviceIndex",
9999 "value" : 4438,
10000 "capabilities" : [ "DeviceGroup" ],
10001 "extensions" : [ "SPV_KHR_device_group" ],
10002 "version" : "1.3"
10003 },
10004 {
10005 "enumerant" : "ViewIndex",
10006 "value" : 4440,
10007 "capabilities" : [ "MultiView" ],
10008 "extensions" : [ "SPV_KHR_multiview" ],
10009 "version" : "1.3"
10010 },
10011 {
10012 "enumerant" : "BaryCoordNoPerspAMD",
10013 "value" : 4992,
10014 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
10015 "version" : "None"
10016 },
10017 {
10018 "enumerant" : "BaryCoordNoPerspCentroidAMD",
10019 "value" : 4993,
10020 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
10021 "version" : "None"
10022 },
10023 {
10024 "enumerant" : "BaryCoordNoPerspSampleAMD",
10025 "value" : 4994,
10026 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
10027 "version" : "None"
10028 },
10029 {
10030 "enumerant" : "BaryCoordSmoothAMD",
10031 "value" : 4995,
10032 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
10033 "version" : "None"
10034 },
10035 {
10036 "enumerant" : "BaryCoordSmoothCentroidAMD",
10037 "value" : 4996,
10038 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
10039 "version" : "None"
10040 },
10041 {
10042 "enumerant" : "BaryCoordSmoothSampleAMD",
10043 "value" : 4997,
10044 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
10045 "version" : "None"
10046 },
10047 {
10048 "enumerant" : "BaryCoordPullModelAMD",
10049 "value" : 4998,
10050 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
10051 "version" : "None"
10052 },
10053 {
10054 "enumerant" : "FragStencilRefEXT",
10055 "value" : 5014,
10056 "capabilities" : [ "StencilExportEXT" ],
10057 "extensions" : [ "SPV_EXT_shader_stencil_export" ],
10058 "version" : "None"
10059 },
10060 {
10061 "enumerant" : "ViewportMaskNV",
10062 "value" : 5253,
10063 "capabilities" : [ "ShaderViewportMaskNV", "MeshShadingNV" ],
10064 "extensions" : [ "SPV_NV_viewport_array2", "SPV_NV_mesh_shader" ],
10065 "version" : "None"
10066 },
10067 {
10068 "enumerant" : "SecondaryPositionNV",
10069 "value" : 5257,
10070 "capabilities" : [ "ShaderStereoViewNV" ],
10071 "extensions" : [ "SPV_NV_stereo_view_rendering" ],
10072 "version" : "None"
10073 },
10074 {
10075 "enumerant" : "SecondaryViewportMaskNV",
10076 "value" : 5258,
10077 "capabilities" : [ "ShaderStereoViewNV" ],
10078 "extensions" : [ "SPV_NV_stereo_view_rendering" ],
10079 "version" : "None"
10080 },
10081 {
10082 "enumerant" : "PositionPerViewNV",
10083 "value" : 5261,
10084 "capabilities" : [ "PerViewAttributesNV", "MeshShadingNV" ],
10085 "extensions" : [ "SPV_NVX_multiview_per_view_attributes", "SPV_NV_mesh_shader" ],
10086 "version" : "None"
10087 },
10088 {
10089 "enumerant" : "ViewportMaskPerViewNV",
10090 "value" : 5262,
10091 "capabilities" : [ "PerViewAttributesNV", "MeshShadingNV" ],
10092 "extensions" : [ "SPV_NVX_multiview_per_view_attributes", "SPV_NV_mesh_shader" ],
10093 "version" : "None"
10094 },
10095 {
10096 "enumerant" : "FullyCoveredEXT",
10097 "value" : 5264,
10098 "capabilities" : [ "FragmentFullyCoveredEXT" ],
10099 "extensions" : [ "SPV_EXT_fragment_fully_covered" ],
10100 "version" : "None"
10101 },
10102 {
10103 "enumerant" : "TaskCountNV",
10104 "value" : 5274,
10105 "capabilities" : [ "MeshShadingNV" ],
10106 "extensions" : [ "SPV_NV_mesh_shader" ],
10107 "version" : "None"
10108 },
10109 {
10110 "enumerant" : "PrimitiveCountNV",
10111 "value" : 5275,
10112 "capabilities" : [ "MeshShadingNV" ],
10113 "extensions" : [ "SPV_NV_mesh_shader" ],
10114 "version" : "None"
10115 },
10116 {
10117 "enumerant" : "PrimitiveIndicesNV",
10118 "value" : 5276,
10119 "capabilities" : [ "MeshShadingNV" ],
10120 "extensions" : [ "SPV_NV_mesh_shader" ],
10121 "version" : "None"
10122 },
10123 {
10124 "enumerant" : "ClipDistancePerViewNV",
10125 "value" : 5277,
10126 "capabilities" : [ "MeshShadingNV" ],
10127 "extensions" : [ "SPV_NV_mesh_shader" ],
10128 "version" : "None"
10129 },
10130 {
10131 "enumerant" : "CullDistancePerViewNV",
10132 "value" : 5278,
10133 "capabilities" : [ "MeshShadingNV" ],
10134 "extensions" : [ "SPV_NV_mesh_shader" ],
10135 "version" : "None"
10136 },
10137 {
10138 "enumerant" : "LayerPerViewNV",
10139 "value" : 5279,
10140 "capabilities" : [ "MeshShadingNV" ],
10141 "extensions" : [ "SPV_NV_mesh_shader" ],
10142 "version" : "None"
10143 },
10144 {
10145 "enumerant" : "MeshViewCountNV",
10146 "value" : 5280,
10147 "capabilities" : [ "MeshShadingNV" ],
10148 "extensions" : [ "SPV_NV_mesh_shader" ],
10149 "version" : "None"
10150 },
10151 {
10152 "enumerant" : "MeshViewIndicesNV",
10153 "value" : 5281,
10154 "capabilities" : [ "MeshShadingNV" ],
10155 "extensions" : [ "SPV_NV_mesh_shader" ],
10156 "version" : "None"
10157 },
10158 {
10159 "enumerant" : "BaryCoordNV",
10160 "value" : 5286,
10161 "capabilities" : [ "FragmentBarycentricNV" ],
10162 "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
10163 "version" : "None"
10164 },
10165 {
10166 "enumerant" : "BaryCoordNoPerspNV",
10167 "value" : 5287,
10168 "capabilities" : [ "FragmentBarycentricNV" ],
10169 "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
10170 "version" : "None"
10171 },
10172 {
10173 "enumerant" : "FragSizeEXT",
10174 "value" : 5292 ,
10175 "capabilities" : [ "FragmentDensityEXT", "ShadingRateNV" ],
10176 "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
10177 "version" : "None"
10178 },
10179 {
10180 "enumerant" : "FragmentSizeNV",
10181 "value" : 5292 ,
10182 "capabilities" : [ "ShadingRateNV", "FragmentDensityEXT" ],
10183 "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
10184 "version" : "None"
10185 },
10186 {
10187 "enumerant" : "FragInvocationCountEXT",
10188 "value" : 5293,
10189 "capabilities" : [ "FragmentDensityEXT", "ShadingRateNV" ],
10190 "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
10191 "version" : "None"
10192 },
10193 {
10194 "enumerant" : "InvocationsPerPixelNV",
10195 "value" : 5293,
10196 "capabilities" : [ "ShadingRateNV", "FragmentDensityEXT" ],
10197 "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
10198 "version" : "None"
10199 },
10200 {
10201 "enumerant" : "LaunchIdNV",
10202 "value" : 5319,
10203 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10204 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10205 "version" : "None"
10206 },
10207 {
10208 "enumerant" : "LaunchIdKHR",
10209 "value" : 5319,
10210 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10211 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10212 "version" : "None"
10213 },
10214 {
10215 "enumerant" : "LaunchSizeNV",
10216 "value" : 5320,
10217 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10218 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10219 "version" : "None"
10220 },
10221 {
10222 "enumerant" : "LaunchSizeKHR",
10223 "value" : 5320,
10224 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10225 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10226 "version" : "None"
10227 },
10228 {
10229 "enumerant" : "WorldRayOriginNV",
10230 "value" : 5321,
10231 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10232 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10233 "version" : "None"
10234 },
10235 {
10236 "enumerant" : "WorldRayOriginKHR",
10237 "value" : 5321,
10238 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10239 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10240 "version" : "None"
10241 },
10242 {
10243 "enumerant" : "WorldRayDirectionNV",
10244 "value" : 5322,
10245 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10246 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10247 "version" : "None"
10248 },
10249 {
10250 "enumerant" : "WorldRayDirectionKHR",
10251 "value" : 5322,
10252 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10253 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10254 "version" : "None"
10255 },
10256 {
10257 "enumerant" : "ObjectRayOriginNV",
10258 "value" : 5323,
10259 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10260 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10261 "version" : "None"
10262 },
10263 {
10264 "enumerant" : "ObjectRayOriginKHR",
10265 "value" : 5323,
10266 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10267 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10268 "version" : "None"
10269 },
10270 {
10271 "enumerant" : "ObjectRayDirectionNV",
10272 "value" : 5324,
10273 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10274 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10275 "version" : "None"
10276 },
10277 {
10278 "enumerant" : "ObjectRayDirectionKHR",
10279 "value" : 5324,
10280 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10281 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10282 "version" : "None"
10283 },
10284 {
10285 "enumerant" : "RayTminNV",
10286 "value" : 5325,
10287 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10288 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10289 "version" : "None"
10290 },
10291 {
10292 "enumerant" : "RayTminKHR",
10293 "value" : 5325,
10294 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10295 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10296 "version" : "None"
10297 },
10298 {
10299 "enumerant" : "RayTmaxNV",
10300 "value" : 5326,
10301 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10302 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10303 "version" : "None"
10304 },
10305 {
10306 "enumerant" : "RayTmaxKHR",
10307 "value" : 5326,
10308 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10309 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10310 "version" : "None"
10311 },
10312 {
10313 "enumerant" : "InstanceCustomIndexNV",
10314 "value" : 5327,
10315 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10316 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10317 "version" : "None"
10318 },
10319 {
10320 "enumerant" : "InstanceCustomIndexKHR",
10321 "value" : 5327,
10322 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10323 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10324 "version" : "None"
10325 },
10326 {
10327 "enumerant" : "ObjectToWorldNV",
10328 "value" : 5330,
10329 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10330 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10331 "version" : "None"
10332 },
10333 {
10334 "enumerant" : "ObjectToWorldKHR",
10335 "value" : 5330,
10336 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10337 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10338 "version" : "None"
10339 },
10340 {
10341 "enumerant" : "WorldToObjectNV",
10342 "value" : 5331,
10343 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10344 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10345 "version" : "None"
10346 },
10347 {
10348 "enumerant" : "WorldToObjectKHR",
10349 "value" : 5331,
10350 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10351 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10352 "version" : "None"
10353 },
10354 {
10355 "enumerant" : "HitTNV",
10356 "value" : 5332,
10357 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10358 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10359 "version" : "None"
10360 },
10361 {
10362 "enumerant" : "HitTKHR",
10363 "value" : 5332,
10364 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10365 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10366 "version" : "None"
10367 },
10368 {
10369 "enumerant" : "HitKindNV",
10370 "value" : 5333,
10371 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10372 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10373 "version" : "None"
10374 },
10375 {
10376 "enumerant" : "HitKindKHR",
10377 "value" : 5333,
10378 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10379 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10380 "version" : "None"
10381 },
10382 {
10383 "enumerant" : "IncomingRayFlagsNV",
10384 "value" : 5351,
10385 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10386 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10387 "version" : "None"
10388 },
10389 {
10390 "enumerant" : "IncomingRayFlagsKHR",
10391 "value" : 5351,
10392 "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10393 "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10394 "version" : "None"
10395 },
10396 {
10397 "enumerant" : "RayGeometryIndexKHR",
10398 "value" : 5352,
10399 "capabilities" : [ "RayTracingProvisionalKHR" ],
10400 "extensions" : [ "SPV_KHR_ray_tracing" ],
10401 "version" : "None"
10402 },
10403 {
10404 "enumerant" : "WarpsPerSMNV",
10405 "value" : 5374,
10406 "capabilities" : [ "ShaderSMBuiltinsNV" ],
10407 "extensions" : [ "SPV_NV_shader_sm_builtins" ],
10408 "version" : "None"
10409 },
10410 {
10411 "enumerant" : "SMCountNV",
10412 "value" : 5375,
10413 "capabilities" : [ "ShaderSMBuiltinsNV" ],
10414 "extensions" : [ "SPV_NV_shader_sm_builtins" ],
10415 "version" : "None"
10416 },
10417 {
10418 "enumerant" : "WarpIDNV",
10419 "value" : 5376,
10420 "capabilities" : [ "ShaderSMBuiltinsNV" ],
10421 "extensions" : [ "SPV_NV_shader_sm_builtins" ],
10422 "version" : "None"
10423 },
10424 {
10425 "enumerant" : "SMIDNV",
10426 "value" : 5377,
10427 "capabilities" : [ "ShaderSMBuiltinsNV" ],
10428 "extensions" : [ "SPV_NV_shader_sm_builtins" ],
10429 "version" : "None"
10430 }
10431 ]
10432 },
10433 {
10434 "category" : "ValueEnum",
10435 "kind" : "Scope",
10436 "enumerants" : [
10437 {
10438 "enumerant" : "CrossDevice",
10439 "value" : 0
10440 },
10441 {
10442 "enumerant" : "Device",
10443 "value" : 1
10444 },
10445 {
10446 "enumerant" : "Workgroup",
10447 "value" : 2
10448 },
10449 {
10450 "enumerant" : "Subgroup",
10451 "value" : 3
10452 },
10453 {
10454 "enumerant" : "Invocation",
10455 "value" : 4
10456 },
10457 {
10458 "enumerant" : "QueueFamily",
10459 "value" : 5,
10460 "capabilities" : [ "VulkanMemoryModel" ],
10461 "version" : "1.5"
10462 },
10463 {
10464 "enumerant" : "QueueFamilyKHR",
10465 "value" : 5,
10466 "capabilities" : [ "VulkanMemoryModel" ],
10467 "version" : "1.5"
10468 },
10469 {
10470 "enumerant" : "ShaderCallKHR",
10471 "value" : 6,
10472 "capabilities" : [ "RayTracingProvisionalKHR" ],
10473 "version" : "None"
10474 }
10475 ]
10476 },
10477 {
10478 "category" : "ValueEnum",
10479 "kind" : "GroupOperation",
10480 "enumerants" : [
10481 {
10482 "enumerant" : "Reduce",
10483 "value" : 0,
10484 "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
10485 },
10486 {
10487 "enumerant" : "InclusiveScan",
10488 "value" : 1,
10489 "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
10490 },
10491 {
10492 "enumerant" : "ExclusiveScan",
10493 "value" : 2,
10494 "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
10495 },
10496 {
10497 "enumerant" : "ClusteredReduce",
10498 "value" : 3,
10499 "capabilities" : [ "GroupNonUniformClustered" ],
10500 "version" : "1.3"
10501 },
10502 {
10503 "enumerant" : "PartitionedReduceNV",
10504 "value" : 6,
10505 "capabilities" : [ "GroupNonUniformPartitionedNV" ],
10506 "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
10507 "version" : "None"
10508 },
10509 {
10510 "enumerant" : "PartitionedInclusiveScanNV",
10511 "value" : 7,
10512 "capabilities" : [ "GroupNonUniformPartitionedNV" ],
10513 "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
10514 "version" : "None"
10515 },
10516 {
10517 "enumerant" : "PartitionedExclusiveScanNV",
10518 "value" : 8,
10519 "capabilities" : [ "GroupNonUniformPartitionedNV" ],
10520 "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
10521 "version" : "None"
10522 }
10523 ]
10524 },
10525 {
10526 "category" : "ValueEnum",
10527 "kind" : "KernelEnqueueFlags",
10528 "enumerants" : [
10529 {
10530 "enumerant" : "NoWait",
10531 "value" : 0,
10532 "capabilities" : [ "Kernel" ]
10533 },
10534 {
10535 "enumerant" : "WaitKernel",
10536 "value" : 1,
10537 "capabilities" : [ "Kernel" ]
10538 },
10539 {
10540 "enumerant" : "WaitWorkGroup",
10541 "value" : 2,
10542 "capabilities" : [ "Kernel" ]
10543 }
10544 ]
10545 },
10546 {
10547 "category" : "ValueEnum",
10548 "kind" : "Capability",
10549 "enumerants" : [
10550 {
10551 "enumerant" : "Matrix",
10552 "value" : 0
10553 },
10554 {
10555 "enumerant" : "Shader",
10556 "value" : 1,
10557 "capabilities" : [ "Matrix" ]
10558 },
10559 {
10560 "enumerant" : "Geometry",
10561 "value" : 2,
10562 "capabilities" : [ "Shader" ]
10563 },
10564 {
10565 "enumerant" : "Tessellation",
10566 "value" : 3,
10567 "capabilities" : [ "Shader" ]
10568 },
10569 {
10570 "enumerant" : "Addresses",
10571 "value" : 4
10572 },
10573 {
10574 "enumerant" : "Linkage",
10575 "value" : 5
10576 },
10577 {
10578 "enumerant" : "Kernel",
10579 "value" : 6
10580 },
10581 {
10582 "enumerant" : "Vector16",
10583 "value" : 7,
10584 "capabilities" : [ "Kernel" ]
10585 },
10586 {
10587 "enumerant" : "Float16Buffer",
10588 "value" : 8,
10589 "capabilities" : [ "Kernel" ]
10590 },
10591 {
10592 "enumerant" : "Float16",
10593 "value" : 9
10594 },
10595 {
10596 "enumerant" : "Float64",
10597 "value" : 10
10598 },
10599 {
10600 "enumerant" : "Int64",
10601 "value" : 11
10602 },
10603 {
10604 "enumerant" : "Int64Atomics",
10605 "value" : 12,
10606 "capabilities" : [ "Int64" ]
10607 },
10608 {
10609 "enumerant" : "ImageBasic",
10610 "value" : 13,
10611 "capabilities" : [ "Kernel" ]
10612 },
10613 {
10614 "enumerant" : "ImageReadWrite",
10615 "value" : 14,
10616 "capabilities" : [ "ImageBasic" ]
10617 },
10618 {
10619 "enumerant" : "ImageMipmap",
10620 "value" : 15,
10621 "capabilities" : [ "ImageBasic" ]
10622 },
10623 {
10624 "enumerant" : "Pipes",
10625 "value" : 17,
10626 "capabilities" : [ "Kernel" ]
10627 },
10628 {
10629 "enumerant" : "Groups",
10630 "value" : 18,
10631 "extensions" : [ "SPV_AMD_shader_ballot" ]
10632 },
10633 {
10634 "enumerant" : "DeviceEnqueue",
10635 "value" : 19,
10636 "capabilities" : [ "Kernel" ]
10637 },
10638 {
10639 "enumerant" : "LiteralSampler",
10640 "value" : 20,
10641 "capabilities" : [ "Kernel" ]
10642 },
10643 {
10644 "enumerant" : "AtomicStorage",
10645 "value" : 21,
10646 "capabilities" : [ "Shader" ]
10647 },
10648 {
10649 "enumerant" : "Int16",
10650 "value" : 22
10651 },
10652 {
10653 "enumerant" : "TessellationPointSize",
10654 "value" : 23,
10655 "capabilities" : [ "Tessellation" ]
10656 },
10657 {
10658 "enumerant" : "GeometryPointSize",
10659 "value" : 24,
10660 "capabilities" : [ "Geometry" ]
10661 },
10662 {
10663 "enumerant" : "ImageGatherExtended",
10664 "value" : 25,
10665 "capabilities" : [ "Shader" ]
10666 },
10667 {
10668 "enumerant" : "StorageImageMultisample",
10669 "value" : 27,
10670 "capabilities" : [ "Shader" ]
10671 },
10672 {
10673 "enumerant" : "UniformBufferArrayDynamicIndexing",
10674 "value" : 28,
10675 "capabilities" : [ "Shader" ]
10676 },
10677 {
10678 "enumerant" : "SampledImageArrayDynamicIndexing",
10679 "value" : 29,
10680 "capabilities" : [ "Shader" ]
10681 },
10682 {
10683 "enumerant" : "StorageBufferArrayDynamicIndexing",
10684 "value" : 30,
10685 "capabilities" : [ "Shader" ]
10686 },
10687 {
10688 "enumerant" : "StorageImageArrayDynamicIndexing",
10689 "value" : 31,
10690 "capabilities" : [ "Shader" ]
10691 },
10692 {
10693 "enumerant" : "ClipDistance",
10694 "value" : 32,
10695 "capabilities" : [ "Shader" ]
10696 },
10697 {
10698 "enumerant" : "CullDistance",
10699 "value" : 33,
10700 "capabilities" : [ "Shader" ]
10701 },
10702 {
10703 "enumerant" : "ImageCubeArray",
10704 "value" : 34,
10705 "capabilities" : [ "SampledCubeArray" ]
10706 },
10707 {
10708 "enumerant" : "SampleRateShading",
10709 "value" : 35,
10710 "capabilities" : [ "Shader" ]
10711 },
10712 {
10713 "enumerant" : "ImageRect",
10714 "value" : 36,
10715 "capabilities" : [ "SampledRect" ]
10716 },
10717 {
10718 "enumerant" : "SampledRect",
10719 "value" : 37,
10720 "capabilities" : [ "Shader" ]
10721 },
10722 {
10723 "enumerant" : "GenericPointer",
10724 "value" : 38,
10725 "capabilities" : [ "Addresses" ]
10726 },
10727 {
10728 "enumerant" : "Int8",
10729 "value" : 39
10730 },
10731 {
10732 "enumerant" : "InputAttachment",
10733 "value" : 40,
10734 "capabilities" : [ "Shader" ]
10735 },
10736 {
10737 "enumerant" : "SparseResidency",
10738 "value" : 41,
10739 "capabilities" : [ "Shader" ]
10740 },
10741 {
10742 "enumerant" : "MinLod",
10743 "value" : 42,
10744 "capabilities" : [ "Shader" ]
10745 },
10746 {
10747 "enumerant" : "Sampled1D",
10748 "value" : 43
10749 },
10750 {
10751 "enumerant" : "Image1D",
10752 "value" : 44,
10753 "capabilities" : [ "Sampled1D" ]
10754 },
10755 {
10756 "enumerant" : "SampledCubeArray",
10757 "value" : 45,
10758 "capabilities" : [ "Shader" ]
10759 },
10760 {
10761 "enumerant" : "SampledBuffer",
10762 "value" : 46
10763 },
10764 {
10765 "enumerant" : "ImageBuffer",
10766 "value" : 47,
10767 "capabilities" : [ "SampledBuffer" ]
10768 },
10769 {
10770 "enumerant" : "ImageMSArray",
10771 "value" : 48,
10772 "capabilities" : [ "Shader" ]
10773 },
10774 {
10775 "enumerant" : "StorageImageExtendedFormats",
10776 "value" : 49,
10777 "capabilities" : [ "Shader" ]
10778 },
10779 {
10780 "enumerant" : "ImageQuery",
10781 "value" : 50,
10782 "capabilities" : [ "Shader" ]
10783 },
10784 {
10785 "enumerant" : "DerivativeControl",
10786 "value" : 51,
10787 "capabilities" : [ "Shader" ]
10788 },
10789 {
10790 "enumerant" : "InterpolationFunction",
10791 "value" : 52,
10792 "capabilities" : [ "Shader" ]
10793 },
10794 {
10795 "enumerant" : "TransformFeedback",
10796 "value" : 53,
10797 "capabilities" : [ "Shader" ]
10798 },
10799 {
10800 "enumerant" : "GeometryStreams",
10801 "value" : 54,
10802 "capabilities" : [ "Geometry" ]
10803 },
10804 {
10805 "enumerant" : "StorageImageReadWithoutFormat",
10806 "value" : 55,
10807 "capabilities" : [ "Shader" ]
10808 },
10809 {
10810 "enumerant" : "StorageImageWriteWithoutFormat",
10811 "value" : 56,
10812 "capabilities" : [ "Shader" ]
10813 },
10814 {
10815 "enumerant" : "MultiViewport",
10816 "value" : 57,
10817 "capabilities" : [ "Geometry" ]
10818 },
10819 {
10820 "enumerant" : "SubgroupDispatch",
10821 "value" : 58,
10822 "capabilities" : [ "DeviceEnqueue" ],
10823 "version" : "1.1"
10824 },
10825 {
10826 "enumerant" : "NamedBarrier",
10827 "value" : 59,
10828 "capabilities" : [ "Kernel" ],
10829 "version" : "1.1"
10830 },
10831 {
10832 "enumerant" : "PipeStorage",
10833 "value" : 60,
10834 "capabilities" : [ "Pipes" ],
10835 "version" : "1.1"
10836 },
10837 {
10838 "enumerant" : "GroupNonUniform",
10839 "value" : 61,
10840 "version" : "1.3"
10841 },
10842 {
10843 "enumerant" : "GroupNonUniformVote",
10844 "value" : 62,
10845 "capabilities" : [ "GroupNonUniform" ],
10846 "version" : "1.3"
10847 },
10848 {
10849 "enumerant" : "GroupNonUniformArithmetic",
10850 "value" : 63,
10851 "capabilities" : [ "GroupNonUniform" ],
10852 "version" : "1.3"
10853 },
10854 {
10855 "enumerant" : "GroupNonUniformBallot",
10856 "value" : 64,
10857 "capabilities" : [ "GroupNonUniform" ],
10858 "version" : "1.3"
10859 },
10860 {
10861 "enumerant" : "GroupNonUniformShuffle",
10862 "value" : 65,
10863 "capabilities" : [ "GroupNonUniform" ],
10864 "version" : "1.3"
10865 },
10866 {
10867 "enumerant" : "GroupNonUniformShuffleRelative",
10868 "value" : 66,
10869 "capabilities" : [ "GroupNonUniform" ],
10870 "version" : "1.3"
10871 },
10872 {
10873 "enumerant" : "GroupNonUniformClustered",
10874 "value" : 67,
10875 "capabilities" : [ "GroupNonUniform" ],
10876 "version" : "1.3"
10877 },
10878 {
10879 "enumerant" : "GroupNonUniformQuad",
10880 "value" : 68,
10881 "capabilities" : [ "GroupNonUniform" ],
10882 "version" : "1.3"
10883 },
10884 {
10885 "enumerant" : "ShaderLayer",
10886 "value" : 69,
10887 "version" : "1.5"
10888 },
10889 {
10890 "enumerant" : "ShaderViewportIndex",
10891 "value" : 70,
10892 "version" : "1.5"
10893 },
10894 {
10895 "enumerant" : "SubgroupBallotKHR",
10896 "value" : 4423,
10897 "extensions" : [ "SPV_KHR_shader_ballot" ],
10898 "version" : "None"
10899 },
10900 {
10901 "enumerant" : "DrawParameters",
10902 "value" : 4427,
10903 "capabilities" : [ "Shader" ],
10904 "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
10905 "version" : "1.3"
10906 },
10907 {
10908 "enumerant" : "SubgroupVoteKHR",
10909 "value" : 4431,
10910 "extensions" : [ "SPV_KHR_subgroup_vote" ],
10911 "version" : "None"
10912 },
10913 {
10914 "enumerant" : "StorageBuffer16BitAccess",
10915 "value" : 4433,
10916 "extensions" : [ "SPV_KHR_16bit_storage" ],
10917 "version" : "1.3"
10918 },
10919 {
10920 "enumerant" : "StorageUniformBufferBlock16",
10921 "value" : 4433,
10922 "extensions" : [ "SPV_KHR_16bit_storage" ],
10923 "version" : "1.3"
10924 },
10925 {
10926 "enumerant" : "UniformAndStorageBuffer16BitAccess",
10927 "value" : 4434,
10928 "capabilities" : [
10929 "StorageBuffer16BitAccess",
10930 "StorageUniformBufferBlock16"
10931 ],
10932 "extensions" : [ "SPV_KHR_16bit_storage" ],
10933 "version" : "1.3"
10934 },
10935 {
10936 "enumerant" : "StorageUniform16",
10937 "value" : 4434,
10938 "capabilities" : [
10939 "StorageBuffer16BitAccess",
10940 "StorageUniformBufferBlock16"
10941 ],
10942 "extensions" : [ "SPV_KHR_16bit_storage" ],
10943 "version" : "1.3"
10944 },
10945 {
10946 "enumerant" : "StoragePushConstant16",
10947 "value" : 4435,
10948 "extensions" : [ "SPV_KHR_16bit_storage" ],
10949 "version" : "1.3"
10950 },
10951 {
10952 "enumerant" : "StorageInputOutput16",
10953 "value" : 4436,
10954 "extensions" : [ "SPV_KHR_16bit_storage" ],
10955 "version" : "1.3"
10956 },
10957 {
10958 "enumerant" : "DeviceGroup",
10959 "value" : 4437,
10960 "extensions" : [ "SPV_KHR_device_group" ],
10961 "version" : "1.3"
10962 },
10963 {
10964 "enumerant" : "MultiView",
10965 "value" : 4439,
10966 "capabilities" : [ "Shader" ],
10967 "extensions" : [ "SPV_KHR_multiview" ],
10968 "version" : "1.3"
10969 },
10970 {
10971 "enumerant" : "VariablePointersStorageBuffer",
10972 "value" : 4441,
10973 "capabilities" : [ "Shader" ],
10974 "extensions" : [ "SPV_KHR_variable_pointers" ],
10975 "version" : "1.3"
10976 },
10977 {
10978 "enumerant" : "VariablePointers",
10979 "value" : 4442,
10980 "capabilities" : [ "VariablePointersStorageBuffer" ],
10981 "extensions" : [ "SPV_KHR_variable_pointers" ],
10982 "version" : "1.3"
10983 },
10984 {
10985 "enumerant" : "AtomicStorageOps",
10986 "value" : 4445,
10987 "extensions" : [ "SPV_KHR_shader_atomic_counter_ops" ],
10988 "version" : "None"
10989 },
10990 {
10991 "enumerant" : "SampleMaskPostDepthCoverage",
10992 "value" : 4447,
10993 "extensions" : [ "SPV_KHR_post_depth_coverage" ],
10994 "version" : "None"
10995 },
10996 {
10997 "enumerant" : "StorageBuffer8BitAccess",
10998 "value" : 4448,
10999 "extensions" : [ "SPV_KHR_8bit_storage" ],
11000 "version" : "1.5"
11001 },
11002 {
11003 "enumerant" : "UniformAndStorageBuffer8BitAccess",
11004 "value" : 4449,
11005 "capabilities" : [ "StorageBuffer8BitAccess" ],
11006 "extensions" : [ "SPV_KHR_8bit_storage" ],
11007 "version" : "1.5"
11008 },
11009 {
11010 "enumerant" : "StoragePushConstant8",
11011 "value" : 4450,
11012 "extensions" : [ "SPV_KHR_8bit_storage" ],
11013 "version" : "1.5"
11014 },
11015 {
11016 "enumerant" : "DenormPreserve",
11017 "value" : 4464,
11018 "extensions" : [ "SPV_KHR_float_controls" ],
11019 "version" : "1.4"
11020 },
11021 {
11022 "enumerant" : "DenormFlushToZero",
11023 "value" : 4465,
11024 "extensions" : [ "SPV_KHR_float_controls" ],
11025 "version" : "1.4"
11026 },
11027 {
11028 "enumerant" : "SignedZeroInfNanPreserve",
11029 "value" : 4466,
11030 "extensions" : [ "SPV_KHR_float_controls" ],
11031 "version" : "1.4"
11032 },
11033 {
11034 "enumerant" : "RoundingModeRTE",
11035 "value" : 4467,
11036 "extensions" : [ "SPV_KHR_float_controls" ],
11037 "version" : "1.4"
11038 },
11039 {
11040 "enumerant" : "RoundingModeRTZ",
11041 "value" : 4468,
11042 "extensions" : [ "SPV_KHR_float_controls" ],
11043 "version" : "1.4"
11044 },
11045 {
11046 "enumerant" : "RayQueryProvisionalKHR",
11047 "value" : 4471,
11048 "capabilities" : [ "Shader" ],
11049 "extensions" : [ "SPV_KHR_ray_query" ],
11050 "version" : "None"
11051 },
11052 {
11053 "enumerant" : "RayTraversalPrimitiveCullingProvisionalKHR",
11054 "value" : 4478,
11055 "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
11056 "extensions" : [ "SPV_KHR_ray_query","SPV_KHR_ray_tracing" ],
11057 "version" : "None"
11058 },
11059 {
11060 "enumerant" : "Float16ImageAMD",
11061 "value" : 5008,
11062 "capabilities" : [ "Shader" ],
11063 "extensions" : [ "SPV_AMD_gpu_shader_half_float_fetch" ],
11064 "version" : "None"
11065 },
11066 {
11067 "enumerant" : "ImageGatherBiasLodAMD",
11068 "value" : 5009,
11069 "capabilities" : [ "Shader" ],
11070 "extensions" : [ "SPV_AMD_texture_gather_bias_lod" ],
11071 "version" : "None"
11072 },
11073 {
11074 "enumerant" : "FragmentMaskAMD",
11075 "value" : 5010,
11076 "capabilities" : [ "Shader" ],
11077 "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
11078 "version" : "None"
11079 },
11080 {
11081 "enumerant" : "StencilExportEXT",
11082 "value" : 5013,
11083 "capabilities" : [ "Shader" ],
11084 "extensions" : [ "SPV_EXT_shader_stencil_export" ],
11085 "version" : "None"
11086 },
11087 {
11088 "enumerant" : "ImageReadWriteLodAMD",
11089 "value" : 5015,
11090 "capabilities" : [ "Shader" ],
11091 "extensions" : [ "SPV_AMD_shader_image_load_store_lod" ],
11092 "version" : "None"
11093 },
11094 {
11095 "enumerant" : "ShaderClockKHR",
11096 "value" : 5055,
11097 "capabilities" : [ "Shader" ],
11098 "extensions" : [ "SPV_KHR_shader_clock" ],
11099 "version" : "None"
11100 },
11101 {
11102 "enumerant" : "SampleMaskOverrideCoverageNV",
11103 "value" : 5249,
11104 "capabilities" : [ "SampleRateShading" ],
11105 "extensions" : [ "SPV_NV_sample_mask_override_coverage" ],
11106 "version" : "None"
11107 },
11108 {
11109 "enumerant" : "GeometryShaderPassthroughNV",
11110 "value" : 5251,
11111 "capabilities" : [ "Geometry" ],
11112 "extensions" : [ "SPV_NV_geometry_shader_passthrough" ],
11113 "version" : "None"
11114 },
11115 {
11116 "enumerant" : "ShaderViewportIndexLayerEXT",
11117 "value" : 5254,
11118 "capabilities" : [ "MultiViewport" ],
11119 "extensions" : [ "SPV_EXT_shader_viewport_index_layer" ],
11120 "version" : "None"
11121 },
11122 {
11123 "enumerant" : "ShaderViewportIndexLayerNV",
11124 "value" : 5254,
11125 "capabilities" : [ "MultiViewport" ],
11126 "extensions" : [ "SPV_NV_viewport_array2" ],
11127 "version" : "None"
11128 },
11129 {
11130 "enumerant" : "ShaderViewportMaskNV",
11131 "value" : 5255,
11132 "capabilities" : [ "ShaderViewportIndexLayerNV" ],
11133 "extensions" : [ "SPV_NV_viewport_array2" ],
11134 "version" : "None"
11135 },
11136 {
11137 "enumerant" : "ShaderStereoViewNV",
11138 "value" : 5259,
11139 "capabilities" : [ "ShaderViewportMaskNV" ],
11140 "extensions" : [ "SPV_NV_stereo_view_rendering" ],
11141 "version" : "None"
11142 },
11143 {
11144 "enumerant" : "PerViewAttributesNV",
11145 "value" : 5260,
11146 "capabilities" : [ "MultiView" ],
11147 "extensions" : [ "SPV_NVX_multiview_per_view_attributes" ],
11148 "version" : "None"
11149 },
11150 {
11151 "enumerant" : "FragmentFullyCoveredEXT",
11152 "value" : 5265,
11153 "capabilities" : [ "Shader" ],
11154 "extensions" : [ "SPV_EXT_fragment_fully_covered" ],
11155 "version" : "None"
11156 },
11157 {
11158 "enumerant" : "MeshShadingNV",
11159 "value" : 5266,
11160 "capabilities" : [ "Shader" ],
11161 "extensions" : [ "SPV_NV_mesh_shader" ],
11162 "version" : "None"
11163 },
11164 {
11165 "enumerant" : "ImageFootprintNV",
11166 "value" : 5282,
11167 "extensions" : [ "SPV_NV_shader_image_footprint" ],
11168 "version" : "None"
11169 },
11170 {
11171 "enumerant" : "FragmentBarycentricNV",
11172 "value" : 5284,
11173 "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
11174 "version" : "None"
11175 },
11176 {
11177 "enumerant" : "ComputeDerivativeGroupQuadsNV",
11178 "value" : 5288,
11179 "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
11180 "version" : "None"
11181 },
11182 {
11183 "enumerant" : "FragmentDensityEXT",
11184 "value" : 5291,
11185 "capabilities" : [ "Shader" ],
11186 "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
11187 "version" : "None"
11188 },
11189 {
11190 "enumerant" : "ShadingRateNV",
11191 "value" : 5291,
11192 "capabilities" : [ "Shader" ],
11193 "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
11194 "version" : "None"
11195 },
11196 {
11197 "enumerant" : "GroupNonUniformPartitionedNV",
11198 "value" : 5297,
11199 "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
11200 "version" : "None"
11201 },
11202 {
11203 "enumerant" : "ShaderNonUniform",
11204 "value" : 5301,
11205 "capabilities" : [ "Shader" ],
11206 "version" : "1.5"
11207 },
11208 {
11209 "enumerant" : "ShaderNonUniformEXT",
11210 "value" : 5301,
11211 "capabilities" : [ "Shader" ],
11212 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
11213 "version" : "1.5"
11214 },
11215 {
11216 "enumerant" : "RuntimeDescriptorArray",
11217 "value" : 5302,
11218 "capabilities" : [ "Shader" ],
11219 "version" : "1.5"
11220 },
11221 {
11222 "enumerant" : "RuntimeDescriptorArrayEXT",
11223 "value" : 5302,
11224 "capabilities" : [ "Shader" ],
11225 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
11226 "version" : "1.5"
11227 },
11228 {
11229 "enumerant" : "InputAttachmentArrayDynamicIndexing",
11230 "value" : 5303,
11231 "capabilities" : [ "InputAttachment" ],
11232 "version" : "1.5"
11233 },
11234 {
11235 "enumerant" : "InputAttachmentArrayDynamicIndexingEXT",
11236 "value" : 5303,
11237 "capabilities" : [ "InputAttachment" ],
11238 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
11239 "version" : "1.5"
11240 },
11241 {
11242 "enumerant" : "UniformTexelBufferArrayDynamicIndexing",
11243 "value" : 5304,
11244 "capabilities" : [ "SampledBuffer" ],
11245 "version" : "1.5"
11246 },
11247 {
11248 "enumerant" : "UniformTexelBufferArrayDynamicIndexingEXT",
11249 "value" : 5304,
11250 "capabilities" : [ "SampledBuffer" ],
11251 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
11252 "version" : "1.5"
11253 },
11254 {
11255 "enumerant" : "StorageTexelBufferArrayDynamicIndexing",
11256 "value" : 5305,
11257 "capabilities" : [ "ImageBuffer" ],
11258 "version" : "1.5"
11259 },
11260 {
11261 "enumerant" : "StorageTexelBufferArrayDynamicIndexingEXT",
11262 "value" : 5305,
11263 "capabilities" : [ "ImageBuffer" ],
11264 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
11265 "version" : "1.5"
11266 },
11267 {
11268 "enumerant" : "UniformBufferArrayNonUniformIndexing",
11269 "value" : 5306,
11270 "capabilities" : [ "ShaderNonUniform" ],
11271 "version" : "1.5"
11272 },
11273 {
11274 "enumerant" : "UniformBufferArrayNonUniformIndexingEXT",
11275 "value" : 5306,
11276 "capabilities" : [ "ShaderNonUniform" ],
11277 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
11278 "version" : "1.5"
11279 },
11280 {
11281 "enumerant" : "SampledImageArrayNonUniformIndexing",
11282 "value" : 5307,
11283 "capabilities" : [ "ShaderNonUniform" ],
11284 "version" : "1.5"
11285 },
11286 {
11287 "enumerant" : "SampledImageArrayNonUniformIndexingEXT",
11288 "value" : 5307,
11289 "capabilities" : [ "ShaderNonUniform" ],
11290 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
11291 "version" : "1.5"
11292 },
11293 {
11294 "enumerant" : "StorageBufferArrayNonUniformIndexing",
11295 "value" : 5308,
11296 "capabilities" : [ "ShaderNonUniform" ],
11297 "version" : "1.5"
11298 },
11299 {
11300 "enumerant" : "StorageBufferArrayNonUniformIndexingEXT",
11301 "value" : 5308,
11302 "capabilities" : [ "ShaderNonUniform" ],
11303 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
11304 "version" : "1.5"
11305 },
11306 {
11307 "enumerant" : "StorageImageArrayNonUniformIndexing",
11308 "value" : 5309,
11309 "capabilities" : [ "ShaderNonUniform" ],
11310 "version" : "1.5"
11311 },
11312 {
11313 "enumerant" : "StorageImageArrayNonUniformIndexingEXT",
11314 "value" : 5309,
11315 "capabilities" : [ "ShaderNonUniform" ],
11316 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
11317 "version" : "1.5"
11318 },
11319 {
11320 "enumerant" : "InputAttachmentArrayNonUniformIndexing",
11321 "value" : 5310,
11322 "capabilities" : [ "InputAttachment", "ShaderNonUniform" ],
11323 "version" : "1.5"
11324 },
11325 {
11326 "enumerant" : "InputAttachmentArrayNonUniformIndexingEXT",
11327 "value" : 5310,
11328 "capabilities" : [ "InputAttachment", "ShaderNonUniform" ],
11329 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
11330 "version" : "1.5"
11331 },
11332 {
11333 "enumerant" : "UniformTexelBufferArrayNonUniformIndexing",
11334 "value" : 5311,
11335 "capabilities" : [ "SampledBuffer", "ShaderNonUniform" ],
11336 "version" : "1.5"
11337 },
11338 {
11339 "enumerant" : "UniformTexelBufferArrayNonUniformIndexingEXT",
11340 "value" : 5311,
11341 "capabilities" : [ "SampledBuffer", "ShaderNonUniform" ],
11342 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
11343 "version" : "1.5"
11344 },
11345 {
11346 "enumerant" : "StorageTexelBufferArrayNonUniformIndexing",
11347 "value" : 5312,
11348 "capabilities" : [ "ImageBuffer", "ShaderNonUniform" ],
11349 "version" : "1.5"
11350 },
11351 {
11352 "enumerant" : "StorageTexelBufferArrayNonUniformIndexingEXT",
11353 "value" : 5312,
11354 "capabilities" : [ "ImageBuffer", "ShaderNonUniform" ],
11355 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
11356 "version" : "1.5"
11357 },
11358 {
11359 "enumerant" : "RayTracingNV",
11360 "value" : 5340,
11361 "capabilities" : [ "Shader" ],
11362 "extensions" : [ "SPV_NV_ray_tracing" ],
11363 "version" : "None"
11364 },
11365 {
11366 "enumerant" : "VulkanMemoryModel",
11367 "value" : 5345,
11368 "version" : "1.5"
11369 },
11370 {
11371 "enumerant" : "VulkanMemoryModelKHR",
11372 "value" : 5345,
11373 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
11374 "version" : "1.5"
11375 },
11376 {
11377 "enumerant" : "VulkanMemoryModelDeviceScope",
11378 "value" : 5346,
11379 "version" : "1.5"
11380 },
11381 {
11382 "enumerant" : "VulkanMemoryModelDeviceScopeKHR",
11383 "value" : 5346,
11384 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
11385 "version" : "1.5"
11386 },
11387 {
11388 "enumerant" : "PhysicalStorageBufferAddresses",
11389 "value" : 5347,
11390 "capabilities" : [ "Shader" ],
11391 "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
11392 "version" : "1.5"
11393 },
11394 {
11395 "enumerant" : "PhysicalStorageBufferAddressesEXT",
11396 "value" : 5347,
11397 "capabilities" : [ "Shader" ],
11398 "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
11399 "version" : "1.5"
11400 },
11401 {
11402 "enumerant" : "ComputeDerivativeGroupLinearNV",
11403 "value" : 5350,
11404 "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
11405 "version" : "None"
11406 },
11407 {
11408 "enumerant" : "RayTracingProvisionalKHR",
11409 "value" : 5353,
11410 "capabilities" : [ "Shader" ],
11411 "extensions" : [ "SPV_KHR_ray_tracing" ],
11412 "version" : "None"
11413 },
11414 {
11415 "enumerant" : "CooperativeMatrixNV",
11416 "value" : 5357,
11417 "capabilities" : [ "Shader" ],
11418 "extensions" : [ "SPV_NV_cooperative_matrix" ],
11419 "version" : "None"
11420 },
11421 {
11422 "enumerant" : "FragmentShaderSampleInterlockEXT",
11423 "value" : 5363,
11424 "capabilities" : [ "Shader" ],
11425 "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
11426 "version" : "None"
11427 },
11428 {
11429 "enumerant" : "FragmentShaderShadingRateInterlockEXT",
11430 "value" : 5372,
11431 "capabilities" : [ "Shader" ],
11432 "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
11433 "version" : "None"
11434 },
11435 {
11436 "enumerant" : "ShaderSMBuiltinsNV",
11437 "value" : 5373,
11438 "capabilities" : [ "Shader" ],
11439 "extensions" : [ "SPV_NV_shader_sm_builtins" ],
11440 "version" : "None"
11441 },
11442 {
11443 "enumerant" : "FragmentShaderPixelInterlockEXT",
11444 "value" : 5378,
11445 "capabilities" : [ "Shader" ],
11446 "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
11447 "version" : "None"
11448 },
11449 {
11450 "enumerant" : "DemoteToHelperInvocationEXT",
11451 "value" : 5379,
11452 "capabilities" : [ "Shader" ],
11453 "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ],
11454 "version" : "None"
11455 },
11456 {
11457 "enumerant" : "SubgroupShuffleINTEL",
11458 "value" : 5568,
11459 "extensions" : [ "SPV_INTEL_subgroups" ],
11460 "version" : "None"
11461 },
11462 {
11463 "enumerant" : "SubgroupBufferBlockIOINTEL",
11464 "value" : 5569,
11465 "extensions" : [ "SPV_INTEL_subgroups" ],
11466 "version" : "None"
11467 },
11468 {
11469 "enumerant" : "SubgroupImageBlockIOINTEL",
11470 "value" : 5570,
11471 "extensions" : [ "SPV_INTEL_subgroups" ],
11472 "version" : "None"
11473 },
11474 {
11475 "enumerant" : "SubgroupImageMediaBlockIOINTEL",
11476 "value" : 5579,
11477 "extensions" : [ "SPV_INTEL_media_block_io" ],
11478 "version" : "None"
11479 },
11480 {
11481 "enumerant" : "IntegerFunctions2INTEL",
11482 "value" : 5584,
11483 "capabilities" : [ "Shader" ],
11484 "extensions" : [ "SPV_INTEL_shader_integer_functions2" ],
11485 "version" : "None"
11486 },
11487 {
11488 "enumerant" : "FunctionPointersINTEL",
11489 "value" : 5603,
11490 "extensions" : [ "SPV_INTEL_function_pointers" ],
11491 "version" : "None"
11492 },
11493 {
11494 "enumerant" : "IndirectReferencesINTEL",
11495 "value" : 5604,
11496 "extensions" : [ "SPV_INTEL_function_pointers" ],
11497 "version" : "None"
11498 },
11499 {
11500 "enumerant" : "SubgroupAvcMotionEstimationINTEL",
11501 "value" : 5696,
11502 "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
11503 "version" : "None"
11504 },
11505 {
11506 "enumerant" : "SubgroupAvcMotionEstimationIntraINTEL",
11507 "value" : 5697,
11508 "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
11509 "version" : "None"
11510 },
11511 {
11512 "enumerant" : "SubgroupAvcMotionEstimationChromaINTEL",
11513 "value" : 5698,
11514 "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
11515 "version" : "None"
11516 },
11517 {
11518 "enumerant" : "FPGAMemoryAttributesINTEL",
11519 "value" : 5824,
11520 "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
11521 "version" : "None"
11522 },
11523 {
11524 "enumerant" : "UnstructuredLoopControlsINTEL",
11525 "value" : 5886,
11526 "extensions" : [ "SPV_INTEL_unstructured_loop_controls" ],
11527 "version" : "None"
11528 },
11529 {
11530 "enumerant" : "FPGALoopControlsINTEL",
11531 "value" : 5888,
11532 "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
11533 "version" : "None"
11534 },
11535 {
11536 "enumerant" : "KernelAttributesINTEL",
11537 "value" : 5892,
11538 "extensions" : [ "SPV_INTEL_kernel_attributes" ],
11539 "version" : "None"
11540 },
11541 {
11542 "enumerant" : "FPGAKernelAttributesINTEL",
11543 "value" : 5897,
11544 "extensions" : [ "SPV_INTEL_kernel_attributes" ],
11545 "version" : "None"
11546 },
11547 {
11548 "enumerant" : "BlockingPipesINTEL",
11549 "value" : 5945,
11550 "extensions" : [ "SPV_INTEL_blocking_pipes" ],
11551 "version" : "None"
11552 },
11553 {
11554 "enumerant" : "FPGARegINTEL",
11555 "value" : 5948,
11556 "extensions" : [ "SPV_INTEL_fpga_reg" ],
11557 "version" : "None"
11558 },
11559 {
11560 "enumerant" : "AtomicFloat32AddEXT",
11561 "value" : 6033,
11562 "capabilities" : [ "Shader" ],
11563 "extensions" : [ "SPV_EXT_shader_atomic_float_add" ],
11564 "version" : "None"
11565 },
11566 {
11567 "enumerant" : "AtomicFloat64AddEXT",
11568 "value" : 6034,
11569 "capabilities" : [ "Shader" ],
11570 "extensions" : [ "SPV_EXT_shader_atomic_float_add" ],
11571 "version" : "None"
11572 }
11573 ]
11574 },
11575 {
11576 "category" : "ValueEnum",
11577 "kind" : "RayQueryIntersection",
11578 "enumerants" : [
11579 {
11580 "enumerant" : "RayQueryCandidateIntersectionKHR",
11581 "value" : 0,
11582 "capabilities" : [ "RayQueryProvisionalKHR" ],
11583 "version" : "None"
11584 },
11585 {
11586 "enumerant" : "RayQueryCommittedIntersectionKHR",
11587 "value" : 1,
11588 "capabilities" : [ "RayQueryProvisionalKHR" ],
11589 "version" : "None"
11590 }
11591 ]
11592 },
11593 {
11594 "category" : "ValueEnum",
11595 "kind" : "RayQueryCommittedIntersectionType",
11596 "enumerants" : [
11597 {
11598 "enumerant" : "RayQueryCommittedIntersectionNoneKHR",
11599 "value" : 0,
11600 "capabilities" : [ "RayQueryProvisionalKHR" ],
11601 "version" : "None"
11602 },
11603 {
11604 "enumerant" : "RayQueryCommittedIntersectionTriangleKHR",
11605 "value" : 1,
11606 "capabilities" : [ "RayQueryProvisionalKHR" ],
11607 "version" : "None"
11608 },
11609 {
11610 "enumerant" : "RayQueryCommittedIntersectionGeneratedKHR",
11611 "value" : 2,
11612 "capabilities" : [ "RayQueryProvisionalKHR" ],
11613 "version" : "None"
11614 }
11615 ]
11616 },
11617 {
11618 "category" : "ValueEnum",
11619 "kind" : "RayQueryCandidateIntersectionType",
11620 "enumerants" : [
11621 {
11622 "enumerant" : "RayQueryCandidateIntersectionTriangleKHR",
11623 "value" : 0,
11624 "capabilities" : [ "RayQueryProvisionalKHR" ],
11625 "version" : "None"
11626 },
11627 {
11628 "enumerant" : "RayQueryCandidateIntersectionAABBKHR",
11629 "value" : 1,
11630 "capabilities" : [ "RayQueryProvisionalKHR" ],
11631 "version" : "None"
11632 }
11633 ]
11634 },
11635 {
11636 "category" : "Id",
11637 "kind" : "IdResultType",
11638 "doc" : "Reference to an <id> representing the result's type of the enclosing instruction"
11639 },
11640 {
11641 "category" : "Id",
11642 "kind" : "IdResult",
11643 "doc" : "Definition of an <id> representing the result of the enclosing instruction"
11644 },
11645 {
11646 "category" : "Id",
11647 "kind" : "IdMemorySemantics",
11648 "doc" : "Reference to an <id> representing a 32-bit integer that is a mask from the MemorySemantics operand kind"
11649 },
11650 {
11651 "category" : "Id",
11652 "kind" : "IdScope",
11653 "doc" : "Reference to an <id> representing a 32-bit integer that is a mask from the Scope operand kind"
11654 },
11655 {
11656 "category" : "Id",
11657 "kind" : "IdRef",
11658 "doc" : "Reference to an <id>"
11659 },
11660 {
11661 "category" : "Literal",
11662 "kind" : "LiteralInteger",
11663 "doc" : "An integer consuming one or more words"
11664 },
11665 {
11666 "category" : "Literal",
11667 "kind" : "LiteralString",
11668 "doc" : "A null-terminated stream of characters consuming an integral number of words"
11669 },
11670 {
11671 "category" : "Literal",
11672 "kind" : "LiteralContextDependentNumber",
11673 "doc" : "A literal number whose size and format are determined by a previous operand in the enclosing instruction"
11674 },
11675 {
11676 "category" : "Literal",
11677 "kind" : "LiteralExtInstInteger",
11678 "doc" : "A 32-bit unsigned integer indicating which instruction to use and determining the layout of following operands (for OpExtInst)"
11679 },
11680 {
11681 "category" : "Literal",
11682 "kind" : "LiteralSpecConstantOpInteger",
11683 "doc" : "An opcode indicating the operation to be performed and determining the layout of following operands (for OpSpecConstantOp)"
11684 },
11685 {
11686 "category" : "Composite",
11687 "kind" : "PairLiteralIntegerIdRef",
11688 "bases" : [ "LiteralInteger", "IdRef" ]
11689 },
11690 {
11691 "category" : "Composite",
11692 "kind" : "PairIdRefLiteralInteger",
11693 "bases" : [ "IdRef", "LiteralInteger" ]
11694 },
11695 {
11696 "category" : "Composite",
11697 "kind" : "PairIdRefIdRef",
11698 "bases" : [ "IdRef", "IdRef" ]
11699 }
11700 ]
11701 }