spirv: Update JSON and headers to 1.5
[mesa.git] / src / compiler / spirv / spirv.core.grammar.json
1 {
2 "copyright" : [
3 "Copyright (c) 2014-2016 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" : 1,
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" : "OpGroupIAddNonUniformAMD",
4191 "class" : "Group",
4192 "opcode" : 5000,
4193 "operands" : [
4194 { "kind" : "IdResultType" },
4195 { "kind" : "IdResult" },
4196 { "kind" : "IdScope", "name" : "'Execution'" },
4197 { "kind" : "GroupOperation", "name" : "'Operation'" },
4198 { "kind" : "IdRef", "name" : "'X'" }
4199 ],
4200 "capabilities" : [ "Groups" ],
4201 "extensions" : [ "SPV_AMD_shader_ballot" ],
4202 "version" : "None"
4203 },
4204 {
4205 "opname" : "OpGroupFAddNonUniformAMD",
4206 "class" : "Group",
4207 "opcode" : 5001,
4208 "operands" : [
4209 { "kind" : "IdResultType" },
4210 { "kind" : "IdResult" },
4211 { "kind" : "IdScope", "name" : "'Execution'" },
4212 { "kind" : "GroupOperation", "name" : "'Operation'" },
4213 { "kind" : "IdRef", "name" : "'X'" }
4214 ],
4215 "capabilities" : [ "Groups" ],
4216 "extensions" : [ "SPV_AMD_shader_ballot" ],
4217 "version" : "None"
4218 },
4219 {
4220 "opname" : "OpGroupFMinNonUniformAMD",
4221 "class" : "Group",
4222 "opcode" : 5002,
4223 "operands" : [
4224 { "kind" : "IdResultType" },
4225 { "kind" : "IdResult" },
4226 { "kind" : "IdScope", "name" : "'Execution'" },
4227 { "kind" : "GroupOperation", "name" : "'Operation'" },
4228 { "kind" : "IdRef", "name" : "'X'" }
4229 ],
4230 "capabilities" : [ "Groups" ],
4231 "extensions" : [ "SPV_AMD_shader_ballot" ],
4232 "version" : "None"
4233 },
4234 {
4235 "opname" : "OpGroupUMinNonUniformAMD",
4236 "class" : "Group",
4237 "opcode" : 5003,
4238 "operands" : [
4239 { "kind" : "IdResultType" },
4240 { "kind" : "IdResult" },
4241 { "kind" : "IdScope", "name" : "'Execution'" },
4242 { "kind" : "GroupOperation", "name" : "'Operation'" },
4243 { "kind" : "IdRef", "name" : "'X'" }
4244 ],
4245 "capabilities" : [ "Groups" ],
4246 "extensions" : [ "SPV_AMD_shader_ballot" ],
4247 "version" : "None"
4248 },
4249 {
4250 "opname" : "OpGroupSMinNonUniformAMD",
4251 "class" : "Group",
4252 "opcode" : 5004,
4253 "operands" : [
4254 { "kind" : "IdResultType" },
4255 { "kind" : "IdResult" },
4256 { "kind" : "IdScope", "name" : "'Execution'" },
4257 { "kind" : "GroupOperation", "name" : "'Operation'" },
4258 { "kind" : "IdRef", "name" : "'X'" }
4259 ],
4260 "capabilities" : [ "Groups" ],
4261 "extensions" : [ "SPV_AMD_shader_ballot" ],
4262 "version" : "None"
4263 },
4264 {
4265 "opname" : "OpGroupFMaxNonUniformAMD",
4266 "class" : "Group",
4267 "opcode" : 5005,
4268 "operands" : [
4269 { "kind" : "IdResultType" },
4270 { "kind" : "IdResult" },
4271 { "kind" : "IdScope", "name" : "'Execution'" },
4272 { "kind" : "GroupOperation", "name" : "'Operation'" },
4273 { "kind" : "IdRef", "name" : "'X'" }
4274 ],
4275 "capabilities" : [ "Groups" ],
4276 "extensions" : [ "SPV_AMD_shader_ballot" ],
4277 "version" : "None"
4278 },
4279 {
4280 "opname" : "OpGroupUMaxNonUniformAMD",
4281 "class" : "Group",
4282 "opcode" : 5006,
4283 "operands" : [
4284 { "kind" : "IdResultType" },
4285 { "kind" : "IdResult" },
4286 { "kind" : "IdScope", "name" : "'Execution'" },
4287 { "kind" : "GroupOperation", "name" : "'Operation'" },
4288 { "kind" : "IdRef", "name" : "'X'" }
4289 ],
4290 "capabilities" : [ "Groups" ],
4291 "extensions" : [ "SPV_AMD_shader_ballot" ],
4292 "version" : "None"
4293 },
4294 {
4295 "opname" : "OpGroupSMaxNonUniformAMD",
4296 "class" : "Group",
4297 "opcode" : 5007,
4298 "operands" : [
4299 { "kind" : "IdResultType" },
4300 { "kind" : "IdResult" },
4301 { "kind" : "IdScope", "name" : "'Execution'" },
4302 { "kind" : "GroupOperation", "name" : "'Operation'" },
4303 { "kind" : "IdRef", "name" : "'X'" }
4304 ],
4305 "capabilities" : [ "Groups" ],
4306 "extensions" : [ "SPV_AMD_shader_ballot" ],
4307 "version" : "None"
4308 },
4309 {
4310 "opname" : "OpFragmentMaskFetchAMD",
4311 "class" : "Reserved",
4312 "opcode" : 5011,
4313 "operands" : [
4314 { "kind" : "IdResultType" },
4315 { "kind" : "IdResult" },
4316 { "kind" : "IdRef", "name" : "'Image'" },
4317 { "kind" : "IdRef", "name" : "'Coordinate'" }
4318 ],
4319 "capabilities" : [ "FragmentMaskAMD" ],
4320 "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
4321 "version" : "None"
4322 },
4323 {
4324 "opname" : "OpFragmentFetchAMD",
4325 "class" : "Reserved",
4326 "opcode" : 5012,
4327 "operands" : [
4328 { "kind" : "IdResultType" },
4329 { "kind" : "IdResult" },
4330 { "kind" : "IdRef", "name" : "'Image'" },
4331 { "kind" : "IdRef", "name" : "'Coordinate'" },
4332 { "kind" : "IdRef", "name" : "'Fragment Index'" }
4333 ],
4334 "capabilities" : [ "FragmentMaskAMD" ],
4335 "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
4336 "version" : "None"
4337 },
4338 {
4339 "opname" : "OpReadClockKHR",
4340 "class" : "Reserved",
4341 "opcode" : 5056,
4342 "operands" : [
4343 { "kind" : "IdResultType" },
4344 { "kind" : "IdResult" },
4345 { "kind" : "IdScope", "name" : "'Execution'" }
4346 ],
4347 "capabilities" : [ "ShaderClockKHR" ],
4348 "extensions" : [ "SPV_KHR_shader_clock" ],
4349 "version" : "None"
4350 },
4351 {
4352 "opname" : "OpImageSampleFootprintNV",
4353 "class" : "Image",
4354 "opcode" : 5283,
4355 "operands" : [
4356 { "kind" : "IdResultType" },
4357 { "kind" : "IdResult" },
4358 { "kind" : "IdRef", "name" : "'Sampled Image'" },
4359 { "kind" : "IdRef", "name" : "'Coordinate'" },
4360 { "kind" : "IdRef", "name" : "'Granularity'" },
4361 { "kind" : "IdRef", "name" : "'Coarse'" },
4362 { "kind" : "ImageOperands", "quantifier" : "?" }
4363 ],
4364 "capabilities" : [ "ImageFootprintNV" ],
4365 "extensions" : [ "SPV_NV_shader_image_footprint" ],
4366 "version" : "None"
4367 },
4368 {
4369 "opname" : "OpGroupNonUniformPartitionNV",
4370 "class" : "Non-Uniform",
4371 "opcode" : 5296,
4372 "operands" : [
4373 { "kind" : "IdResultType" },
4374 { "kind" : "IdResult" },
4375 { "kind" : "IdRef", "name" : "'Value'" }
4376 ],
4377 "capabilities" : [ "GroupNonUniformPartitionedNV" ],
4378 "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
4379 "version" : "None"
4380 },
4381 {
4382 "opname" : "OpWritePackedPrimitiveIndices4x8NV",
4383 "class" : "Reserved",
4384 "opcode" : 5299,
4385 "operands" : [
4386 { "kind" : "IdRef", "name" : "'Index Offset'" },
4387 { "kind" : "IdRef", "name" : "'Packed Indices'" }
4388 ],
4389 "capabilities" : [ "MeshShadingNV" ],
4390 "extensions" : [ "SPV_NV_mesh_shader" ],
4391 "version" : "None"
4392 },
4393 {
4394 "opname" : "OpReportIntersectionNV",
4395 "class" : "Reserved",
4396 "opcode" : 5334,
4397 "operands" : [
4398 { "kind" : "IdResultType" },
4399 { "kind" : "IdResult" },
4400 { "kind" : "IdRef", "name" : "'Hit'" },
4401 { "kind" : "IdRef", "name" : "'HitKind'" }
4402 ],
4403 "capabilities" : [ "RayTracingNV" ],
4404 "extensions" : [ "SPV_NV_ray_tracing" ],
4405 "version" : "None"
4406 },
4407 {
4408 "opname" : "OpIgnoreIntersectionNV",
4409 "class" : "Reserved",
4410 "opcode" : 5335,
4411
4412 "capabilities" : [ "RayTracingNV" ],
4413 "extensions" : [ "SPV_NV_ray_tracing" ],
4414 "version" : "None"
4415 },
4416 {
4417 "opname" : "OpTerminateRayNV",
4418 "class" : "Reserved",
4419 "opcode" : 5336,
4420
4421 "capabilities" : [ "RayTracingNV" ],
4422 "extensions" : [ "SPV_NV_ray_tracing" ],
4423 "version" : "None"
4424 },
4425 {
4426 "opname" : "OpTraceNV",
4427 "class" : "Reserved",
4428 "opcode" : 5337,
4429 "operands" : [
4430
4431 { "kind" : "IdRef", "name" : "'Accel'" },
4432 { "kind" : "IdRef", "name" : "'Ray Flags'" },
4433 { "kind" : "IdRef", "name" : "'Cull Mask'" },
4434 { "kind" : "IdRef", "name" : "'SBT Offset'" },
4435 { "kind" : "IdRef", "name" : "'SBT Stride'" },
4436 { "kind" : "IdRef", "name" : "'Miss Index'" },
4437 { "kind" : "IdRef", "name" : "'Ray Origin'" },
4438 { "kind" : "IdRef", "name" : "'Ray Tmin'" },
4439 { "kind" : "IdRef", "name" : "'Ray Direction'" },
4440 { "kind" : "IdRef", "name" : "'Ray Tmax'" },
4441 { "kind" : "IdRef", "name" : "'PayloadId'" }
4442 ],
4443 "capabilities" : [ "RayTracingNV" ],
4444 "extensions" : [ "SPV_NV_ray_tracing" ],
4445 "version" : "None"
4446 },
4447 {
4448 "opname" : "OpTypeAccelerationStructureNV",
4449 "class" : "Reserved",
4450 "opcode" : 5341,
4451 "operands" : [
4452 { "kind" : "IdResult" }
4453 ],
4454 "capabilities" : [ "RayTracingNV" ],
4455 "extensions" : [ "SPV_NV_ray_tracing" ],
4456 "version" : "None"
4457 },
4458 {
4459 "opname" : "OpExecuteCallableNV",
4460 "class" : "Reserved",
4461 "opcode" : 5344,
4462 "operands" : [
4463
4464 { "kind" : "IdRef", "name" : "'SBT Index'" },
4465 { "kind" : "IdRef", "name" : "'Callable DataId'" }
4466 ],
4467 "capabilities" : [ "RayTracingNV" ],
4468 "extensions" : [ "SPV_NV_ray_tracing" ],
4469 "version" : "None"
4470 },
4471 {
4472 "opname" : "OpTypeCooperativeMatrixNV",
4473 "class" : "Reserved",
4474 "opcode" : 5358,
4475 "operands" : [
4476 { "kind" : "IdResult" },
4477 { "kind" : "IdRef", "name" : "'Component Type'" },
4478 { "kind" : "IdScope", "name" : "'Execution'" },
4479 { "kind" : "IdRef", "name" : "'Rows'" },
4480 { "kind" : "IdRef", "name" : "'Columns'" }
4481 ],
4482 "capabilities" : [ "CooperativeMatrixNV" ],
4483 "extensions" : [ "SPV_NV_cooperative_matrix" ],
4484 "version" : "None"
4485 },
4486 {
4487 "opname" : "OpCooperativeMatrixLoadNV",
4488 "class" : "Reserved",
4489 "opcode" : 5359,
4490 "operands" : [
4491 { "kind" : "IdResultType" },
4492 { "kind" : "IdResult" },
4493 { "kind" : "IdRef", "name" : "'Pointer'" },
4494 { "kind" : "IdRef", "name" : "'Stride'" },
4495 { "kind" : "IdRef", "name" : "'Column Major'" },
4496 { "kind" : "MemoryAccess", "quantifier" : "?" }
4497 ],
4498 "capabilities" : [ "CooperativeMatrixNV" ],
4499 "extensions" : [ "SPV_NV_cooperative_matrix" ],
4500 "version" : "None"
4501 },
4502 {
4503 "opname" : "OpCooperativeMatrixStoreNV",
4504 "class" : "Reserved",
4505 "opcode" : 5360,
4506 "operands" : [
4507 { "kind" : "IdRef", "name" : "'Pointer'" },
4508 { "kind" : "IdRef", "name" : "'Object'" },
4509 { "kind" : "IdRef", "name" : "'Stride'" },
4510 { "kind" : "IdRef", "name" : "'Column Major'" },
4511 { "kind" : "MemoryAccess", "quantifier" : "?" }
4512 ],
4513 "capabilities" : [ "CooperativeMatrixNV" ],
4514 "extensions" : [ "SPV_NV_cooperative_matrix" ],
4515 "version" : "None"
4516 },
4517 {
4518 "opname" : "OpCooperativeMatrixMulAddNV",
4519 "class" : "Reserved",
4520 "opcode" : 5361,
4521 "operands" : [
4522 { "kind" : "IdResultType" },
4523 { "kind" : "IdResult" },
4524 { "kind" : "IdRef", "name" : "'A'" },
4525 { "kind" : "IdRef", "name" : "'B'" },
4526 { "kind" : "IdRef", "name" : "'C'" }
4527 ],
4528 "capabilities" : [ "CooperativeMatrixNV" ],
4529 "extensions" : [ "SPV_NV_cooperative_matrix" ],
4530 "version" : "None"
4531 },
4532 {
4533 "opname" : "OpCooperativeMatrixLengthNV",
4534 "class" : "Reserved",
4535 "opcode" : 5362,
4536 "operands" : [
4537 { "kind" : "IdResultType" },
4538 { "kind" : "IdResult" },
4539 { "kind" : "IdRef", "name" : "'Type'" }
4540 ],
4541 "capabilities" : [ "CooperativeMatrixNV" ],
4542 "extensions" : [ "SPV_NV_cooperative_matrix" ],
4543 "version" : "None"
4544 },
4545 {
4546 "opname" : "OpBeginInvocationInterlockEXT",
4547 "class" : "Reserved",
4548 "opcode" : 5364,
4549 "capabilities" : [ "FragmentShaderSampleInterlockEXT", "FragmentShaderPixelInterlockEXT", "FragmentShaderShadingRateInterlockEXT" ],
4550 "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
4551 "version" : "None"
4552 },
4553 {
4554 "opname" : "OpEndInvocationInterlockEXT",
4555 "class" : "Reserved",
4556 "opcode" : 5365,
4557 "capabilities" : [ "FragmentShaderSampleInterlockEXT", "FragmentShaderPixelInterlockEXT", "FragmentShaderShadingRateInterlockEXT" ],
4558 "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
4559 "version" : "None"
4560 },
4561 {
4562 "opname" : "OpDemoteToHelperInvocationEXT",
4563 "class" : "Reserved",
4564 "opcode" : 5380,
4565 "capabilities" : [ "DemoteToHelperInvocationEXT" ],
4566 "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ],
4567 "version" : "None"
4568 },
4569 {
4570 "opname" : "OpIsHelperInvocationEXT",
4571 "class" : "Reserved",
4572 "opcode" : 5381,
4573 "operands" : [
4574 { "kind" : "IdResultType" },
4575 { "kind" : "IdResult" }
4576 ],
4577 "capabilities" : [ "DemoteToHelperInvocationEXT" ],
4578 "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ],
4579 "version" : "None"
4580 },
4581 {
4582 "opname" : "OpSubgroupShuffleINTEL",
4583 "class" : "Group",
4584 "opcode" : 5571,
4585 "operands" : [
4586 { "kind" : "IdResultType" },
4587 { "kind" : "IdResult" },
4588 { "kind" : "IdRef", "name" : "'Data'" },
4589 { "kind" : "IdRef", "name" : "'InvocationId'" }
4590 ],
4591 "capabilities" : [ "SubgroupShuffleINTEL" ],
4592 "version" : "None"
4593 },
4594 {
4595 "opname" : "OpSubgroupShuffleDownINTEL",
4596 "class" : "Group",
4597 "opcode" : 5572,
4598 "operands" : [
4599 { "kind" : "IdResultType" },
4600 { "kind" : "IdResult" },
4601 { "kind" : "IdRef", "name" : "'Current'" },
4602 { "kind" : "IdRef", "name" : "'Next'" },
4603 { "kind" : "IdRef", "name" : "'Delta'" }
4604 ],
4605 "capabilities" : [ "SubgroupShuffleINTEL" ],
4606 "version" : "None"
4607 },
4608 {
4609 "opname" : "OpSubgroupShuffleUpINTEL",
4610 "class" : "Group",
4611 "opcode" : 5573,
4612 "operands" : [
4613 { "kind" : "IdResultType" },
4614 { "kind" : "IdResult" },
4615 { "kind" : "IdRef", "name" : "'Previous'" },
4616 { "kind" : "IdRef", "name" : "'Current'" },
4617 { "kind" : "IdRef", "name" : "'Delta'" }
4618 ],
4619 "capabilities" : [ "SubgroupShuffleINTEL" ],
4620 "version" : "None"
4621 },
4622 {
4623 "opname" : "OpSubgroupShuffleXorINTEL",
4624 "class" : "Group",
4625 "opcode" : 5574,
4626 "operands" : [
4627 { "kind" : "IdResultType" },
4628 { "kind" : "IdResult" },
4629 { "kind" : "IdRef", "name" : "'Data'" },
4630 { "kind" : "IdRef", "name" : "'Value'" }
4631 ],
4632 "capabilities" : [ "SubgroupShuffleINTEL" ],
4633 "version" : "None"
4634 },
4635 {
4636 "opname" : "OpSubgroupBlockReadINTEL",
4637 "class" : "Group",
4638 "opcode" : 5575,
4639 "operands" : [
4640 { "kind" : "IdResultType" },
4641 { "kind" : "IdResult" },
4642 { "kind" : "IdRef", "name" : "'Ptr'" }
4643 ],
4644 "capabilities" : [ "SubgroupBufferBlockIOINTEL" ],
4645 "version" : "None"
4646 },
4647 {
4648 "opname" : "OpSubgroupBlockWriteINTEL",
4649 "class" : "Group",
4650 "opcode" : 5576,
4651 "operands" : [
4652 { "kind" : "IdRef", "name" : "'Ptr'" },
4653 { "kind" : "IdRef", "name" : "'Data'" }
4654 ],
4655 "capabilities" : [ "SubgroupBufferBlockIOINTEL" ],
4656 "version" : "None"
4657 },
4658 {
4659 "opname" : "OpSubgroupImageBlockReadINTEL",
4660 "class" : "Group",
4661 "opcode" : 5577,
4662 "operands" : [
4663 { "kind" : "IdResultType" },
4664 { "kind" : "IdResult" },
4665 { "kind" : "IdRef", "name" : "'Image'" },
4666 { "kind" : "IdRef", "name" : "'Coordinate'" }
4667 ],
4668 "capabilities" : [ "SubgroupImageBlockIOINTEL" ],
4669 "version" : "None"
4670 },
4671 {
4672 "opname" : "OpSubgroupImageBlockWriteINTEL",
4673 "class" : "Group",
4674 "opcode" : 5578,
4675 "operands" : [
4676 { "kind" : "IdRef", "name" : "'Image'" },
4677 { "kind" : "IdRef", "name" : "'Coordinate'" },
4678 { "kind" : "IdRef", "name" : "'Data'" }
4679 ],
4680 "capabilities" : [ "SubgroupImageBlockIOINTEL" ],
4681 "version" : "None"
4682 },
4683 {
4684 "opname" : "OpSubgroupImageMediaBlockReadINTEL",
4685 "class" : "Group",
4686 "opcode" : 5580,
4687 "operands" : [
4688 { "kind" : "IdResultType" },
4689 { "kind" : "IdResult" },
4690 { "kind" : "IdRef", "name" : "'Image'" },
4691 { "kind" : "IdRef", "name" : "'Coordinate'" },
4692 { "kind" : "IdRef", "name" : "'Width'" },
4693 { "kind" : "IdRef", "name" : "'Height'" }
4694 ],
4695 "capabilities" : [ "SubgroupImageMediaBlockIOINTEL" ],
4696 "version" : "None"
4697 },
4698 {
4699 "opname" : "OpSubgroupImageMediaBlockWriteINTEL",
4700 "class" : "Group",
4701 "opcode" : 5581,
4702 "operands" : [
4703 { "kind" : "IdRef", "name" : "'Image'" },
4704 { "kind" : "IdRef", "name" : "'Coordinate'" },
4705 { "kind" : "IdRef", "name" : "'Width'" },
4706 { "kind" : "IdRef", "name" : "'Height'" },
4707 { "kind" : "IdRef", "name" : "'Data'" }
4708 ],
4709 "capabilities" : [ "SubgroupImageMediaBlockIOINTEL" ],
4710 "version" : "None"
4711 },
4712 {
4713 "opname" : "OpUCountLeadingZerosINTEL",
4714 "class" : "Reserved",
4715 "opcode" : 5585,
4716 "operands" : [
4717 { "kind" : "IdResultType" },
4718 { "kind" : "IdResult" },
4719 { "kind" : "IdRef", "name" : "'Operand'" }
4720 ],
4721 "capabilities" : [ "IntegerFunctions2INTEL" ],
4722 "version" : "None"
4723 },
4724 {
4725 "opname" : "OpUCountTrailingZerosINTEL",
4726 "class" : "Reserved",
4727 "opcode" : 5586,
4728 "operands" : [
4729 { "kind" : "IdResultType" },
4730 { "kind" : "IdResult" },
4731 { "kind" : "IdRef", "name" : "'Operand'" }
4732 ],
4733 "capabilities" : [ "IntegerFunctions2INTEL" ],
4734 "version" : "None"
4735 },
4736 {
4737 "opname" : "OpAbsISubINTEL",
4738 "class" : "Reserved",
4739 "opcode" : 5587,
4740 "operands" : [
4741 { "kind" : "IdResultType" },
4742 { "kind" : "IdResult" },
4743 { "kind" : "IdRef", "name" : "'Operand 1'" },
4744 { "kind" : "IdRef", "name" : "'Operand 2'" }
4745 ],
4746 "capabilities" : [ "IntegerFunctions2INTEL" ],
4747 "version" : "None"
4748 },
4749 {
4750 "opname" : "OpAbsUSubINTEL",
4751 "class" : "Reserved",
4752 "opcode" : 5588,
4753 "operands" : [
4754 { "kind" : "IdResultType" },
4755 { "kind" : "IdResult" },
4756 { "kind" : "IdRef", "name" : "'Operand 1'" },
4757 { "kind" : "IdRef", "name" : "'Operand 2'" }
4758 ],
4759 "capabilities" : [ "IntegerFunctions2INTEL" ],
4760 "version" : "None"
4761 },
4762 {
4763 "opname" : "OpIAddSatINTEL",
4764 "class" : "Reserved",
4765 "opcode" : 5589,
4766 "operands" : [
4767 { "kind" : "IdResultType" },
4768 { "kind" : "IdResult" },
4769 { "kind" : "IdRef", "name" : "'Operand 1'" },
4770 { "kind" : "IdRef", "name" : "'Operand 2'" }
4771 ],
4772 "capabilities" : [ "IntegerFunctions2INTEL" ],
4773 "version" : "None"
4774 },
4775 {
4776 "opname" : "OpUAddSatINTEL",
4777 "class" : "Reserved",
4778 "opcode" : 5590,
4779 "operands" : [
4780 { "kind" : "IdResultType" },
4781 { "kind" : "IdResult" },
4782 { "kind" : "IdRef", "name" : "'Operand 1'" },
4783 { "kind" : "IdRef", "name" : "'Operand 2'" }
4784 ],
4785 "capabilities" : [ "IntegerFunctions2INTEL" ],
4786 "version" : "None"
4787 },
4788 {
4789 "opname" : "OpIAverageINTEL",
4790 "class" : "Reserved",
4791 "opcode" : 5591,
4792 "operands" : [
4793 { "kind" : "IdResultType" },
4794 { "kind" : "IdResult" },
4795 { "kind" : "IdRef", "name" : "'Operand 1'" },
4796 { "kind" : "IdRef", "name" : "'Operand 2'" }
4797 ],
4798 "capabilities" : [ "IntegerFunctions2INTEL" ],
4799 "version" : "None"
4800 },
4801 {
4802 "opname" : "OpUAverageINTEL",
4803 "class" : "Reserved",
4804 "opcode" : 5592,
4805 "operands" : [
4806 { "kind" : "IdResultType" },
4807 { "kind" : "IdResult" },
4808 { "kind" : "IdRef", "name" : "'Operand 1'" },
4809 { "kind" : "IdRef", "name" : "'Operand 2'" }
4810 ],
4811 "capabilities" : [ "IntegerFunctions2INTEL" ],
4812 "version" : "None"
4813 },
4814 {
4815 "opname" : "OpIAverageRoundedINTEL",
4816 "class" : "Reserved",
4817 "opcode" : 5593,
4818 "operands" : [
4819 { "kind" : "IdResultType" },
4820 { "kind" : "IdResult" },
4821 { "kind" : "IdRef", "name" : "'Operand 1'" },
4822 { "kind" : "IdRef", "name" : "'Operand 2'" }
4823 ],
4824 "capabilities" : [ "IntegerFunctions2INTEL" ],
4825 "version" : "None"
4826 },
4827 {
4828 "opname" : "OpUAverageRoundedINTEL",
4829 "class" : "Reserved",
4830 "opcode" : 5594,
4831 "operands" : [
4832 { "kind" : "IdResultType" },
4833 { "kind" : "IdResult" },
4834 { "kind" : "IdRef", "name" : "'Operand 1'" },
4835 { "kind" : "IdRef", "name" : "'Operand 2'" }
4836 ],
4837 "capabilities" : [ "IntegerFunctions2INTEL" ],
4838 "version" : "None"
4839 },
4840 {
4841 "opname" : "OpISubSatINTEL",
4842 "class" : "Reserved",
4843 "opcode" : 5595,
4844 "operands" : [
4845 { "kind" : "IdResultType" },
4846 { "kind" : "IdResult" },
4847 { "kind" : "IdRef", "name" : "'Operand 1'" },
4848 { "kind" : "IdRef", "name" : "'Operand 2'" }
4849 ],
4850 "capabilities" : [ "IntegerFunctions2INTEL" ],
4851 "version" : "None"
4852 },
4853 {
4854 "opname" : "OpUSubSatINTEL",
4855 "class" : "Reserved",
4856 "opcode" : 5596,
4857 "operands" : [
4858 { "kind" : "IdResultType" },
4859 { "kind" : "IdResult" },
4860 { "kind" : "IdRef", "name" : "'Operand 1'" },
4861 { "kind" : "IdRef", "name" : "'Operand 2'" }
4862 ],
4863 "capabilities" : [ "IntegerFunctions2INTEL" ],
4864 "version" : "None"
4865 },
4866 {
4867 "opname" : "OpIMul32x16INTEL",
4868 "class" : "Reserved",
4869 "opcode" : 5597,
4870 "operands" : [
4871 { "kind" : "IdResultType" },
4872 { "kind" : "IdResult" },
4873 { "kind" : "IdRef", "name" : "'Operand 1'" },
4874 { "kind" : "IdRef", "name" : "'Operand 2'" }
4875 ],
4876 "capabilities" : [ "IntegerFunctions2INTEL" ],
4877 "version" : "None"
4878 },
4879 {
4880 "opname" : "OpUMul32x16INTEL",
4881 "class" : "Reserved",
4882 "opcode" : 5598,
4883 "operands" : [
4884 { "kind" : "IdResultType" },
4885 { "kind" : "IdResult" },
4886 { "kind" : "IdRef", "name" : "'Operand 1'" },
4887 { "kind" : "IdRef", "name" : "'Operand 2'" }
4888 ],
4889 "capabilities" : [ "IntegerFunctions2INTEL" ],
4890 "version" : "None"
4891 },
4892 {
4893 "opname" : "OpDecorateString",
4894 "class" : "Annotation",
4895 "opcode" : 5632,
4896 "operands" : [
4897 { "kind" : "IdRef", "name" : "'Target'" },
4898 { "kind" : "Decoration" }
4899 ],
4900 "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
4901 "version" : "1.4"
4902 },
4903 {
4904 "opname" : "OpDecorateStringGOOGLE",
4905 "class" : "Annotation",
4906 "opcode" : 5632,
4907 "operands" : [
4908 { "kind" : "IdRef", "name" : "'Target'" },
4909 { "kind" : "Decoration" }
4910 ],
4911 "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
4912 "version" : "1.4"
4913 },
4914 {
4915 "opname" : "OpMemberDecorateString",
4916 "class" : "Annotation",
4917 "opcode" : 5633,
4918 "operands" : [
4919 { "kind" : "IdRef", "name" : "'Struct Type'" },
4920 { "kind" : "LiteralInteger", "name" : "'Member'" },
4921 { "kind" : "Decoration" }
4922 ],
4923 "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
4924 "version" : "1.4"
4925 },
4926 {
4927 "opname" : "OpMemberDecorateStringGOOGLE",
4928 "class" : "Annotation",
4929 "opcode" : 5633,
4930 "operands" : [
4931 { "kind" : "IdRef", "name" : "'Struct Type'" },
4932 { "kind" : "LiteralInteger", "name" : "'Member'" },
4933 { "kind" : "Decoration" }
4934 ],
4935 "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
4936 "version" : "1.4"
4937 },
4938 {
4939 "opname" : "OpVmeImageINTEL",
4940 "class" : "@exclude",
4941 "opcode" : 5699,
4942 "operands" : [
4943 { "kind" : "IdResultType" },
4944 { "kind" : "IdResult" },
4945 { "kind" : "IdRef", "name" : "'Image Type'" },
4946 { "kind" : "IdRef", "name" : "'Sampler'" }
4947 ],
4948 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
4949 "version" : "None"
4950 },
4951 {
4952 "opname" : "OpTypeVmeImageINTEL",
4953 "class" : "@exclude",
4954 "opcode" : 5700,
4955 "operands" : [
4956 { "kind" : "IdResult" },
4957 { "kind" : "IdRef", "name" : "'Image Type'" }
4958 ],
4959 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
4960 "version" : "None"
4961 },
4962 {
4963 "opname" : "OpTypeAvcImePayloadINTEL",
4964 "class" : "@exclude",
4965 "opcode" : 5701,
4966 "operands" : [
4967 { "kind" : "IdResult" }
4968 ],
4969 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
4970 "version" : "None"
4971 },
4972 {
4973 "opname" : "OpTypeAvcRefPayloadINTEL",
4974 "class" : "@exclude",
4975 "opcode" : 5702,
4976 "operands" : [
4977 { "kind" : "IdResult" }
4978 ],
4979 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
4980 "version" : "None"
4981 },
4982 {
4983 "opname" : "OpTypeAvcSicPayloadINTEL",
4984 "class" : "@exclude",
4985 "opcode" : 5703,
4986 "operands" : [
4987 { "kind" : "IdResult" }
4988 ],
4989 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
4990 "version" : "None"
4991 },
4992 {
4993 "opname" : "OpTypeAvcMcePayloadINTEL",
4994 "class" : "@exclude",
4995 "opcode" : 5704,
4996 "operands" : [
4997 { "kind" : "IdResult" }
4998 ],
4999 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5000 "version" : "None"
5001 },
5002 {
5003 "opname" : "OpTypeAvcMceResultINTEL",
5004 "class" : "@exclude",
5005 "opcode" : 5705,
5006 "operands" : [
5007 { "kind" : "IdResult" }
5008 ],
5009 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5010 "version" : "None"
5011 },
5012 {
5013 "opname" : "OpTypeAvcImeResultINTEL",
5014 "class" : "@exclude",
5015 "opcode" : 5706,
5016 "operands" : [
5017 { "kind" : "IdResult" }
5018 ],
5019 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5020 "version" : "None"
5021 },
5022 {
5023 "opname" : "OpTypeAvcImeResultSingleReferenceStreamoutINTEL",
5024 "class" : "@exclude",
5025 "opcode" : 5707,
5026 "operands" : [
5027 { "kind" : "IdResult" }
5028 ],
5029 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5030 "version" : "None"
5031 },
5032 {
5033 "opname" : "OpTypeAvcImeResultDualReferenceStreamoutINTEL",
5034 "class" : "@exclude",
5035 "opcode" : 5708,
5036 "operands" : [
5037 { "kind" : "IdResult" }
5038 ],
5039 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5040 "version" : "None"
5041 },
5042 {
5043 "opname" : "OpTypeAvcImeSingleReferenceStreaminINTEL",
5044 "class" : "@exclude",
5045 "opcode" : 5709,
5046 "operands" : [
5047 { "kind" : "IdResult" }
5048 ],
5049 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5050 "version" : "None"
5051 },
5052 {
5053 "opname" : "OpTypeAvcImeDualReferenceStreaminINTEL",
5054 "class" : "@exclude",
5055 "opcode" : 5710,
5056 "operands" : [
5057 { "kind" : "IdResult" }
5058 ],
5059 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5060 "version" : "None"
5061 },
5062 {
5063 "opname" : "OpTypeAvcRefResultINTEL",
5064 "class" : "@exclude",
5065 "opcode" : 5711,
5066 "operands" : [
5067 { "kind" : "IdResult" }
5068 ],
5069 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5070 "version" : "None"
5071 },
5072 {
5073 "opname" : "OpTypeAvcSicResultINTEL",
5074 "class" : "@exclude",
5075 "opcode" : 5712,
5076 "operands" : [
5077 { "kind" : "IdResult" }
5078 ],
5079 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5080 "version" : "None"
5081 },
5082 {
5083 "opname" : "OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL",
5084 "class" : "@exclude",
5085 "opcode" : 5713,
5086 "operands" : [
5087 { "kind" : "IdResultType" },
5088 { "kind" : "IdResult" },
5089 { "kind" : "IdRef", "name" : "'Slice Type'" },
5090 { "kind" : "IdRef", "name" : "'Qp'" }
5091 ],
5092 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5093 "version" : "None"
5094 },
5095 {
5096 "opname" : "OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL",
5097 "class" : "@exclude",
5098 "opcode" : 5714,
5099 "operands" : [
5100 { "kind" : "IdResultType" },
5101 { "kind" : "IdResult" },
5102 { "kind" : "IdRef", "name" : "'Reference Base Penalty'" },
5103 { "kind" : "IdRef", "name" : "'Payload'" }
5104 ],
5105 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5106 "version" : "None"
5107 },
5108 {
5109 "opname" : "OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL",
5110 "class" : "@exclude",
5111 "opcode" : 5715,
5112 "operands" : [
5113 { "kind" : "IdResultType" },
5114 { "kind" : "IdResult" },
5115 { "kind" : "IdRef", "name" : "'Slice Type'" },
5116 { "kind" : "IdRef", "name" : "'Qp'" }
5117 ],
5118 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5119 "version" : "None"
5120 },
5121 {
5122 "opname" : "OpSubgroupAvcMceSetInterShapePenaltyINTEL",
5123 "class" : "@exclude",
5124 "opcode" : 5716,
5125 "operands" : [
5126 { "kind" : "IdResultType" },
5127 { "kind" : "IdResult" },
5128 { "kind" : "IdRef", "name" : "'Packed Shape Penalty'" },
5129 { "kind" : "IdRef", "name" : "'Payload'" }
5130 ],
5131 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5132 "version" : "None"
5133 },
5134 {
5135 "opname" : "OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL",
5136 "class" : "@exclude",
5137 "opcode" : 5717,
5138 "operands" : [
5139 { "kind" : "IdResultType" },
5140 { "kind" : "IdResult" },
5141 { "kind" : "IdRef", "name" : "'Slice Type'" },
5142 { "kind" : "IdRef", "name" : "'Qp'" }
5143 ],
5144 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5145 "version" : "None"
5146 },
5147 {
5148 "opname" : "OpSubgroupAvcMceSetInterDirectionPenaltyINTEL",
5149 "class" : "@exclude",
5150 "opcode" : 5718,
5151 "operands" : [
5152 { "kind" : "IdResultType" },
5153 { "kind" : "IdResult" },
5154 { "kind" : "IdRef", "name" : "'Direction Cost'" },
5155 { "kind" : "IdRef", "name" : "'Payload'" }
5156 ],
5157 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5158 "version" : "None"
5159 },
5160 {
5161 "opname" : "OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL",
5162 "class" : "@exclude",
5163 "opcode" : 5719,
5164 "operands" : [
5165 { "kind" : "IdResultType" },
5166 { "kind" : "IdResult" },
5167 { "kind" : "IdRef", "name" : "'Slice Type'" },
5168 { "kind" : "IdRef", "name" : "'Qp'" }
5169 ],
5170 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
5171 "version" : "None"
5172 },
5173 {
5174 "opname" : "OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL",
5175 "class" : "@exclude",
5176 "opcode" : 5720,
5177 "operands" : [
5178 { "kind" : "IdResultType" },
5179 { "kind" : "IdResult" },
5180 { "kind" : "IdRef", "name" : "'Slice Type'" },
5181 { "kind" : "IdRef", "name" : "'Qp'" }
5182 ],
5183 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5184 "version" : "None"
5185 },
5186 {
5187 "opname" : "OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL",
5188 "class" : "@exclude",
5189 "opcode" : 5721,
5190 "operands" : [
5191 { "kind" : "IdResultType" },
5192 { "kind" : "IdResult" }
5193 ],
5194 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5195 "version" : "None"
5196 },
5197 {
5198 "opname" : "OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL",
5199 "class" : "@exclude",
5200 "opcode" : 5722,
5201 "operands" : [
5202 { "kind" : "IdResultType" },
5203 { "kind" : "IdResult" }
5204 ],
5205 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5206 "version" : "None"
5207 },
5208 {
5209 "opname" : "OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL",
5210 "class" : "@exclude",
5211 "opcode" : 5723,
5212 "operands" : [
5213 { "kind" : "IdResultType" },
5214 { "kind" : "IdResult" }
5215 ],
5216 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5217 "version" : "None"
5218 },
5219 {
5220 "opname" : "OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL",
5221 "class" : "@exclude",
5222 "opcode" : 5724,
5223 "operands" : [
5224 { "kind" : "IdResultType" },
5225 { "kind" : "IdResult" },
5226 { "kind" : "IdRef", "name" : "'Packed Cost Center Delta'" },
5227 { "kind" : "IdRef", "name" : "'Packed Cost Table'" },
5228 { "kind" : "IdRef", "name" : "'Cost Precision'" },
5229 { "kind" : "IdRef", "name" : "'Payload'" }
5230 ],
5231 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5232 "version" : "None"
5233 },
5234 {
5235 "opname" : "OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL",
5236 "class" : "@exclude",
5237 "opcode" : 5725,
5238 "operands" : [
5239 { "kind" : "IdResultType" },
5240 { "kind" : "IdResult" },
5241 { "kind" : "IdRef", "name" : "'Slice Type'" },
5242 { "kind" : "IdRef", "name" : "'Qp'" }
5243 ],
5244 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
5245 "version" : "None"
5246 },
5247 {
5248 "opname" : "OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL",
5249 "class" : "@exclude",
5250 "opcode" : 5726,
5251 "operands" : [
5252 { "kind" : "IdResultType" },
5253 { "kind" : "IdResult" }
5254 ],
5255 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
5256 "version" : "None"
5257 },
5258 {
5259 "opname" : "OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL",
5260 "class" : "@exclude",
5261 "opcode" : 5727,
5262 "operands" : [
5263 { "kind" : "IdResultType" },
5264 { "kind" : "IdResult" }
5265 ],
5266 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
5267 "version" : "None"
5268 },
5269 {
5270 "opname" : "OpSubgroupAvcMceSetAcOnlyHaarINTEL",
5271 "class" : "@exclude",
5272 "opcode" : 5728,
5273 "operands" : [
5274 { "kind" : "IdResultType" },
5275 { "kind" : "IdResult" },
5276 { "kind" : "IdRef", "name" : "'Payload'" }
5277 ],
5278 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5279 "version" : "None"
5280 },
5281 {
5282 "opname" : "OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL",
5283 "class" : "@exclude",
5284 "opcode" : 5729,
5285 "operands" : [
5286 { "kind" : "IdResultType" },
5287 { "kind" : "IdResult" },
5288 { "kind" : "IdRef", "name" : "'Source Field Polarity'" },
5289 { "kind" : "IdRef", "name" : "'Payload'" }
5290 ],
5291 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5292 "version" : "None"
5293 },
5294 {
5295 "opname" : "OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL",
5296 "class" : "@exclude",
5297 "opcode" : 5730,
5298 "operands" : [
5299 { "kind" : "IdResultType" },
5300 { "kind" : "IdResult" },
5301 { "kind" : "IdRef", "name" : "'Reference Field Polarity'" },
5302 { "kind" : "IdRef", "name" : "'Payload'" }
5303 ],
5304 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5305 "version" : "None"
5306 },
5307 {
5308 "opname" : "OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL",
5309 "class" : "@exclude",
5310 "opcode" : 5731,
5311 "operands" : [
5312 { "kind" : "IdResultType" },
5313 { "kind" : "IdResult" },
5314 { "kind" : "IdRef", "name" : "'Forward Reference Field Polarity'" },
5315 { "kind" : "IdRef", "name" : "'Backward Reference Field Polarity'" },
5316 { "kind" : "IdRef", "name" : "'Payload'" }
5317 ],
5318 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5319 "version" : "None"
5320 },
5321 {
5322 "opname" : "OpSubgroupAvcMceConvertToImePayloadINTEL",
5323 "class" : "@exclude",
5324 "opcode" : 5732,
5325 "operands" : [
5326 { "kind" : "IdResultType" },
5327 { "kind" : "IdResult" },
5328 { "kind" : "IdRef", "name" : "'Payload'" }
5329 ],
5330 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5331 "version" : "None"
5332 },
5333 {
5334 "opname" : "OpSubgroupAvcMceConvertToImeResultINTEL",
5335 "class" : "@exclude",
5336 "opcode" : 5733,
5337 "operands" : [
5338 { "kind" : "IdResultType" },
5339 { "kind" : "IdResult" },
5340 { "kind" : "IdRef", "name" : "'Payload'" }
5341 ],
5342 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5343 "version" : "None"
5344 },
5345 {
5346 "opname" : "OpSubgroupAvcMceConvertToRefPayloadINTEL",
5347 "class" : "@exclude",
5348 "opcode" : 5734,
5349 "operands" : [
5350 { "kind" : "IdResultType" },
5351 { "kind" : "IdResult" },
5352 { "kind" : "IdRef", "name" : "'Payload'" }
5353 ],
5354 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5355 "version" : "None"
5356 },
5357 {
5358 "opname" : "OpSubgroupAvcMceConvertToRefResultINTEL",
5359 "class" : "@exclude",
5360 "opcode" : 5735,
5361 "operands" : [
5362 { "kind" : "IdResultType" },
5363 { "kind" : "IdResult" },
5364 { "kind" : "IdRef", "name" : "'Payload'" }
5365 ],
5366 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5367 "version" : "None"
5368 },
5369 {
5370 "opname" : "OpSubgroupAvcMceConvertToSicPayloadINTEL",
5371 "class" : "@exclude",
5372 "opcode" : 5736,
5373 "operands" : [
5374 { "kind" : "IdResultType" },
5375 { "kind" : "IdResult" },
5376 { "kind" : "IdRef", "name" : "'Payload'" }
5377 ],
5378 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5379 "version" : "None"
5380 },
5381 {
5382 "opname" : "OpSubgroupAvcMceConvertToSicResultINTEL",
5383 "class" : "@exclude",
5384 "opcode" : 5737,
5385 "operands" : [
5386 { "kind" : "IdResultType" },
5387 { "kind" : "IdResult" },
5388 { "kind" : "IdRef", "name" : "'Payload'" }
5389 ],
5390 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5391 "version" : "None"
5392 },
5393 {
5394 "opname" : "OpSubgroupAvcMceGetMotionVectorsINTEL",
5395 "class" : "@exclude",
5396 "opcode" : 5738,
5397 "operands" : [
5398 { "kind" : "IdResultType" },
5399 { "kind" : "IdResult" },
5400 { "kind" : "IdRef", "name" : "'Payload'" }
5401 ],
5402 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5403 "version" : "None"
5404 },
5405 {
5406 "opname" : "OpSubgroupAvcMceGetInterDistortionsINTEL",
5407 "class" : "@exclude",
5408 "opcode" : 5739,
5409 "operands" : [
5410 { "kind" : "IdResultType" },
5411 { "kind" : "IdResult" },
5412 { "kind" : "IdRef", "name" : "'Payload'" }
5413 ],
5414 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5415 "version" : "None"
5416 },
5417 {
5418 "opname" : "OpSubgroupAvcMceGetBestInterDistortionsINTEL",
5419 "class" : "@exclude",
5420 "opcode" : 5740,
5421 "operands" : [
5422 { "kind" : "IdResultType" },
5423 { "kind" : "IdResult" },
5424 { "kind" : "IdRef", "name" : "'Payload'" }
5425 ],
5426 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5427 "version" : "None"
5428 },
5429 {
5430 "opname" : "OpSubgroupAvcMceGetInterMajorShapeINTEL",
5431 "class" : "@exclude",
5432 "opcode" : 5741,
5433 "operands" : [
5434 { "kind" : "IdResultType" },
5435 { "kind" : "IdResult" },
5436 { "kind" : "IdRef", "name" : "'Payload'" }
5437 ],
5438 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5439 "version" : "None"
5440 },
5441 {
5442 "opname" : "OpSubgroupAvcMceGetInterMinorShapeINTEL",
5443 "class" : "@exclude",
5444 "opcode" : 5742,
5445 "operands" : [
5446 { "kind" : "IdResultType" },
5447 { "kind" : "IdResult" },
5448 { "kind" : "IdRef", "name" : "'Payload'" }
5449 ],
5450 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5451 "version" : "None"
5452 },
5453 {
5454 "opname" : "OpSubgroupAvcMceGetInterDirectionsINTEL",
5455 "class" : "@exclude",
5456 "opcode" : 5743,
5457 "operands" : [
5458 { "kind" : "IdResultType" },
5459 { "kind" : "IdResult" },
5460 { "kind" : "IdRef", "name" : "'Payload'" }
5461 ],
5462 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5463 "version" : "None"
5464 },
5465 {
5466 "opname" : "OpSubgroupAvcMceGetInterMotionVectorCountINTEL",
5467 "class" : "@exclude",
5468 "opcode" : 5744,
5469 "operands" : [
5470 { "kind" : "IdResultType" },
5471 { "kind" : "IdResult" },
5472 { "kind" : "IdRef", "name" : "'Payload'" }
5473 ],
5474 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5475 "version" : "None"
5476 },
5477 {
5478 "opname" : "OpSubgroupAvcMceGetInterReferenceIdsINTEL",
5479 "class" : "@exclude",
5480 "opcode" : 5745,
5481 "operands" : [
5482 { "kind" : "IdResultType" },
5483 { "kind" : "IdResult" },
5484 { "kind" : "IdRef", "name" : "'Payload'" }
5485 ],
5486 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5487 "version" : "None"
5488 },
5489 {
5490 "opname" : "OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL",
5491 "class" : "@exclude",
5492 "opcode" : 5746,
5493 "operands" : [
5494 { "kind" : "IdResultType" },
5495 { "kind" : "IdResult" },
5496 { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
5497 { "kind" : "IdRef", "name" : "'Packed Reference Parameter Field Polarities'" },
5498 { "kind" : "IdRef", "name" : "'Payload'" }
5499 ],
5500 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5501 "version" : "None"
5502 },
5503 {
5504 "opname" : "OpSubgroupAvcImeInitializeINTEL",
5505 "class" : "@exclude",
5506 "opcode" : 5747,
5507 "operands" : [
5508 { "kind" : "IdResultType" },
5509 { "kind" : "IdResult" },
5510 { "kind" : "IdRef", "name" : "'Src Coord'" },
5511 { "kind" : "IdRef", "name" : "'Partition Mask'" },
5512 { "kind" : "IdRef", "name" : "'SAD Adjustment'" }
5513 ],
5514 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5515 "version" : "None"
5516 },
5517 {
5518 "opname" : "OpSubgroupAvcImeSetSingleReferenceINTEL",
5519 "class" : "@exclude",
5520 "opcode" : 5748,
5521 "operands" : [
5522 { "kind" : "IdResultType" },
5523 { "kind" : "IdResult" },
5524 { "kind" : "IdRef", "name" : "'Ref Offset'" },
5525 { "kind" : "IdRef", "name" : "'Search Window Config'" },
5526 { "kind" : "IdRef", "name" : "'Payload'" }
5527 ],
5528 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5529 "version" : "None"
5530 },
5531 {
5532 "opname" : "OpSubgroupAvcImeSetDualReferenceINTEL",
5533 "class" : "@exclude",
5534 "opcode" : 5749,
5535 "operands" : [
5536 { "kind" : "IdResultType" },
5537 { "kind" : "IdResult" },
5538 { "kind" : "IdRef", "name" : "'Fwd Ref Offset'" },
5539 { "kind" : "IdRef", "name" : "'Bwd Ref Offset'" },
5540 { "kind" : "IdRef", "name" : "'id> Search Window Config'" },
5541 { "kind" : "IdRef", "name" : "'Payload'" }
5542 ],
5543 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5544 "version" : "None"
5545 },
5546 {
5547 "opname" : "OpSubgroupAvcImeRefWindowSizeINTEL",
5548 "class" : "@exclude",
5549 "opcode" : 5750,
5550 "operands" : [
5551 { "kind" : "IdResultType" },
5552 { "kind" : "IdResult" },
5553 { "kind" : "IdRef", "name" : "'Search Window Config'" },
5554 { "kind" : "IdRef", "name" : "'Dual Ref'" }
5555 ],
5556 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5557 "version" : "None"
5558 },
5559 {
5560 "opname" : "OpSubgroupAvcImeAdjustRefOffsetINTEL",
5561 "class" : "@exclude",
5562 "opcode" : 5751,
5563 "operands" : [
5564 { "kind" : "IdResultType" },
5565 { "kind" : "IdResult" },
5566 { "kind" : "IdRef", "name" : "'Ref Offset'" },
5567 { "kind" : "IdRef", "name" : "'Src Coord'" },
5568 { "kind" : "IdRef", "name" : "'Ref Window Size'" },
5569 { "kind" : "IdRef", "name" : "'Image Size'" }
5570 ],
5571 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5572 "version" : "None"
5573 },
5574 {
5575 "opname" : "OpSubgroupAvcImeConvertToMcePayloadINTEL",
5576 "class" : "@exclude",
5577 "opcode" : 5752,
5578 "operands" : [
5579 { "kind" : "IdResultType" },
5580 { "kind" : "IdResult" },
5581 { "kind" : "IdRef", "name" : "'Payload'" }
5582 ],
5583 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5584 "version" : "None"
5585 },
5586 {
5587 "opname" : "OpSubgroupAvcImeSetMaxMotionVectorCountINTEL",
5588 "class" : "@exclude",
5589 "opcode" : 5753,
5590 "operands" : [
5591 { "kind" : "IdResultType" },
5592 { "kind" : "IdResult" },
5593 { "kind" : "IdRef", "name" : "'Max Motion Vector Count'" },
5594 { "kind" : "IdRef", "name" : "'Payload'" }
5595 ],
5596 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5597 "version" : "None"
5598 },
5599 {
5600 "opname" : "OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL",
5601 "class" : "@exclude",
5602 "opcode" : 5754,
5603 "operands" : [
5604 { "kind" : "IdResultType" },
5605 { "kind" : "IdResult" },
5606 { "kind" : "IdRef", "name" : "'Payload'" }
5607 ],
5608 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5609 "version" : "None"
5610 },
5611 {
5612 "opname" : "OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL",
5613 "class" : "@exclude",
5614 "opcode" : 5755,
5615 "operands" : [
5616 { "kind" : "IdResultType" },
5617 { "kind" : "IdResult" },
5618 { "kind" : "IdRef", "name" : "'Threshold'" },
5619 { "kind" : "IdRef", "name" : "'Payload'" }
5620 ],
5621 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5622 "version" : "None"
5623 },
5624 {
5625 "opname" : "OpSubgroupAvcImeSetWeightedSadINTEL",
5626 "class" : "@exclude",
5627 "opcode" : 5756,
5628 "operands" : [
5629 { "kind" : "IdResultType" },
5630 { "kind" : "IdResult" },
5631 { "kind" : "IdRef", "name" : "'Packed Sad Weights'" },
5632 { "kind" : "IdRef", "name" : "'Payload'" }
5633 ],
5634 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5635 "version" : "None"
5636 },
5637 {
5638 "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL",
5639 "class" : "@exclude",
5640 "opcode" : 5757,
5641 "operands" : [
5642 { "kind" : "IdResultType" },
5643 { "kind" : "IdResult" },
5644 { "kind" : "IdRef", "name" : "'Src Image'" },
5645 { "kind" : "IdRef", "name" : "'Ref Image'" },
5646 { "kind" : "IdRef", "name" : "'Payload'" }
5647 ],
5648 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5649 "version" : "None"
5650 },
5651 {
5652 "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceINTEL",
5653 "class" : "@exclude",
5654 "opcode" : 5758,
5655 "operands" : [
5656 { "kind" : "IdResultType" },
5657 { "kind" : "IdResult" },
5658 { "kind" : "IdRef", "name" : "'Src Image'" },
5659 { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
5660 { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
5661 { "kind" : "IdRef", "name" : "'Payload'" }
5662 ],
5663 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5664 "version" : "None"
5665 },
5666 {
5667 "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL",
5668 "class" : "@exclude",
5669 "opcode" : 5759,
5670 "operands" : [
5671 { "kind" : "IdResultType" },
5672 { "kind" : "IdResult" },
5673 { "kind" : "IdRef", "name" : "'Src Image'" },
5674 { "kind" : "IdRef", "name" : "'Ref Image'" },
5675 { "kind" : "IdRef", "name" : "'Payload'" },
5676 { "kind" : "IdRef", "name" : "'Streamin Components'" }
5677 ],
5678 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5679 "version" : "None"
5680 },
5681 {
5682 "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL",
5683 "class" : "@exclude",
5684 "opcode" : 5760,
5685 "operands" : [
5686 { "kind" : "IdResultType" },
5687 { "kind" : "IdResult" },
5688 { "kind" : "IdRef", "name" : "'Src Image'" },
5689 { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
5690 { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
5691 { "kind" : "IdRef", "name" : "'Payload'" },
5692 { "kind" : "IdRef", "name" : "'Streamin Components'" }
5693 ],
5694 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5695 "version" : "None"
5696 },
5697 {
5698 "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL",
5699 "class" : "@exclude",
5700 "opcode" : 5761,
5701 "operands" : [
5702 { "kind" : "IdResultType" },
5703 { "kind" : "IdResult" },
5704 { "kind" : "IdRef", "name" : "'Src Image'" },
5705 { "kind" : "IdRef", "name" : "'Ref Image'" },
5706 { "kind" : "IdRef", "name" : "'Payload'" }
5707 ],
5708 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5709 "version" : "None"
5710 },
5711 {
5712 "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL",
5713 "class" : "@exclude",
5714 "opcode" : 5762,
5715 "operands" : [
5716 { "kind" : "IdResultType" },
5717 { "kind" : "IdResult" },
5718 { "kind" : "IdRef", "name" : "'Src Image'" },
5719 { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
5720 { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
5721 { "kind" : "IdRef", "name" : "'Payload'" }
5722 ],
5723 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5724 "version" : "None"
5725 },
5726 {
5727 "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL",
5728 "class" : "@exclude",
5729 "opcode" : 5763,
5730 "operands" : [
5731 { "kind" : "IdResultType" },
5732 { "kind" : "IdResult" },
5733 { "kind" : "IdRef", "name" : "'Src Image'" },
5734 { "kind" : "IdRef", "name" : "'Ref Image'" },
5735 { "kind" : "IdRef", "name" : "'Payload'" },
5736 { "kind" : "IdRef", "name" : "'Streamin Components'" }
5737 ],
5738 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5739 "version" : "None"
5740 },
5741 {
5742 "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL",
5743 "class" : "@exclude",
5744 "opcode" : 5764,
5745 "operands" : [
5746 { "kind" : "IdResultType" },
5747 { "kind" : "IdResult" },
5748 { "kind" : "IdRef", "name" : "'Src Image'" },
5749 { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
5750 { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
5751 { "kind" : "IdRef", "name" : "'Payload'" },
5752 { "kind" : "IdRef", "name" : "'Streamin Components'" }
5753 ],
5754 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5755 "version" : "None"
5756 },
5757 {
5758 "opname" : "OpSubgroupAvcImeConvertToMceResultINTEL",
5759 "class" : "@exclude",
5760 "opcode" : 5765,
5761 "operands" : [
5762 { "kind" : "IdResultType" },
5763 { "kind" : "IdResult" },
5764 { "kind" : "IdRef", "name" : "'Payload'" }
5765 ],
5766 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5767 "version" : "None"
5768 },
5769 {
5770 "opname" : "OpSubgroupAvcImeGetSingleReferenceStreaminINTEL",
5771 "class" : "@exclude",
5772 "opcode" : 5766,
5773 "operands" : [
5774 { "kind" : "IdResultType" },
5775 { "kind" : "IdResult" },
5776 { "kind" : "IdRef", "name" : "'Payload'" }
5777 ],
5778 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5779 "version" : "None"
5780 },
5781 {
5782 "opname" : "OpSubgroupAvcImeGetDualReferenceStreaminINTEL",
5783 "class" : "@exclude",
5784 "opcode" : 5767,
5785 "operands" : [
5786 { "kind" : "IdResultType" },
5787 { "kind" : "IdResult" },
5788 { "kind" : "IdRef", "name" : "'Payload'" }
5789 ],
5790 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5791 "version" : "None"
5792 },
5793 {
5794 "opname" : "OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL",
5795 "class" : "@exclude",
5796 "opcode" : 5768,
5797 "operands" : [
5798 { "kind" : "IdResultType" },
5799 { "kind" : "IdResult" },
5800 { "kind" : "IdRef", "name" : "'Payload'" }
5801 ],
5802 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5803 "version" : "None"
5804 },
5805 {
5806 "opname" : "OpSubgroupAvcImeStripDualReferenceStreamoutINTEL",
5807 "class" : "@exclude",
5808 "opcode" : 5769,
5809 "operands" : [
5810 { "kind" : "IdResultType" },
5811 { "kind" : "IdResult" },
5812 { "kind" : "IdRef", "name" : "'Payload'" }
5813 ],
5814 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5815 "version" : "None"
5816 },
5817 {
5818 "opname" : "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL",
5819 "class" : "@exclude",
5820 "opcode" : 5770,
5821 "operands" : [
5822 { "kind" : "IdResultType" },
5823 { "kind" : "IdResult" },
5824 { "kind" : "IdRef", "name" : "'Payload'" },
5825 { "kind" : "IdRef", "name" : "'Major Shape'" }
5826 ],
5827 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5828 "version" : "None"
5829 },
5830 {
5831 "opname" : "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL",
5832 "class" : "@exclude",
5833 "opcode" : 5771,
5834 "operands" : [
5835 { "kind" : "IdResultType" },
5836 { "kind" : "IdResult" },
5837 { "kind" : "IdRef", "name" : "'Payload'" },
5838 { "kind" : "IdRef", "name" : "'Major Shape'" }
5839 ],
5840 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5841 "version" : "None"
5842 },
5843 {
5844 "opname" : "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL",
5845 "class" : "@exclude",
5846 "opcode" : 5772,
5847 "operands" : [
5848 { "kind" : "IdResultType" },
5849 { "kind" : "IdResult" },
5850 { "kind" : "IdRef", "name" : "'Payload'" },
5851 { "kind" : "IdRef", "name" : "'Major Shape'" }
5852 ],
5853 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5854 "version" : "None"
5855 },
5856 {
5857 "opname" : "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL",
5858 "class" : "@exclude",
5859 "opcode" : 5773,
5860 "operands" : [
5861 { "kind" : "IdResultType" },
5862 { "kind" : "IdResult" },
5863 { "kind" : "IdRef", "name" : "'Payload'" },
5864 { "kind" : "IdRef", "name" : "'Major Shape'" },
5865 { "kind" : "IdRef", "name" : "'Direction'" }
5866 ],
5867 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5868 "version" : "None"
5869 },
5870 {
5871 "opname" : "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL",
5872 "class" : "@exclude",
5873 "opcode" : 5774,
5874 "operands" : [
5875 { "kind" : "IdResultType" },
5876 { "kind" : "IdResult" },
5877 { "kind" : "IdRef", "name" : "'Payload'" },
5878 { "kind" : "IdRef", "name" : "'Major Shape'" },
5879 { "kind" : "IdRef", "name" : "'Direction'" }
5880 ],
5881 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5882 "version" : "None"
5883 },
5884 {
5885 "opname" : "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL",
5886 "class" : "@exclude",
5887 "opcode" : 5775,
5888 "operands" : [
5889 { "kind" : "IdResultType" },
5890 { "kind" : "IdResult" },
5891 { "kind" : "IdRef", "name" : "'Payload'" },
5892 { "kind" : "IdRef", "name" : "'Major Shape'" },
5893 { "kind" : "IdRef", "name" : "'Direction'" }
5894 ],
5895 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5896 "version" : "None"
5897 },
5898 {
5899 "opname" : "OpSubgroupAvcImeGetBorderReachedINTEL",
5900 "class" : "@exclude",
5901 "opcode" : 5776,
5902 "operands" : [
5903 { "kind" : "IdResultType" },
5904 { "kind" : "IdResult" },
5905 { "kind" : "IdRef", "name" : "'Image Select'" },
5906 { "kind" : "IdRef", "name" : "'Payload'" }
5907 ],
5908 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5909 "version" : "None"
5910 },
5911 {
5912 "opname" : "OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL",
5913 "class" : "@exclude",
5914 "opcode" : 5777,
5915 "operands" : [
5916 { "kind" : "IdResultType" },
5917 { "kind" : "IdResult" },
5918 { "kind" : "IdRef", "name" : "'Payload'" }
5919 ],
5920 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5921 "version" : "None"
5922 },
5923 {
5924 "opname" : "OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL",
5925 "class" : "@exclude",
5926 "opcode" : 5778,
5927 "operands" : [
5928 { "kind" : "IdResultType" },
5929 { "kind" : "IdResult" },
5930 { "kind" : "IdRef", "name" : "'Payload'" }
5931 ],
5932 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5933 "version" : "None"
5934 },
5935 {
5936 "opname" : "OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL",
5937 "class" : "@exclude",
5938 "opcode" : 5779,
5939 "operands" : [
5940 { "kind" : "IdResultType" },
5941 { "kind" : "IdResult" },
5942 { "kind" : "IdRef", "name" : "'Payload'" }
5943 ],
5944 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5945 "version" : "None"
5946 },
5947 {
5948 "opname" : "OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL",
5949 "class" : "@exclude",
5950 "opcode" : 5780,
5951 "operands" : [
5952 { "kind" : "IdResultType" },
5953 { "kind" : "IdResult" },
5954 { "kind" : "IdRef", "name" : "'Payload'" }
5955 ],
5956 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5957 "version" : "None"
5958 },
5959 {
5960 "opname" : "OpSubgroupAvcFmeInitializeINTEL",
5961 "class" : "@exclude",
5962 "opcode" : 5781,
5963 "operands" : [
5964 { "kind" : "IdResultType" },
5965 { "kind" : "IdResult" },
5966 { "kind" : "IdRef", "name" : "'Src Coord'" },
5967 { "kind" : "IdRef", "name" : "'Motion Vectors'" },
5968 { "kind" : "IdRef", "name" : "'Major Shapes'" },
5969 { "kind" : "IdRef", "name" : "'Minor Shapes'" },
5970 { "kind" : "IdRef", "name" : "'Direction'" },
5971 { "kind" : "IdRef", "name" : "'Pixel Resolution'" },
5972 { "kind" : "IdRef", "name" : "'Sad Adjustment'" }
5973 ],
5974 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5975 "version" : "None"
5976 },
5977 {
5978 "opname" : "OpSubgroupAvcBmeInitializeINTEL",
5979 "class" : "@exclude",
5980 "opcode" : 5782,
5981 "operands" : [
5982 { "kind" : "IdResultType" },
5983 { "kind" : "IdResult" },
5984 { "kind" : "IdRef", "name" : "'Src Coord'" },
5985 { "kind" : "IdRef", "name" : "'Motion Vectors'" },
5986 { "kind" : "IdRef", "name" : "'Major Shapes'" },
5987 { "kind" : "IdRef", "name" : "'Minor Shapes'" },
5988 { "kind" : "IdRef", "name" : "'Direction'" },
5989 { "kind" : "IdRef", "name" : "'Pixel Resolution'" },
5990 { "kind" : "IdRef", "name" : "'Bidirectional Weight'" },
5991 { "kind" : "IdRef", "name" : "'Sad Adjustment'" }
5992 ],
5993 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5994 "version" : "None"
5995 },
5996 {
5997 "opname" : "OpSubgroupAvcRefConvertToMcePayloadINTEL",
5998 "class" : "@exclude",
5999 "opcode" : 5783,
6000 "operands" : [
6001 { "kind" : "IdResultType" },
6002 { "kind" : "IdResult" },
6003 { "kind" : "IdRef", "name" : "'Payload'" }
6004 ],
6005 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6006 "version" : "None"
6007 },
6008 {
6009 "opname" : "OpSubgroupAvcRefSetBidirectionalMixDisableINTEL",
6010 "class" : "@exclude",
6011 "opcode" : 5784,
6012 "operands" : [
6013 { "kind" : "IdResultType" },
6014 { "kind" : "IdResult" },
6015 { "kind" : "IdRef", "name" : "'Payload'" }
6016 ],
6017 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6018 "version" : "None"
6019 },
6020 {
6021 "opname" : "OpSubgroupAvcRefSetBilinearFilterEnableINTEL",
6022 "class" : "@exclude",
6023 "opcode" : 5785,
6024 "operands" : [
6025 { "kind" : "IdResultType" },
6026 { "kind" : "IdResult" },
6027 { "kind" : "IdRef", "name" : "'Payload'" }
6028 ],
6029 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6030 "version" : "None"
6031 },
6032 {
6033 "opname" : "OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL",
6034 "class" : "@exclude",
6035 "opcode" : 5786,
6036 "operands" : [
6037 { "kind" : "IdResultType" },
6038 { "kind" : "IdResult" },
6039 { "kind" : "IdRef", "name" : "'Src Image'" },
6040 { "kind" : "IdRef", "name" : "'Ref Image'" },
6041 { "kind" : "IdRef", "name" : "'Payload'" }
6042 ],
6043 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6044 "version" : "None"
6045 },
6046 {
6047 "opname" : "OpSubgroupAvcRefEvaluateWithDualReferenceINTEL",
6048 "class" : "@exclude",
6049 "opcode" : 5787,
6050 "operands" : [
6051 { "kind" : "IdResultType" },
6052 { "kind" : "IdResult" },
6053 { "kind" : "IdRef", "name" : "'Src Image'" },
6054 { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
6055 { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
6056 { "kind" : "IdRef", "name" : "'Payload'" }
6057 ],
6058 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6059 "version" : "None"
6060 },
6061 {
6062 "opname" : "OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL",
6063 "class" : "@exclude",
6064 "opcode" : 5788,
6065 "operands" : [
6066 { "kind" : "IdResultType" },
6067 { "kind" : "IdResult" },
6068 { "kind" : "IdRef", "name" : "'Src Image'" },
6069 { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
6070 { "kind" : "IdRef", "name" : "'Payload'" }
6071 ],
6072 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6073 "version" : "None"
6074 },
6075 {
6076 "opname" : "OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL",
6077 "class" : "@exclude",
6078 "opcode" : 5789,
6079 "operands" : [
6080 { "kind" : "IdResultType" },
6081 { "kind" : "IdResult" },
6082 { "kind" : "IdRef", "name" : "'Src Image'" },
6083 { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
6084 { "kind" : "IdRef", "name" : "'Packed Reference Field Polarities'" },
6085 { "kind" : "IdRef", "name" : "'Payload'" }
6086 ],
6087 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6088 "version" : "None"
6089 },
6090 {
6091 "opname" : "OpSubgroupAvcRefConvertToMceResultINTEL",
6092 "class" : "@exclude",
6093 "opcode" : 5790,
6094 "operands" : [
6095 { "kind" : "IdResultType" },
6096 { "kind" : "IdResult" },
6097 { "kind" : "IdRef", "name" : "'Payload'" }
6098 ],
6099 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6100 "version" : "None"
6101 },
6102 {
6103 "opname" : "OpSubgroupAvcSicInitializeINTEL",
6104 "class" : "@exclude",
6105 "opcode" : 5791,
6106 "operands" : [
6107 { "kind" : "IdResultType" },
6108 { "kind" : "IdResult" },
6109 { "kind" : "IdRef", "name" : "'Src Coord'" }
6110 ],
6111 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6112 "version" : "None"
6113 },
6114 {
6115 "opname" : "OpSubgroupAvcSicConfigureSkcINTEL",
6116 "class" : "@exclude",
6117 "opcode" : 5792,
6118 "operands" : [
6119 { "kind" : "IdResultType" },
6120 { "kind" : "IdResult" },
6121 { "kind" : "IdRef", "name" : "'Skip Block Partition Type'" },
6122 { "kind" : "IdRef", "name" : "'Skip Motion Vector Mask'" },
6123 { "kind" : "IdRef", "name" : "'Motion Vectors'" },
6124 { "kind" : "IdRef", "name" : "'Bidirectional Weight'" },
6125 { "kind" : "IdRef", "name" : "'Sad Adjustment'" },
6126 { "kind" : "IdRef", "name" : "'Payload'" }
6127 ],
6128 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6129 "version" : "None"
6130 },
6131 {
6132 "opname" : "OpSubgroupAvcSicConfigureIpeLumaINTEL",
6133 "class" : "@exclude",
6134 "opcode" : 5793,
6135 "operands" : [
6136 { "kind" : "IdResultType" },
6137 { "kind" : "IdResult" },
6138 { "kind" : "IdRef", "name" : "'Luma Intra Partition Mask'" },
6139 { "kind" : "IdRef", "name" : "'Intra Neighbour Availabilty'" },
6140 { "kind" : "IdRef", "name" : "'Left Edge Luma Pixels'" },
6141 { "kind" : "IdRef", "name" : "'Upper Left Corner Luma Pixel'" },
6142 { "kind" : "IdRef", "name" : "'Upper Edge Luma Pixels'" },
6143 { "kind" : "IdRef", "name" : "'Upper Right Edge Luma Pixels'" },
6144 { "kind" : "IdRef", "name" : "'Sad Adjustment'" },
6145 { "kind" : "IdRef", "name" : "'Payload'" }
6146 ],
6147 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6148 "version" : "None"
6149 },
6150 {
6151 "opname" : "OpSubgroupAvcSicConfigureIpeLumaChromaINTEL",
6152 "class" : "@exclude",
6153 "opcode" : 5794,
6154 "operands" : [
6155 { "kind" : "IdResultType" },
6156 { "kind" : "IdResult" },
6157 { "kind" : "IdRef", "name" : "'Luma Intra Partition Mask'" },
6158 { "kind" : "IdRef", "name" : "'Intra Neighbour Availabilty'" },
6159 { "kind" : "IdRef", "name" : "'Left Edge Luma Pixels'" },
6160 { "kind" : "IdRef", "name" : "'Upper Left Corner Luma Pixel'" },
6161 { "kind" : "IdRef", "name" : "'Upper Edge Luma Pixels'" },
6162 { "kind" : "IdRef", "name" : "'Upper Right Edge Luma Pixels'" },
6163 { "kind" : "IdRef", "name" : "'Left Edge Chroma Pixels'" },
6164 { "kind" : "IdRef", "name" : "'Upper Left Corner Chroma Pixel'" },
6165 { "kind" : "IdRef", "name" : "'Upper Edge Chroma Pixels'" },
6166 { "kind" : "IdRef", "name" : "'Sad Adjustment'" },
6167 { "kind" : "IdRef", "name" : "'Payload'" }
6168 ],
6169 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
6170 "version" : "None"
6171 },
6172 {
6173 "opname" : "OpSubgroupAvcSicGetMotionVectorMaskINTEL",
6174 "class" : "@exclude",
6175 "opcode" : 5795,
6176 "operands" : [
6177 { "kind" : "IdResultType" },
6178 { "kind" : "IdResult" },
6179 { "kind" : "IdRef", "name" : "'Skip Block Partition Type'" },
6180 { "kind" : "IdRef", "name" : "'Direction'" }
6181 ],
6182 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6183 "version" : "None"
6184 },
6185 {
6186 "opname" : "OpSubgroupAvcSicConvertToMcePayloadINTEL",
6187 "class" : "@exclude",
6188 "opcode" : 5796,
6189 "operands" : [
6190 { "kind" : "IdResultType" },
6191 { "kind" : "IdResult" },
6192 { "kind" : "IdRef", "name" : "'Payload'" }
6193 ],
6194 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6195 "version" : "None"
6196 },
6197 {
6198 "opname" : "OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL",
6199 "class" : "@exclude",
6200 "opcode" : 5797,
6201 "operands" : [
6202 { "kind" : "IdResultType" },
6203 { "kind" : "IdResult" },
6204 { "kind" : "IdRef", "name" : "'Packed Shape Penalty'" },
6205 { "kind" : "IdRef", "name" : "'Payload'" }
6206 ],
6207 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6208 "version" : "None"
6209 },
6210 {
6211 "opname" : "OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL",
6212 "class" : "@exclude",
6213 "opcode" : 5798,
6214 "operands" : [
6215 { "kind" : "IdResultType" },
6216 { "kind" : "IdResult" },
6217 { "kind" : "IdRef", "name" : "'Luma Mode Penalty'" },
6218 { "kind" : "IdRef", "name" : "'Luma Packed Neighbor Modes'" },
6219 { "kind" : "IdRef", "name" : "'Luma Packed Non Dc Penalty'" },
6220 { "kind" : "IdRef", "name" : "'Payload'" }
6221 ],
6222 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6223 "version" : "None"
6224 },
6225 {
6226 "opname" : "OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL",
6227 "class" : "@exclude",
6228 "opcode" : 5799,
6229 "operands" : [
6230 { "kind" : "IdResultType" },
6231 { "kind" : "IdResult" },
6232 { "kind" : "IdRef", "name" : "'Chroma Mode Base Penalty'" },
6233 { "kind" : "IdRef", "name" : "'Payload'" }
6234 ],
6235 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
6236 "version" : "None"
6237 },
6238 {
6239 "opname" : "OpSubgroupAvcSicSetBilinearFilterEnableINTEL",
6240 "class" : "@exclude",
6241 "opcode" : 5800,
6242 "operands" : [
6243 { "kind" : "IdResultType" },
6244 { "kind" : "IdResult" },
6245 { "kind" : "IdRef", "name" : "'Payload'" }
6246 ],
6247 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6248 "version" : "None"
6249 },
6250 {
6251 "opname" : "OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL",
6252 "class" : "@exclude",
6253 "opcode" : 5801,
6254 "operands" : [
6255 { "kind" : "IdResultType" },
6256 { "kind" : "IdResult" },
6257 { "kind" : "IdRef", "name" : "'Packed Sad Coefficients'" },
6258 { "kind" : "IdRef", "name" : "'Payload'" }
6259 ],
6260 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6261 "version" : "None"
6262 },
6263 {
6264 "opname" : "OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL",
6265 "class" : "@exclude",
6266 "opcode" : 5802,
6267 "operands" : [
6268 { "kind" : "IdResultType" },
6269 { "kind" : "IdResult" },
6270 { "kind" : "IdRef", "name" : "'Block Based Skip Type'" },
6271 { "kind" : "IdRef", "name" : "'Payload'" }
6272 ],
6273 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6274 "version" : "None"
6275 },
6276 {
6277 "opname" : "OpSubgroupAvcSicEvaluateIpeINTEL",
6278 "class" : "@exclude",
6279 "opcode" : 5803,
6280 "operands" : [
6281 { "kind" : "IdResultType" },
6282 { "kind" : "IdResult" },
6283 { "kind" : "IdRef", "name" : "'Src Image'" },
6284 { "kind" : "IdRef", "name" : "'Payload'" }
6285 ],
6286 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6287 "version" : "None"
6288 },
6289 {
6290 "opname" : "OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL",
6291 "class" : "@exclude",
6292 "opcode" : 5804,
6293 "operands" : [
6294 { "kind" : "IdResultType" },
6295 { "kind" : "IdResult" },
6296 { "kind" : "IdRef", "name" : "'Src Image'" },
6297 { "kind" : "IdRef", "name" : "'Ref Image'" },
6298 { "kind" : "IdRef", "name" : "'Payload'" }
6299 ],
6300 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6301 "version" : "None"
6302 },
6303 {
6304 "opname" : "OpSubgroupAvcSicEvaluateWithDualReferenceINTEL",
6305 "class" : "@exclude",
6306 "opcode" : 5805,
6307 "operands" : [
6308 { "kind" : "IdResultType" },
6309 { "kind" : "IdResult" },
6310 { "kind" : "IdRef", "name" : "'Src Image'" },
6311 { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
6312 { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
6313 { "kind" : "IdRef", "name" : "'Payload'" }
6314 ],
6315 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6316 "version" : "None"
6317 },
6318 {
6319 "opname" : "OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL",
6320 "class" : "@exclude",
6321 "opcode" : 5806,
6322 "operands" : [
6323 { "kind" : "IdResultType" },
6324 { "kind" : "IdResult" },
6325 { "kind" : "IdRef", "name" : "'Src Image'" },
6326 { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
6327 { "kind" : "IdRef", "name" : "'Payload'" }
6328 ],
6329 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6330 "version" : "None"
6331 },
6332 {
6333 "opname" : "OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL",
6334 "class" : "@exclude",
6335 "opcode" : 5807,
6336 "operands" : [
6337 { "kind" : "IdResultType" },
6338 { "kind" : "IdResult" },
6339 { "kind" : "IdRef", "name" : "'Src Image'" },
6340 { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
6341 { "kind" : "IdRef", "name" : "'Packed Reference Field Polarities'" },
6342 { "kind" : "IdRef", "name" : "'Payload'" }
6343 ],
6344 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6345 "version" : "None"
6346 },
6347 {
6348 "opname" : "OpSubgroupAvcSicConvertToMceResultINTEL",
6349 "class" : "@exclude",
6350 "opcode" : 5808,
6351 "operands" : [
6352 { "kind" : "IdResultType" },
6353 { "kind" : "IdResult" },
6354 { "kind" : "IdRef", "name" : "'Payload'" }
6355 ],
6356 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6357 "version" : "None"
6358 },
6359 {
6360 "opname" : "OpSubgroupAvcSicGetIpeLumaShapeINTEL",
6361 "class" : "@exclude",
6362 "opcode" : 5809,
6363 "operands" : [
6364 { "kind" : "IdResultType" },
6365 { "kind" : "IdResult" },
6366 { "kind" : "IdRef", "name" : "'Payload'" }
6367 ],
6368 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6369 "version" : "None"
6370 },
6371 {
6372 "opname" : "OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL",
6373 "class" : "@exclude",
6374 "opcode" : 5810,
6375 "operands" : [
6376 { "kind" : "IdResultType" },
6377 { "kind" : "IdResult" },
6378 { "kind" : "IdRef", "name" : "'Payload'" }
6379 ],
6380 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6381 "version" : "None"
6382 },
6383 {
6384 "opname" : "OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL",
6385 "class" : "@exclude",
6386 "opcode" : 5811,
6387 "operands" : [
6388 { "kind" : "IdResultType" },
6389 { "kind" : "IdResult" },
6390 { "kind" : "IdRef", "name" : "'Payload'" }
6391 ],
6392 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6393 "version" : "None"
6394 },
6395 {
6396 "opname" : "OpSubgroupAvcSicGetPackedIpeLumaModesINTEL",
6397 "class" : "@exclude",
6398 "opcode" : 5812,
6399 "operands" : [
6400 { "kind" : "IdResultType" },
6401 { "kind" : "IdResult" },
6402 { "kind" : "IdRef", "name" : "'Payload'" }
6403 ],
6404 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6405 "version" : "None"
6406 },
6407 {
6408 "opname" : "OpSubgroupAvcSicGetIpeChromaModeINTEL",
6409 "class" : "@exclude",
6410 "opcode" : 5813,
6411 "operands" : [
6412 { "kind" : "IdResultType" },
6413 { "kind" : "IdResult" },
6414 { "kind" : "IdRef", "name" : "'Payload'" }
6415 ],
6416 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
6417 "version" : "None"
6418 },
6419 {
6420 "opname" : "OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL",
6421 "class" : "@exclude",
6422 "opcode" : 5814,
6423 "operands" : [
6424 { "kind" : "IdResultType" },
6425 { "kind" : "IdResult" },
6426 { "kind" : "IdRef", "name" : "'Payload'" }
6427 ],
6428 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6429 "version" : "None"
6430 },
6431 {
6432 "opname" : "OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL",
6433 "class" : "@exclude",
6434 "opcode" : 5815,
6435 "operands" : [
6436 { "kind" : "IdResultType" },
6437 { "kind" : "IdResult" },
6438 { "kind" : "IdRef", "name" : "'Payload'" }
6439 ],
6440 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6441 "version" : "None"
6442 },
6443 {
6444 "opname" : "OpSubgroupAvcSicGetInterRawSadsINTEL",
6445 "class" : "@exclude",
6446 "opcode" : 5816,
6447 "operands" : [
6448 { "kind" : "IdResultType" },
6449 { "kind" : "IdResult" },
6450 { "kind" : "IdRef", "name" : "'Payload'" }
6451 ],
6452 "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6453 "version" : "None"
6454 }
6455 ],
6456 "operand_kinds" : [
6457 {
6458 "category" : "BitEnum",
6459 "kind" : "ImageOperands",
6460 "enumerants" : [
6461 {
6462 "enumerant" : "None",
6463 "value" : "0x0000"
6464 },
6465 {
6466 "enumerant" : "Bias",
6467 "value" : "0x0001",
6468 "capabilities" : [ "Shader" ],
6469 "parameters" : [
6470 { "kind" : "IdRef" }
6471 ]
6472 },
6473 {
6474 "enumerant" : "Lod",
6475 "value" : "0x0002",
6476 "parameters" : [
6477 { "kind" : "IdRef" }
6478 ]
6479 },
6480 {
6481 "enumerant" : "Grad",
6482 "value" : "0x0004",
6483 "parameters" : [
6484 { "kind" : "IdRef" },
6485 { "kind" : "IdRef" }
6486 ]
6487 },
6488 {
6489 "enumerant" : "ConstOffset",
6490 "value" : "0x0008",
6491 "parameters" : [
6492 { "kind" : "IdRef" }
6493 ]
6494 },
6495 {
6496 "enumerant" : "Offset",
6497 "value" : "0x0010",
6498 "capabilities" : [ "ImageGatherExtended" ],
6499 "parameters" : [
6500 { "kind" : "IdRef" }
6501 ]
6502 },
6503 {
6504 "enumerant" : "ConstOffsets",
6505 "value" : "0x0020",
6506 "capabilities" : [ "ImageGatherExtended" ],
6507 "parameters" : [
6508 { "kind" : "IdRef" }
6509 ]
6510 },
6511 {
6512 "enumerant" : "Sample",
6513 "value" : "0x0040",
6514 "parameters" : [
6515 { "kind" : "IdRef" }
6516 ]
6517 },
6518 {
6519 "enumerant" : "MinLod",
6520 "value" : "0x0080",
6521 "capabilities" : [ "MinLod" ],
6522 "parameters" : [
6523 { "kind" : "IdRef" }
6524 ]
6525 },
6526 {
6527 "enumerant" : "MakeTexelAvailable",
6528 "value" : "0x0100",
6529 "capabilities" : [ "VulkanMemoryModel" ],
6530 "parameters" : [
6531 { "kind" : "IdScope" }
6532 ],
6533 "version" : "1.5"
6534 },
6535 {
6536 "enumerant" : "MakeTexelAvailableKHR",
6537 "value" : "0x0100",
6538 "capabilities" : [ "VulkanMemoryModel" ],
6539 "parameters" : [
6540 { "kind" : "IdScope" }
6541 ],
6542 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
6543 "version" : "1.5"
6544 },
6545 {
6546 "enumerant" : "MakeTexelVisible",
6547 "value" : "0x0200",
6548 "capabilities" : [ "VulkanMemoryModel" ],
6549 "parameters" : [
6550 { "kind" : "IdScope" }
6551 ],
6552 "version" : "1.5"
6553 },
6554 {
6555 "enumerant" : "MakeTexelVisibleKHR",
6556 "value" : "0x0200",
6557 "capabilities" : [ "VulkanMemoryModel" ],
6558 "parameters" : [
6559 { "kind" : "IdScope" }
6560 ],
6561 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
6562 "version" : "1.5"
6563 },
6564 {
6565 "enumerant" : "NonPrivateTexel",
6566 "value" : "0x0400",
6567 "capabilities" : [ "VulkanMemoryModel" ],
6568 "version" : "1.5"
6569 },
6570 {
6571 "enumerant" : "NonPrivateTexelKHR",
6572 "value" : "0x0400",
6573 "capabilities" : [ "VulkanMemoryModel" ],
6574 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
6575 "version" : "1.5"
6576 },
6577 {
6578 "enumerant" : "VolatileTexel",
6579 "value" : "0x0800",
6580 "capabilities" : [ "VulkanMemoryModel" ],
6581 "version" : "1.5"
6582 },
6583 {
6584 "enumerant" : "VolatileTexelKHR",
6585 "value" : "0x0800",
6586 "capabilities" : [ "VulkanMemoryModel" ],
6587 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
6588 "version" : "1.5"
6589 },
6590 {
6591 "enumerant" : "SignExtend",
6592 "value" : "0x1000",
6593 "version" : "1.4"
6594 },
6595 {
6596 "enumerant" : "ZeroExtend",
6597 "value" : "0x2000",
6598 "version" : "1.4"
6599 }
6600 ]
6601 },
6602 {
6603 "category" : "BitEnum",
6604 "kind" : "FPFastMathMode",
6605 "enumerants" : [
6606 {
6607 "enumerant" : "None",
6608 "value" : "0x0000"
6609 },
6610 {
6611 "enumerant" : "NotNaN",
6612 "value" : "0x0001",
6613 "capabilities" : [ "Kernel" ]
6614 },
6615 {
6616 "enumerant" : "NotInf",
6617 "value" : "0x0002",
6618 "capabilities" : [ "Kernel" ]
6619 },
6620 {
6621 "enumerant" : "NSZ",
6622 "value" : "0x0004",
6623 "capabilities" : [ "Kernel" ]
6624 },
6625 {
6626 "enumerant" : "AllowRecip",
6627 "value" : "0x0008",
6628 "capabilities" : [ "Kernel" ]
6629 },
6630 {
6631 "enumerant" : "Fast",
6632 "value" : "0x0010",
6633 "capabilities" : [ "Kernel" ]
6634 }
6635 ]
6636 },
6637 {
6638 "category" : "BitEnum",
6639 "kind" : "SelectionControl",
6640 "enumerants" : [
6641 {
6642 "enumerant" : "None",
6643 "value" : "0x0000"
6644 },
6645 {
6646 "enumerant" : "Flatten",
6647 "value" : "0x0001"
6648 },
6649 {
6650 "enumerant" : "DontFlatten",
6651 "value" : "0x0002"
6652 }
6653 ]
6654 },
6655 {
6656 "category" : "BitEnum",
6657 "kind" : "LoopControl",
6658 "enumerants" : [
6659 {
6660 "enumerant" : "None",
6661 "value" : "0x0000"
6662 },
6663 {
6664 "enumerant" : "Unroll",
6665 "value" : "0x0001"
6666 },
6667 {
6668 "enumerant" : "DontUnroll",
6669 "value" : "0x0002"
6670 },
6671 {
6672 "enumerant" : "DependencyInfinite",
6673 "value" : "0x0004",
6674 "version" : "1.1"
6675 },
6676 {
6677 "enumerant" : "DependencyLength",
6678 "value" : "0x0008",
6679 "parameters" : [
6680 { "kind" : "LiteralInteger" }
6681 ],
6682 "version" : "1.1"
6683 },
6684 {
6685 "enumerant" : "MinIterations",
6686 "value" : "0x0010",
6687 "parameters" : [
6688 { "kind" : "LiteralInteger" }
6689 ],
6690 "version" : "1.4"
6691 },
6692 {
6693 "enumerant" : "MaxIterations",
6694 "value" : "0x0020",
6695 "parameters" : [
6696 { "kind" : "LiteralInteger" }
6697 ],
6698 "version" : "1.4"
6699 },
6700 {
6701 "enumerant" : "IterationMultiple",
6702 "value" : "0x0040",
6703 "parameters" : [
6704 { "kind" : "LiteralInteger" }
6705 ],
6706 "version" : "1.4"
6707 },
6708 {
6709 "enumerant" : "PeelCount",
6710 "value" : "0x0080",
6711 "parameters" : [
6712 { "kind" : "LiteralInteger" }
6713 ],
6714 "version" : "1.4"
6715 },
6716 {
6717 "enumerant" : "PartialCount",
6718 "value" : "0x0100",
6719 "parameters" : [
6720 { "kind" : "LiteralInteger" }
6721 ],
6722 "version" : "1.4"
6723 }
6724 ]
6725 },
6726 {
6727 "category" : "BitEnum",
6728 "kind" : "FunctionControl",
6729 "enumerants" : [
6730 {
6731 "enumerant" : "None",
6732 "value" : "0x0000"
6733 },
6734 {
6735 "enumerant" : "Inline",
6736 "value" : "0x0001"
6737 },
6738 {
6739 "enumerant" : "DontInline",
6740 "value" : "0x0002"
6741 },
6742 {
6743 "enumerant" : "Pure",
6744 "value" : "0x0004"
6745 },
6746 {
6747 "enumerant" : "Const",
6748 "value" : "0x0008"
6749 }
6750 ]
6751 },
6752 {
6753 "category" : "BitEnum",
6754 "kind" : "MemorySemantics",
6755 "enumerants" : [
6756 {
6757 "enumerant" : "Relaxed",
6758 "value" : "0x0000"
6759 },
6760 {
6761 "enumerant" : "None",
6762 "value" : "0x0000"
6763 },
6764 {
6765 "enumerant" : "Acquire",
6766 "value" : "0x0002"
6767 },
6768 {
6769 "enumerant" : "Release",
6770 "value" : "0x0004"
6771 },
6772 {
6773 "enumerant" : "AcquireRelease",
6774 "value" : "0x0008"
6775 },
6776 {
6777 "enumerant" : "SequentiallyConsistent",
6778 "value" : "0x0010"
6779 },
6780 {
6781 "enumerant" : "UniformMemory",
6782 "value" : "0x0040",
6783 "capabilities" : [ "Shader" ]
6784 },
6785 {
6786 "enumerant" : "SubgroupMemory",
6787 "value" : "0x0080"
6788 },
6789 {
6790 "enumerant" : "WorkgroupMemory",
6791 "value" : "0x0100"
6792 },
6793 {
6794 "enumerant" : "CrossWorkgroupMemory",
6795 "value" : "0x0200"
6796 },
6797 {
6798 "enumerant" : "AtomicCounterMemory",
6799 "value" : "0x0400",
6800 "capabilities" : [ "AtomicStorage" ]
6801 },
6802 {
6803 "enumerant" : "ImageMemory",
6804 "value" : "0x0800"
6805 },
6806 {
6807 "enumerant" : "OutputMemory",
6808 "value" : "0x1000",
6809 "capabilities" : [ "VulkanMemoryModel" ],
6810 "version" : "1.5"
6811 },
6812 {
6813 "enumerant" : "OutputMemoryKHR",
6814 "value" : "0x1000",
6815 "capabilities" : [ "VulkanMemoryModel" ],
6816 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
6817 "version" : "1.5"
6818 },
6819 {
6820 "enumerant" : "MakeAvailable",
6821 "value" : "0x2000",
6822 "capabilities" : [ "VulkanMemoryModel" ],
6823 "version" : "1.5"
6824 },
6825 {
6826 "enumerant" : "MakeAvailableKHR",
6827 "value" : "0x2000",
6828 "capabilities" : [ "VulkanMemoryModel" ],
6829 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
6830 "version" : "1.5"
6831 },
6832 {
6833 "enumerant" : "MakeVisible",
6834 "value" : "0x4000",
6835 "capabilities" : [ "VulkanMemoryModel" ],
6836 "version" : "1.5"
6837 },
6838 {
6839 "enumerant" : "MakeVisibleKHR",
6840 "value" : "0x4000",
6841 "capabilities" : [ "VulkanMemoryModel" ],
6842 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
6843 "version" : "1.5"
6844 },
6845 {
6846 "enumerant" : "Volatile",
6847 "value" : "0x8000",
6848 "capabilities" : [ "VulkanMemoryModel" ],
6849 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
6850 "version" : "1.5"
6851 }
6852 ]
6853 },
6854 {
6855 "category" : "BitEnum",
6856 "kind" : "MemoryAccess",
6857 "enumerants" : [
6858 {
6859 "enumerant" : "None",
6860 "value" : "0x0000"
6861 },
6862 {
6863 "enumerant" : "Volatile",
6864 "value" : "0x0001"
6865 },
6866 {
6867 "enumerant" : "Aligned",
6868 "value" : "0x0002",
6869 "parameters" : [
6870 { "kind" : "LiteralInteger" }
6871 ]
6872 },
6873 {
6874 "enumerant" : "Nontemporal",
6875 "value" : "0x0004"
6876 },
6877 {
6878 "enumerant" : "MakePointerAvailable",
6879 "value" : "0x0008",
6880 "parameters" : [
6881 { "kind" : "IdScope" }
6882 ],
6883 "capabilities" : [ "VulkanMemoryModel" ],
6884 "version" : "1.5"
6885 },
6886 {
6887 "enumerant" : "MakePointerAvailableKHR",
6888 "value" : "0x0008",
6889 "parameters" : [
6890 { "kind" : "IdScope" }
6891 ],
6892 "capabilities" : [ "VulkanMemoryModel" ],
6893 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
6894 "version" : "1.5"
6895 },
6896 {
6897 "enumerant" : "MakePointerVisible",
6898 "value" : "0x0010",
6899 "parameters" : [
6900 { "kind" : "IdScope" }
6901 ],
6902 "capabilities" : [ "VulkanMemoryModel" ],
6903 "version" : "1.5"
6904 },
6905 {
6906 "enumerant" : "MakePointerVisibleKHR",
6907 "value" : "0x0010",
6908 "parameters" : [
6909 { "kind" : "IdScope" }
6910 ],
6911 "capabilities" : [ "VulkanMemoryModel" ],
6912 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
6913 "version" : "1.5"
6914 },
6915 {
6916 "enumerant" : "NonPrivatePointer",
6917 "value" : "0x0020",
6918 "capabilities" : [ "VulkanMemoryModel" ],
6919 "version" : "1.5"
6920 },
6921 {
6922 "enumerant" : "NonPrivatePointerKHR",
6923 "value" : "0x0020",
6924 "capabilities" : [ "VulkanMemoryModel" ],
6925 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
6926 "version" : "1.5"
6927 }
6928 ]
6929 },
6930 {
6931 "category" : "BitEnum",
6932 "kind" : "KernelProfilingInfo",
6933 "enumerants" : [
6934 {
6935 "enumerant" : "None",
6936 "value" : "0x0000"
6937 },
6938 {
6939 "enumerant" : "CmdExecTime",
6940 "value" : "0x0001",
6941 "capabilities" : [ "Kernel" ]
6942 }
6943 ]
6944 },
6945 {
6946 "category" : "ValueEnum",
6947 "kind" : "SourceLanguage",
6948 "enumerants" : [
6949 {
6950 "enumerant" : "Unknown",
6951 "value" : 0
6952 },
6953 {
6954 "enumerant" : "ESSL",
6955 "value" : 1
6956 },
6957 {
6958 "enumerant" : "GLSL",
6959 "value" : 2
6960 },
6961 {
6962 "enumerant" : "OpenCL_C",
6963 "value" : 3
6964 },
6965 {
6966 "enumerant" : "OpenCL_CPP",
6967 "value" : 4
6968 },
6969 {
6970 "enumerant" : "HLSL",
6971 "value" : 5
6972 }
6973 ]
6974 },
6975 {
6976 "category" : "ValueEnum",
6977 "kind" : "ExecutionModel",
6978 "enumerants" : [
6979 {
6980 "enumerant" : "Vertex",
6981 "value" : 0,
6982 "capabilities" : [ "Shader" ]
6983 },
6984 {
6985 "enumerant" : "TessellationControl",
6986 "value" : 1,
6987 "capabilities" : [ "Tessellation" ]
6988 },
6989 {
6990 "enumerant" : "TessellationEvaluation",
6991 "value" : 2,
6992 "capabilities" : [ "Tessellation" ]
6993 },
6994 {
6995 "enumerant" : "Geometry",
6996 "value" : 3,
6997 "capabilities" : [ "Geometry" ]
6998 },
6999 {
7000 "enumerant" : "Fragment",
7001 "value" : 4,
7002 "capabilities" : [ "Shader" ]
7003 },
7004 {
7005 "enumerant" : "GLCompute",
7006 "value" : 5,
7007 "capabilities" : [ "Shader" ]
7008 },
7009 {
7010 "enumerant" : "Kernel",
7011 "value" : 6,
7012 "capabilities" : [ "Kernel" ]
7013 },
7014 {
7015 "enumerant" : "TaskNV",
7016 "value" : 5267,
7017 "capabilities" : [ "MeshShadingNV" ],
7018 "version" : "None"
7019 },
7020 {
7021 "enumerant" : "MeshNV",
7022 "value" : 5268,
7023 "capabilities" : [ "MeshShadingNV" ],
7024 "version" : "None"
7025 },
7026 {
7027 "enumerant" : "RayGenerationNV",
7028 "value" : 5313,
7029 "capabilities" : [ "RayTracingNV" ],
7030 "version" : "None"
7031 },
7032 {
7033 "enumerant" : "IntersectionNV",
7034 "value" : 5314,
7035 "capabilities" : [ "RayTracingNV" ],
7036 "version" : "None"
7037 },
7038 {
7039 "enumerant" : "AnyHitNV",
7040 "value" : 5315,
7041 "capabilities" : [ "RayTracingNV" ],
7042 "version" : "None"
7043 },
7044 {
7045 "enumerant" : "ClosestHitNV",
7046 "value" : 5316,
7047 "capabilities" : [ "RayTracingNV" ],
7048 "version" : "None"
7049 },
7050 {
7051 "enumerant" : "MissNV",
7052 "value" : 5317,
7053 "capabilities" : [ "RayTracingNV" ],
7054 "version" : "None"
7055 },
7056 {
7057 "enumerant" : "CallableNV",
7058 "value" : 5318,
7059 "capabilities" : [ "RayTracingNV" ],
7060 "version" : "None"
7061 }
7062 ]
7063 },
7064 {
7065 "category" : "ValueEnum",
7066 "kind" : "AddressingModel",
7067 "enumerants" : [
7068 {
7069 "enumerant" : "Logical",
7070 "value" : 0
7071 },
7072 {
7073 "enumerant" : "Physical32",
7074 "value" : 1,
7075 "capabilities" : [ "Addresses" ]
7076 },
7077 {
7078 "enumerant" : "Physical64",
7079 "value" : 2,
7080 "capabilities" : [ "Addresses" ]
7081 },
7082 {
7083 "enumerant" : "PhysicalStorageBuffer64",
7084 "value" : 5348,
7085 "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
7086 "capabilities" : [ "PhysicalStorageBufferAddresses" ],
7087 "version" : "1.5"
7088 },
7089 {
7090 "enumerant" : "PhysicalStorageBuffer64EXT",
7091 "value" : 5348,
7092 "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
7093 "capabilities" : [ "PhysicalStorageBufferAddresses" ],
7094 "version" : "1.5"
7095 }
7096 ]
7097 },
7098 {
7099 "category" : "ValueEnum",
7100 "kind" : "MemoryModel",
7101 "enumerants" : [
7102 {
7103 "enumerant" : "Simple",
7104 "value" : 0,
7105 "capabilities" : [ "Shader" ]
7106 },
7107 {
7108 "enumerant" : "GLSL450",
7109 "value" : 1,
7110 "capabilities" : [ "Shader" ]
7111 },
7112 {
7113 "enumerant" : "OpenCL",
7114 "value" : 2,
7115 "capabilities" : [ "Kernel" ]
7116 },
7117 {
7118 "enumerant" : "Vulkan",
7119 "value" : 3,
7120 "capabilities" : [ "VulkanMemoryModel" ],
7121 "version" : "1.5"
7122 },
7123 {
7124 "enumerant" : "VulkanKHR",
7125 "value" : 3,
7126 "capabilities" : [ "VulkanMemoryModel" ],
7127 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7128 "version" : "1.5"
7129 }
7130 ]
7131 },
7132 {
7133 "category" : "ValueEnum",
7134 "kind" : "ExecutionMode",
7135 "enumerants" : [
7136 {
7137 "enumerant" : "Invocations",
7138 "value" : 0,
7139 "capabilities" : [ "Geometry" ],
7140 "parameters" : [
7141 { "kind" : "LiteralInteger", "name" : "'Number of <<Invocation,invocations>>'" }
7142 ]
7143 },
7144 {
7145 "enumerant" : "SpacingEqual",
7146 "value" : 1,
7147 "capabilities" : [ "Tessellation" ]
7148 },
7149 {
7150 "enumerant" : "SpacingFractionalEven",
7151 "value" : 2,
7152 "capabilities" : [ "Tessellation" ]
7153 },
7154 {
7155 "enumerant" : "SpacingFractionalOdd",
7156 "value" : 3,
7157 "capabilities" : [ "Tessellation" ]
7158 },
7159 {
7160 "enumerant" : "VertexOrderCw",
7161 "value" : 4,
7162 "capabilities" : [ "Tessellation" ]
7163 },
7164 {
7165 "enumerant" : "VertexOrderCcw",
7166 "value" : 5,
7167 "capabilities" : [ "Tessellation" ]
7168 },
7169 {
7170 "enumerant" : "PixelCenterInteger",
7171 "value" : 6,
7172 "capabilities" : [ "Shader" ]
7173 },
7174 {
7175 "enumerant" : "OriginUpperLeft",
7176 "value" : 7,
7177 "capabilities" : [ "Shader" ]
7178 },
7179 {
7180 "enumerant" : "OriginLowerLeft",
7181 "value" : 8,
7182 "capabilities" : [ "Shader" ]
7183 },
7184 {
7185 "enumerant" : "EarlyFragmentTests",
7186 "value" : 9,
7187 "capabilities" : [ "Shader" ]
7188 },
7189 {
7190 "enumerant" : "PointMode",
7191 "value" : 10,
7192 "capabilities" : [ "Tessellation" ]
7193 },
7194 {
7195 "enumerant" : "Xfb",
7196 "value" : 11,
7197 "capabilities" : [ "TransformFeedback" ]
7198 },
7199 {
7200 "enumerant" : "DepthReplacing",
7201 "value" : 12,
7202 "capabilities" : [ "Shader" ]
7203 },
7204 {
7205 "enumerant" : "DepthGreater",
7206 "value" : 14,
7207 "capabilities" : [ "Shader" ]
7208 },
7209 {
7210 "enumerant" : "DepthLess",
7211 "value" : 15,
7212 "capabilities" : [ "Shader" ]
7213 },
7214 {
7215 "enumerant" : "DepthUnchanged",
7216 "value" : 16,
7217 "capabilities" : [ "Shader" ]
7218 },
7219 {
7220 "enumerant" : "LocalSize",
7221 "value" : 17,
7222 "parameters" : [
7223 { "kind" : "LiteralInteger", "name" : "'x size'" },
7224 { "kind" : "LiteralInteger", "name" : "'y size'" },
7225 { "kind" : "LiteralInteger", "name" : "'z size'" }
7226 ]
7227 },
7228 {
7229 "enumerant" : "LocalSizeHint",
7230 "value" : 18,
7231 "capabilities" : [ "Kernel" ],
7232 "parameters" : [
7233 { "kind" : "LiteralInteger", "name" : "'x size'" },
7234 { "kind" : "LiteralInteger", "name" : "'y size'" },
7235 { "kind" : "LiteralInteger", "name" : "'z size'" }
7236 ]
7237 },
7238 {
7239 "enumerant" : "InputPoints",
7240 "value" : 19,
7241 "capabilities" : [ "Geometry" ]
7242 },
7243 {
7244 "enumerant" : "InputLines",
7245 "value" : 20,
7246 "capabilities" : [ "Geometry" ]
7247 },
7248 {
7249 "enumerant" : "InputLinesAdjacency",
7250 "value" : 21,
7251 "capabilities" : [ "Geometry" ]
7252 },
7253 {
7254 "enumerant" : "Triangles",
7255 "value" : 22,
7256 "capabilities" : [ "Geometry", "Tessellation" ]
7257 },
7258 {
7259 "enumerant" : "InputTrianglesAdjacency",
7260 "value" : 23,
7261 "capabilities" : [ "Geometry" ]
7262 },
7263 {
7264 "enumerant" : "Quads",
7265 "value" : 24,
7266 "capabilities" : [ "Tessellation" ]
7267 },
7268 {
7269 "enumerant" : "Isolines",
7270 "value" : 25,
7271 "capabilities" : [ "Tessellation" ]
7272 },
7273 {
7274 "enumerant" : "OutputVertices",
7275 "value" : 26,
7276 "capabilities" : [ "Geometry", "Tessellation", "MeshShadingNV" ],
7277 "parameters" : [
7278 { "kind" : "LiteralInteger", "name" : "'Vertex count'" }
7279 ]
7280 },
7281 {
7282 "enumerant" : "OutputPoints",
7283 "value" : 27,
7284 "capabilities" : [ "Geometry", "MeshShadingNV" ]
7285 },
7286 {
7287 "enumerant" : "OutputLineStrip",
7288 "value" : 28,
7289 "capabilities" : [ "Geometry" ]
7290 },
7291 {
7292 "enumerant" : "OutputTriangleStrip",
7293 "value" : 29,
7294 "capabilities" : [ "Geometry" ]
7295 },
7296 {
7297 "enumerant" : "VecTypeHint",
7298 "value" : 30,
7299 "capabilities" : [ "Kernel" ],
7300 "parameters" : [
7301 { "kind" : "LiteralInteger", "name" : "'Vector type'" }
7302 ]
7303 },
7304 {
7305 "enumerant" : "ContractionOff",
7306 "value" : 31,
7307 "capabilities" : [ "Kernel" ]
7308 },
7309 {
7310 "enumerant" : "Initializer",
7311 "value" : 33,
7312 "capabilities" : [ "Kernel" ],
7313 "version" : "1.1"
7314 },
7315 {
7316 "enumerant" : "Finalizer",
7317 "value" : 34,
7318 "capabilities" : [ "Kernel" ],
7319 "version" : "1.1"
7320 },
7321 {
7322 "enumerant" : "SubgroupSize",
7323 "value" : 35,
7324 "capabilities" : [ "SubgroupDispatch" ],
7325 "parameters" : [
7326 { "kind" : "LiteralInteger", "name" : "'Subgroup Size'" }
7327 ],
7328 "version" : "1.1"
7329 },
7330 {
7331 "enumerant" : "SubgroupsPerWorkgroup",
7332 "value" : 36,
7333 "capabilities" : [ "SubgroupDispatch" ],
7334 "parameters" : [
7335 { "kind" : "LiteralInteger", "name" : "'Subgroups Per Workgroup'" }
7336 ],
7337 "version" : "1.1"
7338 },
7339 {
7340 "enumerant" : "SubgroupsPerWorkgroupId",
7341 "value" : 37,
7342 "capabilities" : [ "SubgroupDispatch" ],
7343 "parameters" : [
7344 { "kind" : "IdRef", "name" : "'Subgroups Per Workgroup'" }
7345 ],
7346 "version" : "1.2"
7347 },
7348 {
7349 "enumerant" : "LocalSizeId",
7350 "value" : 38,
7351 "parameters" : [
7352 { "kind" : "IdRef", "name" : "'x size'" },
7353 { "kind" : "IdRef", "name" : "'y size'" },
7354 { "kind" : "IdRef", "name" : "'z size'" }
7355 ],
7356 "version" : "1.2"
7357 },
7358 {
7359 "enumerant" : "LocalSizeHintId",
7360 "value" : 39,
7361 "capabilities" : [ "Kernel" ],
7362 "parameters" : [
7363 { "kind" : "IdRef", "name" : "'Local Size Hint'" }
7364 ],
7365 "version" : "1.2"
7366 },
7367 {
7368 "enumerant" : "PostDepthCoverage",
7369 "value" : 4446,
7370 "capabilities" : [ "SampleMaskPostDepthCoverage" ],
7371 "extensions" : [ "SPV_KHR_post_depth_coverage" ],
7372 "version" : "None"
7373 },
7374 {
7375 "enumerant" : "DenormPreserve",
7376 "value" : 4459,
7377 "capabilities" : [ "DenormPreserve" ],
7378 "extensions" : [ "SPV_KHR_float_controls" ],
7379 "parameters" : [
7380 { "kind" : "LiteralInteger", "name" : "'Target Width'" }
7381 ],
7382 "version" : "1.4"
7383 },
7384 {
7385 "enumerant" : "DenormFlushToZero",
7386 "value" : 4460,
7387 "capabilities" : [ "DenormFlushToZero" ],
7388 "extensions" : [ "SPV_KHR_float_controls" ],
7389 "parameters" : [
7390 { "kind" : "LiteralInteger", "name" : "'Target Width'" }
7391 ],
7392 "version" : "1.4"
7393 },
7394 {
7395 "enumerant" : "SignedZeroInfNanPreserve",
7396 "value" : 4461,
7397 "capabilities" : [ "SignedZeroInfNanPreserve" ],
7398 "extensions" : [ "SPV_KHR_float_controls" ],
7399 "parameters" : [
7400 { "kind" : "LiteralInteger", "name" : "'Target Width'" }
7401 ],
7402 "version" : "1.4"
7403 },
7404 {
7405 "enumerant" : "RoundingModeRTE",
7406 "value" : 4462,
7407 "capabilities" : [ "RoundingModeRTE" ],
7408 "extensions" : [ "SPV_KHR_float_controls" ],
7409 "parameters" : [
7410 { "kind" : "LiteralInteger", "name" : "'Target Width'" }
7411 ],
7412 "version" : "1.4"
7413 },
7414 {
7415 "enumerant" : "RoundingModeRTZ",
7416 "value" : 4463,
7417 "capabilities" : [ "RoundingModeRTZ" ],
7418 "extensions" : [ "SPV_KHR_float_controls" ],
7419 "parameters" : [
7420 { "kind" : "LiteralInteger", "name" : "'Target Width'" }
7421 ],
7422 "version" : "1.4"
7423 },
7424 {
7425 "enumerant" : "StencilRefReplacingEXT",
7426 "value" : 5027,
7427 "capabilities" : [ "StencilExportEXT" ],
7428 "extensions" : [ "SPV_EXT_shader_stencil_export" ],
7429 "version" : "None"
7430 },
7431 {
7432 "enumerant" : "OutputLinesNV",
7433 "value" : 5269,
7434 "capabilities" : [ "MeshShadingNV" ],
7435 "extensions" : [ "SPV_NV_mesh_shader" ],
7436 "version" : "None"
7437 },
7438 {
7439 "enumerant" : "OutputPrimitivesNV",
7440 "value" : 5270,
7441 "capabilities" : [ "MeshShadingNV" ],
7442 "parameters" : [
7443 { "kind" : "LiteralInteger", "name" : "'Primitive count'" }
7444 ],
7445 "extensions" : [ "SPV_NV_mesh_shader" ],
7446 "version" : "None"
7447 },
7448 {
7449 "enumerant" : "DerivativeGroupQuadsNV",
7450 "value" : 5289,
7451 "capabilities" : [ "ComputeDerivativeGroupQuadsNV" ],
7452 "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
7453 "version" : "None"
7454 },
7455 {
7456 "enumerant" : "DerivativeGroupLinearNV",
7457 "value" : 5290,
7458 "capabilities" : [ "ComputeDerivativeGroupLinearNV" ],
7459 "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
7460 "version" : "None"
7461 },
7462 {
7463 "enumerant" : "OutputTrianglesNV",
7464 "value" : 5298,
7465 "capabilities" : [ "MeshShadingNV" ],
7466 "extensions" : [ "SPV_NV_mesh_shader" ],
7467 "version" : "None"
7468 },
7469 {
7470 "enumerant" : "PixelInterlockOrderedEXT",
7471 "value" : 5366,
7472 "capabilities" : [ "FragmentShaderPixelInterlockEXT" ],
7473 "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
7474 "version" : "None"
7475 },
7476 {
7477 "enumerant" : "PixelInterlockUnorderedEXT",
7478 "value" : 5367,
7479 "capabilities" : [ "FragmentShaderPixelInterlockEXT" ],
7480 "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
7481 "version" : "None"
7482 },
7483 {
7484 "enumerant" : "SampleInterlockOrderedEXT",
7485 "value" : 5368,
7486 "capabilities" : [ "FragmentShaderSampleInterlockEXT" ],
7487 "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
7488 "version" : "None"
7489 },
7490 {
7491 "enumerant" : "SampleInterlockUnorderedEXT",
7492 "value" : 5369,
7493 "capabilities" : [ "FragmentShaderSampleInterlockEXT" ],
7494 "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
7495 "version" : "None"
7496 },
7497 {
7498 "enumerant" : "ShadingRateInterlockOrderedEXT",
7499 "value" : 5370,
7500 "capabilities" : [ "FragmentShaderShadingRateInterlockEXT" ],
7501 "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
7502 "version" : "None"
7503 },
7504 {
7505 "enumerant" : "ShadingRateInterlockUnorderedEXT",
7506 "value" : 5371,
7507 "capabilities" : [ "FragmentShaderShadingRateInterlockEXT" ],
7508 "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
7509 "version" : "None"
7510 }
7511 ]
7512 },
7513 {
7514 "category" : "ValueEnum",
7515 "kind" : "StorageClass",
7516 "enumerants" : [
7517 {
7518 "enumerant" : "UniformConstant",
7519 "value" : 0
7520 },
7521 {
7522 "enumerant" : "Input",
7523 "value" : 1
7524 },
7525 {
7526 "enumerant" : "Uniform",
7527 "value" : 2,
7528 "capabilities" : [ "Shader" ]
7529 },
7530 {
7531 "enumerant" : "Output",
7532 "value" : 3,
7533 "capabilities" : [ "Shader" ]
7534 },
7535 {
7536 "enumerant" : "Workgroup",
7537 "value" : 4
7538 },
7539 {
7540 "enumerant" : "CrossWorkgroup",
7541 "value" : 5
7542 },
7543 {
7544 "enumerant" : "Private",
7545 "value" : 6,
7546 "capabilities" : [ "Shader" ]
7547 },
7548 {
7549 "enumerant" : "Function",
7550 "value" : 7
7551 },
7552 {
7553 "enumerant" : "Generic",
7554 "value" : 8,
7555 "capabilities" : [ "GenericPointer" ]
7556 },
7557 {
7558 "enumerant" : "PushConstant",
7559 "value" : 9,
7560 "capabilities" : [ "Shader" ]
7561 },
7562 {
7563 "enumerant" : "AtomicCounter",
7564 "value" : 10,
7565 "capabilities" : [ "AtomicStorage" ]
7566 },
7567 {
7568 "enumerant" : "Image",
7569 "value" : 11
7570 },
7571 {
7572 "enumerant" : "StorageBuffer",
7573 "value" : 12,
7574 "extensions" : [
7575 "SPV_KHR_storage_buffer_storage_class",
7576 "SPV_KHR_variable_pointers"
7577 ],
7578 "capabilities" : [ "Shader" ],
7579 "version" : "1.3"
7580 },
7581 {
7582 "enumerant" : "CallableDataNV",
7583 "value" : 5328,
7584 "extensions" : [ "SPV_NV_ray_tracing" ],
7585 "capabilities" : [ "RayTracingNV" ],
7586 "version" : "None"
7587 },
7588 {
7589 "enumerant" : "IncomingCallableDataNV",
7590 "value" : 5329,
7591 "extensions" : [ "SPV_NV_ray_tracing" ],
7592 "capabilities" : [ "RayTracingNV" ],
7593 "version" : "None"
7594 },
7595 {
7596 "enumerant" : "RayPayloadNV",
7597 "value" : 5338,
7598 "extensions" : [ "SPV_NV_ray_tracing" ],
7599 "capabilities" : [ "RayTracingNV" ],
7600 "version" : "None"
7601 },
7602 {
7603 "enumerant" : "HitAttributeNV",
7604 "value" : 5339,
7605 "extensions" : [ "SPV_NV_ray_tracing" ],
7606 "capabilities" : [ "RayTracingNV" ],
7607 "version" : "None"
7608 },
7609 {
7610 "enumerant" : "IncomingRayPayloadNV",
7611 "value" : 5342,
7612 "extensions" : [ "SPV_NV_ray_tracing" ],
7613 "capabilities" : [ "RayTracingNV" ],
7614 "version" : "None"
7615 },
7616 {
7617 "enumerant" : "ShaderRecordBufferNV",
7618 "value" : 5343,
7619 "extensions" : [ "SPV_NV_ray_tracing" ],
7620 "capabilities" : [ "RayTracingNV" ],
7621 "version" : "None"
7622 },
7623 {
7624 "enumerant" : "PhysicalStorageBuffer",
7625 "value" : 5349,
7626 "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
7627 "capabilities" : [ "PhysicalStorageBufferAddresses" ],
7628 "version" : "1.5"
7629 },
7630 {
7631 "enumerant" : "PhysicalStorageBufferEXT",
7632 "value" : 5349,
7633 "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
7634 "capabilities" : [ "PhysicalStorageBufferAddresses" ],
7635 "version" : "1.5"
7636 }
7637 ]
7638 },
7639 {
7640 "category" : "ValueEnum",
7641 "kind" : "Dim",
7642 "enumerants" : [
7643 {
7644 "enumerant" : "1D",
7645 "value" : 0,
7646 "capabilities" : [ "Sampled1D", "Image1D" ]
7647 },
7648 {
7649 "enumerant" : "2D",
7650 "value" : 1,
7651 "capabilities" : [ "Shader", "Kernel", "ImageMSArray" ]
7652 },
7653 {
7654 "enumerant" : "3D",
7655 "value" : 2
7656 },
7657 {
7658 "enumerant" : "Cube",
7659 "value" : 3,
7660 "capabilities" : [ "Shader", "ImageCubeArray" ]
7661 },
7662 {
7663 "enumerant" : "Rect",
7664 "value" : 4,
7665 "capabilities" : [ "SampledRect", "ImageRect" ]
7666 },
7667 {
7668 "enumerant" : "Buffer",
7669 "value" : 5,
7670 "capabilities" : [ "SampledBuffer", "ImageBuffer" ]
7671 },
7672 {
7673 "enumerant" : "SubpassData",
7674 "value" : 6,
7675 "capabilities" : [ "InputAttachment" ]
7676 }
7677 ]
7678 },
7679 {
7680 "category" : "ValueEnum",
7681 "kind" : "SamplerAddressingMode",
7682 "enumerants" : [
7683 {
7684 "enumerant" : "None",
7685 "value" : 0,
7686 "capabilities" : [ "Kernel" ]
7687 },
7688 {
7689 "enumerant" : "ClampToEdge",
7690 "value" : 1,
7691 "capabilities" : [ "Kernel" ]
7692 },
7693 {
7694 "enumerant" : "Clamp",
7695 "value" : 2,
7696 "capabilities" : [ "Kernel" ]
7697 },
7698 {
7699 "enumerant" : "Repeat",
7700 "value" : 3,
7701 "capabilities" : [ "Kernel" ]
7702 },
7703 {
7704 "enumerant" : "RepeatMirrored",
7705 "value" : 4,
7706 "capabilities" : [ "Kernel" ]
7707 }
7708 ]
7709 },
7710 {
7711 "category" : "ValueEnum",
7712 "kind" : "SamplerFilterMode",
7713 "enumerants" : [
7714 {
7715 "enumerant" : "Nearest",
7716 "value" : 0,
7717 "capabilities" : [ "Kernel" ]
7718 },
7719 {
7720 "enumerant" : "Linear",
7721 "value" : 1,
7722 "capabilities" : [ "Kernel" ]
7723 }
7724 ]
7725 },
7726 {
7727 "category" : "ValueEnum",
7728 "kind" : "ImageFormat",
7729 "enumerants" : [
7730 {
7731 "enumerant" : "Unknown",
7732 "value" : 0
7733 },
7734 {
7735 "enumerant" : "Rgba32f",
7736 "value" : 1,
7737 "capabilities" : [ "Shader" ]
7738 },
7739 {
7740 "enumerant" : "Rgba16f",
7741 "value" : 2,
7742 "capabilities" : [ "Shader" ]
7743 },
7744 {
7745 "enumerant" : "R32f",
7746 "value" : 3,
7747 "capabilities" : [ "Shader" ]
7748 },
7749 {
7750 "enumerant" : "Rgba8",
7751 "value" : 4,
7752 "capabilities" : [ "Shader" ]
7753 },
7754 {
7755 "enumerant" : "Rgba8Snorm",
7756 "value" : 5,
7757 "capabilities" : [ "Shader" ]
7758 },
7759 {
7760 "enumerant" : "Rg32f",
7761 "value" : 6,
7762 "capabilities" : [ "StorageImageExtendedFormats" ]
7763 },
7764 {
7765 "enumerant" : "Rg16f",
7766 "value" : 7,
7767 "capabilities" : [ "StorageImageExtendedFormats" ]
7768 },
7769 {
7770 "enumerant" : "R11fG11fB10f",
7771 "value" : 8,
7772 "capabilities" : [ "StorageImageExtendedFormats" ]
7773 },
7774 {
7775 "enumerant" : "R16f",
7776 "value" : 9,
7777 "capabilities" : [ "StorageImageExtendedFormats" ]
7778 },
7779 {
7780 "enumerant" : "Rgba16",
7781 "value" : 10,
7782 "capabilities" : [ "StorageImageExtendedFormats" ]
7783 },
7784 {
7785 "enumerant" : "Rgb10A2",
7786 "value" : 11,
7787 "capabilities" : [ "StorageImageExtendedFormats" ]
7788 },
7789 {
7790 "enumerant" : "Rg16",
7791 "value" : 12,
7792 "capabilities" : [ "StorageImageExtendedFormats" ]
7793 },
7794 {
7795 "enumerant" : "Rg8",
7796 "value" : 13,
7797 "capabilities" : [ "StorageImageExtendedFormats" ]
7798 },
7799 {
7800 "enumerant" : "R16",
7801 "value" : 14,
7802 "capabilities" : [ "StorageImageExtendedFormats" ]
7803 },
7804 {
7805 "enumerant" : "R8",
7806 "value" : 15,
7807 "capabilities" : [ "StorageImageExtendedFormats" ]
7808 },
7809 {
7810 "enumerant" : "Rgba16Snorm",
7811 "value" : 16,
7812 "capabilities" : [ "StorageImageExtendedFormats" ]
7813 },
7814 {
7815 "enumerant" : "Rg16Snorm",
7816 "value" : 17,
7817 "capabilities" : [ "StorageImageExtendedFormats" ]
7818 },
7819 {
7820 "enumerant" : "Rg8Snorm",
7821 "value" : 18,
7822 "capabilities" : [ "StorageImageExtendedFormats" ]
7823 },
7824 {
7825 "enumerant" : "R16Snorm",
7826 "value" : 19,
7827 "capabilities" : [ "StorageImageExtendedFormats" ]
7828 },
7829 {
7830 "enumerant" : "R8Snorm",
7831 "value" : 20,
7832 "capabilities" : [ "StorageImageExtendedFormats" ]
7833 },
7834 {
7835 "enumerant" : "Rgba32i",
7836 "value" : 21,
7837 "capabilities" : [ "Shader" ]
7838 },
7839 {
7840 "enumerant" : "Rgba16i",
7841 "value" : 22,
7842 "capabilities" : [ "Shader" ]
7843 },
7844 {
7845 "enumerant" : "Rgba8i",
7846 "value" : 23,
7847 "capabilities" : [ "Shader" ]
7848 },
7849 {
7850 "enumerant" : "R32i",
7851 "value" : 24,
7852 "capabilities" : [ "Shader" ]
7853 },
7854 {
7855 "enumerant" : "Rg32i",
7856 "value" : 25,
7857 "capabilities" : [ "StorageImageExtendedFormats" ]
7858 },
7859 {
7860 "enumerant" : "Rg16i",
7861 "value" : 26,
7862 "capabilities" : [ "StorageImageExtendedFormats" ]
7863 },
7864 {
7865 "enumerant" : "Rg8i",
7866 "value" : 27,
7867 "capabilities" : [ "StorageImageExtendedFormats" ]
7868 },
7869 {
7870 "enumerant" : "R16i",
7871 "value" : 28,
7872 "capabilities" : [ "StorageImageExtendedFormats" ]
7873 },
7874 {
7875 "enumerant" : "R8i",
7876 "value" : 29,
7877 "capabilities" : [ "StorageImageExtendedFormats" ]
7878 },
7879 {
7880 "enumerant" : "Rgba32ui",
7881 "value" : 30,
7882 "capabilities" : [ "Shader" ]
7883 },
7884 {
7885 "enumerant" : "Rgba16ui",
7886 "value" : 31,
7887 "capabilities" : [ "Shader" ]
7888 },
7889 {
7890 "enumerant" : "Rgba8ui",
7891 "value" : 32,
7892 "capabilities" : [ "Shader" ]
7893 },
7894 {
7895 "enumerant" : "R32ui",
7896 "value" : 33,
7897 "capabilities" : [ "Shader" ]
7898 },
7899 {
7900 "enumerant" : "Rgb10a2ui",
7901 "value" : 34,
7902 "capabilities" : [ "StorageImageExtendedFormats" ]
7903 },
7904 {
7905 "enumerant" : "Rg32ui",
7906 "value" : 35,
7907 "capabilities" : [ "StorageImageExtendedFormats" ]
7908 },
7909 {
7910 "enumerant" : "Rg16ui",
7911 "value" : 36,
7912 "capabilities" : [ "StorageImageExtendedFormats" ]
7913 },
7914 {
7915 "enumerant" : "Rg8ui",
7916 "value" : 37,
7917 "capabilities" : [ "StorageImageExtendedFormats" ]
7918 },
7919 {
7920 "enumerant" : "R16ui",
7921 "value" : 38,
7922 "capabilities" : [ "StorageImageExtendedFormats" ]
7923 },
7924 {
7925 "enumerant" : "R8ui",
7926 "value" : 39,
7927 "capabilities" : [ "StorageImageExtendedFormats" ]
7928 }
7929 ]
7930 },
7931 {
7932 "category" : "ValueEnum",
7933 "kind" : "ImageChannelOrder",
7934 "enumerants" : [
7935 {
7936 "enumerant" : "R",
7937 "value" : 0,
7938 "capabilities" : [ "Kernel" ]
7939 },
7940 {
7941 "enumerant" : "A",
7942 "value" : 1,
7943 "capabilities" : [ "Kernel" ]
7944 },
7945 {
7946 "enumerant" : "RG",
7947 "value" : 2,
7948 "capabilities" : [ "Kernel" ]
7949 },
7950 {
7951 "enumerant" : "RA",
7952 "value" : 3,
7953 "capabilities" : [ "Kernel" ]
7954 },
7955 {
7956 "enumerant" : "RGB",
7957 "value" : 4,
7958 "capabilities" : [ "Kernel" ]
7959 },
7960 {
7961 "enumerant" : "RGBA",
7962 "value" : 5,
7963 "capabilities" : [ "Kernel" ]
7964 },
7965 {
7966 "enumerant" : "BGRA",
7967 "value" : 6,
7968 "capabilities" : [ "Kernel" ]
7969 },
7970 {
7971 "enumerant" : "ARGB",
7972 "value" : 7,
7973 "capabilities" : [ "Kernel" ]
7974 },
7975 {
7976 "enumerant" : "Intensity",
7977 "value" : 8,
7978 "capabilities" : [ "Kernel" ]
7979 },
7980 {
7981 "enumerant" : "Luminance",
7982 "value" : 9,
7983 "capabilities" : [ "Kernel" ]
7984 },
7985 {
7986 "enumerant" : "Rx",
7987 "value" : 10,
7988 "capabilities" : [ "Kernel" ]
7989 },
7990 {
7991 "enumerant" : "RGx",
7992 "value" : 11,
7993 "capabilities" : [ "Kernel" ]
7994 },
7995 {
7996 "enumerant" : "RGBx",
7997 "value" : 12,
7998 "capabilities" : [ "Kernel" ]
7999 },
8000 {
8001 "enumerant" : "Depth",
8002 "value" : 13,
8003 "capabilities" : [ "Kernel" ]
8004 },
8005 {
8006 "enumerant" : "DepthStencil",
8007 "value" : 14,
8008 "capabilities" : [ "Kernel" ]
8009 },
8010 {
8011 "enumerant" : "sRGB",
8012 "value" : 15,
8013 "capabilities" : [ "Kernel" ]
8014 },
8015 {
8016 "enumerant" : "sRGBx",
8017 "value" : 16,
8018 "capabilities" : [ "Kernel" ]
8019 },
8020 {
8021 "enumerant" : "sRGBA",
8022 "value" : 17,
8023 "capabilities" : [ "Kernel" ]
8024 },
8025 {
8026 "enumerant" : "sBGRA",
8027 "value" : 18,
8028 "capabilities" : [ "Kernel" ]
8029 },
8030 {
8031 "enumerant" : "ABGR",
8032 "value" : 19,
8033 "capabilities" : [ "Kernel" ]
8034 }
8035 ]
8036 },
8037 {
8038 "category" : "ValueEnum",
8039 "kind" : "ImageChannelDataType",
8040 "enumerants" : [
8041 {
8042 "enumerant" : "SnormInt8",
8043 "value" : 0,
8044 "capabilities" : [ "Kernel" ]
8045 },
8046 {
8047 "enumerant" : "SnormInt16",
8048 "value" : 1,
8049 "capabilities" : [ "Kernel" ]
8050 },
8051 {
8052 "enumerant" : "UnormInt8",
8053 "value" : 2,
8054 "capabilities" : [ "Kernel" ]
8055 },
8056 {
8057 "enumerant" : "UnormInt16",
8058 "value" : 3,
8059 "capabilities" : [ "Kernel" ]
8060 },
8061 {
8062 "enumerant" : "UnormShort565",
8063 "value" : 4,
8064 "capabilities" : [ "Kernel" ]
8065 },
8066 {
8067 "enumerant" : "UnormShort555",
8068 "value" : 5,
8069 "capabilities" : [ "Kernel" ]
8070 },
8071 {
8072 "enumerant" : "UnormInt101010",
8073 "value" : 6,
8074 "capabilities" : [ "Kernel" ]
8075 },
8076 {
8077 "enumerant" : "SignedInt8",
8078 "value" : 7,
8079 "capabilities" : [ "Kernel" ]
8080 },
8081 {
8082 "enumerant" : "SignedInt16",
8083 "value" : 8,
8084 "capabilities" : [ "Kernel" ]
8085 },
8086 {
8087 "enumerant" : "SignedInt32",
8088 "value" : 9,
8089 "capabilities" : [ "Kernel" ]
8090 },
8091 {
8092 "enumerant" : "UnsignedInt8",
8093 "value" : 10,
8094 "capabilities" : [ "Kernel" ]
8095 },
8096 {
8097 "enumerant" : "UnsignedInt16",
8098 "value" : 11,
8099 "capabilities" : [ "Kernel" ]
8100 },
8101 {
8102 "enumerant" : "UnsignedInt32",
8103 "value" : 12,
8104 "capabilities" : [ "Kernel" ]
8105 },
8106 {
8107 "enumerant" : "HalfFloat",
8108 "value" : 13,
8109 "capabilities" : [ "Kernel" ]
8110 },
8111 {
8112 "enumerant" : "Float",
8113 "value" : 14,
8114 "capabilities" : [ "Kernel" ]
8115 },
8116 {
8117 "enumerant" : "UnormInt24",
8118 "value" : 15,
8119 "capabilities" : [ "Kernel" ]
8120 },
8121 {
8122 "enumerant" : "UnormInt101010_2",
8123 "value" : 16,
8124 "capabilities" : [ "Kernel" ]
8125 }
8126 ]
8127 },
8128 {
8129 "category" : "ValueEnum",
8130 "kind" : "FPRoundingMode",
8131 "enumerants" : [
8132 {
8133 "enumerant" : "RTE",
8134 "value" : 0
8135 },
8136 {
8137 "enumerant" : "RTZ",
8138 "value" : 1
8139 },
8140 {
8141 "enumerant" : "RTP",
8142 "value" : 2
8143 },
8144 {
8145 "enumerant" : "RTN",
8146 "value" : 3
8147 }
8148 ]
8149 },
8150 {
8151 "category" : "ValueEnum",
8152 "kind" : "LinkageType",
8153 "enumerants" : [
8154 {
8155 "enumerant" : "Export",
8156 "value" : 0,
8157 "capabilities" : [ "Linkage" ]
8158 },
8159 {
8160 "enumerant" : "Import",
8161 "value" : 1,
8162 "capabilities" : [ "Linkage" ]
8163 }
8164 ]
8165 },
8166 {
8167 "category" : "ValueEnum",
8168 "kind" : "AccessQualifier",
8169 "enumerants" : [
8170 {
8171 "enumerant" : "ReadOnly",
8172 "value" : 0,
8173 "capabilities" : [ "Kernel" ]
8174 },
8175 {
8176 "enumerant" : "WriteOnly",
8177 "value" : 1,
8178 "capabilities" : [ "Kernel" ]
8179 },
8180 {
8181 "enumerant" : "ReadWrite",
8182 "value" : 2,
8183 "capabilities" : [ "Kernel" ]
8184 }
8185 ]
8186 },
8187 {
8188 "category" : "ValueEnum",
8189 "kind" : "FunctionParameterAttribute",
8190 "enumerants" : [
8191 {
8192 "enumerant" : "Zext",
8193 "value" : 0,
8194 "capabilities" : [ "Kernel" ]
8195 },
8196 {
8197 "enumerant" : "Sext",
8198 "value" : 1,
8199 "capabilities" : [ "Kernel" ]
8200 },
8201 {
8202 "enumerant" : "ByVal",
8203 "value" : 2,
8204 "capabilities" : [ "Kernel" ]
8205 },
8206 {
8207 "enumerant" : "Sret",
8208 "value" : 3,
8209 "capabilities" : [ "Kernel" ]
8210 },
8211 {
8212 "enumerant" : "NoAlias",
8213 "value" : 4,
8214 "capabilities" : [ "Kernel" ]
8215 },
8216 {
8217 "enumerant" : "NoCapture",
8218 "value" : 5,
8219 "capabilities" : [ "Kernel" ]
8220 },
8221 {
8222 "enumerant" : "NoWrite",
8223 "value" : 6,
8224 "capabilities" : [ "Kernel" ]
8225 },
8226 {
8227 "enumerant" : "NoReadWrite",
8228 "value" : 7,
8229 "capabilities" : [ "Kernel" ]
8230 }
8231 ]
8232 },
8233 {
8234 "category" : "ValueEnum",
8235 "kind" : "Decoration",
8236 "enumerants" : [
8237 {
8238 "enumerant" : "RelaxedPrecision",
8239 "value" : 0,
8240 "capabilities" : [ "Shader" ]
8241 },
8242 {
8243 "enumerant" : "SpecId",
8244 "value" : 1,
8245 "capabilities" : [ "Shader", "Kernel" ],
8246 "parameters" : [
8247 { "kind" : "LiteralInteger", "name" : "'Specialization Constant ID'" }
8248 ]
8249 },
8250 {
8251 "enumerant" : "Block",
8252 "value" : 2,
8253 "capabilities" : [ "Shader" ]
8254 },
8255 {
8256 "enumerant" : "BufferBlock",
8257 "value" : 3,
8258 "capabilities" : [ "Shader" ],
8259 "lastVersion" : "1.3"
8260 },
8261 {
8262 "enumerant" : "RowMajor",
8263 "value" : 4,
8264 "capabilities" : [ "Matrix" ]
8265 },
8266 {
8267 "enumerant" : "ColMajor",
8268 "value" : 5,
8269 "capabilities" : [ "Matrix" ]
8270 },
8271 {
8272 "enumerant" : "ArrayStride",
8273 "value" : 6,
8274 "capabilities" : [ "Shader" ],
8275 "parameters" : [
8276 { "kind" : "LiteralInteger", "name" : "'Array Stride'" }
8277 ]
8278 },
8279 {
8280 "enumerant" : "MatrixStride",
8281 "value" : 7,
8282 "capabilities" : [ "Matrix" ],
8283 "parameters" : [
8284 { "kind" : "LiteralInteger", "name" : "'Matrix Stride'" }
8285 ]
8286 },
8287 {
8288 "enumerant" : "GLSLShared",
8289 "value" : 8,
8290 "capabilities" : [ "Shader" ]
8291 },
8292 {
8293 "enumerant" : "GLSLPacked",
8294 "value" : 9,
8295 "capabilities" : [ "Shader" ]
8296 },
8297 {
8298 "enumerant" : "CPacked",
8299 "value" : 10,
8300 "capabilities" : [ "Kernel" ]
8301 },
8302 {
8303 "enumerant" : "BuiltIn",
8304 "value" : 11,
8305 "parameters" : [
8306 { "kind" : "BuiltIn" }
8307 ]
8308 },
8309 {
8310 "enumerant" : "NoPerspective",
8311 "value" : 13,
8312 "capabilities" : [ "Shader" ]
8313 },
8314 {
8315 "enumerant" : "Flat",
8316 "value" : 14,
8317 "capabilities" : [ "Shader" ]
8318 },
8319 {
8320 "enumerant" : "Patch",
8321 "value" : 15,
8322 "capabilities" : [ "Tessellation" ]
8323 },
8324 {
8325 "enumerant" : "Centroid",
8326 "value" : 16,
8327 "capabilities" : [ "Shader" ]
8328 },
8329 {
8330 "enumerant" : "Sample",
8331 "value" : 17,
8332 "capabilities" : [ "SampleRateShading" ]
8333 },
8334 {
8335 "enumerant" : "Invariant",
8336 "value" : 18,
8337 "capabilities" : [ "Shader" ]
8338 },
8339 {
8340 "enumerant" : "Restrict",
8341 "value" : 19
8342 },
8343 {
8344 "enumerant" : "Aliased",
8345 "value" : 20
8346 },
8347 {
8348 "enumerant" : "Volatile",
8349 "value" : 21
8350 },
8351 {
8352 "enumerant" : "Constant",
8353 "value" : 22,
8354 "capabilities" : [ "Kernel" ]
8355 },
8356 {
8357 "enumerant" : "Coherent",
8358 "value" : 23
8359 },
8360 {
8361 "enumerant" : "NonWritable",
8362 "value" : 24
8363 },
8364 {
8365 "enumerant" : "NonReadable",
8366 "value" : 25
8367 },
8368 {
8369 "enumerant" : "Uniform",
8370 "value" : 26,
8371 "capabilities" : [ "Shader" ]
8372 },
8373 {
8374 "enumerant" : "UniformId",
8375 "value" : 27,
8376 "capabilities" : [ "Shader" ],
8377 "parameters" : [
8378 { "kind" : "IdScope", "name" : "'Execution'" }
8379 ],
8380 "version" : "1.4"
8381 },
8382 {
8383 "enumerant" : "SaturatedConversion",
8384 "value" : 28,
8385 "capabilities" : [ "Kernel" ]
8386 },
8387 {
8388 "enumerant" : "Stream",
8389 "value" : 29,
8390 "capabilities" : [ "GeometryStreams" ],
8391 "parameters" : [
8392 { "kind" : "LiteralInteger", "name" : "'Stream Number'" }
8393 ]
8394 },
8395 {
8396 "enumerant" : "Location",
8397 "value" : 30,
8398 "capabilities" : [ "Shader" ],
8399 "parameters" : [
8400 { "kind" : "LiteralInteger", "name" : "'Location'" }
8401 ]
8402 },
8403 {
8404 "enumerant" : "Component",
8405 "value" : 31,
8406 "capabilities" : [ "Shader" ],
8407 "parameters" : [
8408 { "kind" : "LiteralInteger", "name" : "'Component'" }
8409 ]
8410 },
8411 {
8412 "enumerant" : "Index",
8413 "value" : 32,
8414 "capabilities" : [ "Shader" ],
8415 "parameters" : [
8416 { "kind" : "LiteralInteger", "name" : "'Index'" }
8417 ]
8418 },
8419 {
8420 "enumerant" : "Binding",
8421 "value" : 33,
8422 "capabilities" : [ "Shader" ],
8423 "parameters" : [
8424 { "kind" : "LiteralInteger", "name" : "'Binding Point'" }
8425 ]
8426 },
8427 {
8428 "enumerant" : "DescriptorSet",
8429 "value" : 34,
8430 "capabilities" : [ "Shader" ],
8431 "parameters" : [
8432 { "kind" : "LiteralInteger", "name" : "'Descriptor Set'" }
8433 ]
8434 },
8435 {
8436 "enumerant" : "Offset",
8437 "value" : 35,
8438 "capabilities" : [ "Shader" ],
8439 "parameters" : [
8440 { "kind" : "LiteralInteger", "name" : "'Byte Offset'" }
8441 ]
8442 },
8443 {
8444 "enumerant" : "XfbBuffer",
8445 "value" : 36,
8446 "capabilities" : [ "TransformFeedback" ],
8447 "parameters" : [
8448 { "kind" : "LiteralInteger", "name" : "'XFB Buffer Number'" }
8449 ]
8450 },
8451 {
8452 "enumerant" : "XfbStride",
8453 "value" : 37,
8454 "capabilities" : [ "TransformFeedback" ],
8455 "parameters" : [
8456 { "kind" : "LiteralInteger", "name" : "'XFB Stride'" }
8457 ]
8458 },
8459 {
8460 "enumerant" : "FuncParamAttr",
8461 "value" : 38,
8462 "capabilities" : [ "Kernel" ],
8463 "parameters" : [
8464 { "kind" : "FunctionParameterAttribute", "name" : "'Function Parameter Attribute'" }
8465 ]
8466 },
8467 {
8468 "enumerant" : "FPRoundingMode",
8469 "value" : 39,
8470 "parameters" : [
8471 { "kind" : "FPRoundingMode", "name" : "'Floating-Point Rounding Mode'" }
8472 ]
8473 },
8474 {
8475 "enumerant" : "FPFastMathMode",
8476 "value" : 40,
8477 "capabilities" : [ "Kernel" ],
8478 "parameters" : [
8479 { "kind" : "FPFastMathMode", "name" : "'Fast-Math Mode'" }
8480 ]
8481 },
8482 {
8483 "enumerant" : "LinkageAttributes",
8484 "value" : 41,
8485 "capabilities" : [ "Linkage" ],
8486 "parameters" : [
8487 { "kind" : "LiteralString", "name" : "'Name'" },
8488 { "kind" : "LinkageType", "name" : "'Linkage Type'" }
8489 ]
8490 },
8491 {
8492 "enumerant" : "NoContraction",
8493 "value" : 42,
8494 "capabilities" : [ "Shader" ]
8495 },
8496 {
8497 "enumerant" : "InputAttachmentIndex",
8498 "value" : 43,
8499 "capabilities" : [ "InputAttachment" ],
8500 "parameters" : [
8501 { "kind" : "LiteralInteger", "name" : "'Attachment Index'" }
8502 ]
8503 },
8504 {
8505 "enumerant" : "Alignment",
8506 "value" : 44,
8507 "capabilities" : [ "Kernel" ],
8508 "parameters" : [
8509 { "kind" : "LiteralInteger", "name" : "'Alignment'" }
8510 ]
8511 },
8512 {
8513 "enumerant" : "MaxByteOffset",
8514 "value" : 45,
8515 "capabilities" : [ "Addresses" ],
8516 "parameters" : [
8517 { "kind" : "LiteralInteger", "name" : "'Max Byte Offset'" }
8518 ],
8519 "version" : "1.1"
8520 },
8521 {
8522 "enumerant" : "AlignmentId",
8523 "value" : 46,
8524 "capabilities" : [ "Kernel" ],
8525 "parameters" : [
8526 { "kind" : "IdRef", "name" : "'Alignment'" }
8527 ],
8528 "version" : "1.2"
8529 },
8530 {
8531 "enumerant" : "MaxByteOffsetId",
8532 "value" : 47,
8533 "capabilities" : [ "Addresses" ],
8534 "parameters" : [
8535 { "kind" : "IdRef", "name" : "'Max Byte Offset'" }
8536 ],
8537 "version" : "1.2"
8538 },
8539 {
8540 "enumerant" : "NoSignedWrap",
8541 "value" : 4469,
8542 "extensions" : [ "SPV_KHR_no_integer_wrap_decoration" ],
8543 "version" : "1.4"
8544 },
8545 {
8546 "enumerant" : "NoUnsignedWrap",
8547 "value" : 4470,
8548 "extensions" : [ "SPV_KHR_no_integer_wrap_decoration" ],
8549 "version" : "1.4"
8550 },
8551 {
8552 "enumerant" : "ExplicitInterpAMD",
8553 "value" : 4999,
8554 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
8555 "version" : "None"
8556 },
8557 {
8558 "enumerant" : "OverrideCoverageNV",
8559 "value" : 5248,
8560 "capabilities" : [ "SampleMaskOverrideCoverageNV" ],
8561 "extensions" : [ "SPV_NV_sample_mask_override_coverage" ],
8562 "version" : "None"
8563 },
8564 {
8565 "enumerant" : "PassthroughNV",
8566 "value" : 5250,
8567 "capabilities" : [ "GeometryShaderPassthroughNV" ],
8568 "extensions" : [ "SPV_NV_geometry_shader_passthrough" ],
8569 "version" : "None"
8570 },
8571 {
8572 "enumerant" : "ViewportRelativeNV",
8573 "value" : 5252,
8574 "capabilities" : [ "ShaderViewportMaskNV" ],
8575 "version" : "None"
8576 },
8577 {
8578 "enumerant" : "SecondaryViewportRelativeNV",
8579 "value" : 5256,
8580 "capabilities" : [ "ShaderStereoViewNV" ],
8581 "extensions" : [ "SPV_NV_stereo_view_rendering" ],
8582 "version" : "None",
8583 "parameters" : [
8584 { "kind" : "LiteralInteger", "name" : "'Offset'" }
8585 ]
8586 },
8587 {
8588 "enumerant" : "PerPrimitiveNV",
8589 "value" : 5271,
8590 "capabilities" : [ "MeshShadingNV" ],
8591 "extensions" : [ "SPV_NV_mesh_shader" ],
8592 "version" : "None"
8593 },
8594 {
8595 "enumerant" : "PerViewNV",
8596 "value" : 5272,
8597 "capabilities" : [ "MeshShadingNV" ],
8598 "extensions" : [ "SPV_NV_mesh_shader" ],
8599 "version" : "None"
8600 },
8601 {
8602 "enumerant" : "PerTaskNV",
8603 "value" : 5273,
8604 "capabilities" : [ "MeshShadingNV" ],
8605 "extensions" : [ "SPV_NV_mesh_shader" ],
8606 "version" : "None"
8607 },
8608 {
8609 "enumerant" : "PerVertexNV",
8610 "value" : 5285,
8611 "capabilities" : [ "FragmentBarycentricNV" ],
8612 "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
8613 "version" : "None"
8614 },
8615 {
8616 "enumerant" : "NonUniform",
8617 "value" : 5300,
8618 "capabilities" : [ "ShaderNonUniform" ],
8619 "version" : "1.5"
8620 },
8621 {
8622 "enumerant" : "NonUniformEXT",
8623 "value" : 5300,
8624 "capabilities" : [ "ShaderNonUniform" ],
8625 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
8626 "version" : "1.5"
8627 },
8628 {
8629 "enumerant" : "RestrictPointer",
8630 "value" : 5355,
8631 "capabilities" : [ "PhysicalStorageBufferAddresses" ],
8632 "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
8633 "version" : "1.5"
8634 },
8635 {
8636 "enumerant" : "RestrictPointerEXT",
8637 "value" : 5355,
8638 "capabilities" : [ "PhysicalStorageBufferAddresses" ],
8639 "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
8640 "version" : "1.5"
8641 },
8642 {
8643 "enumerant" : "AliasedPointer",
8644 "value" : 5356,
8645 "capabilities" : [ "PhysicalStorageBufferAddresses" ],
8646 "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
8647 "version" : "1.5"
8648 },
8649 {
8650 "enumerant" : "AliasedPointerEXT",
8651 "value" : 5356,
8652 "capabilities" : [ "PhysicalStorageBufferAddresses" ],
8653 "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
8654 "version" : "1.5"
8655 },
8656 {
8657 "enumerant" : "CounterBuffer",
8658 "value" : 5634,
8659 "parameters" : [
8660 { "kind" : "IdRef", "name" : "'Counter Buffer'" }
8661 ],
8662 "version" : "1.4"
8663 },
8664 {
8665 "enumerant" : "HlslCounterBufferGOOGLE",
8666 "value" : 5634,
8667 "parameters" : [
8668 { "kind" : "IdRef", "name" : "'Counter Buffer'" }
8669 ],
8670 "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ],
8671 "version" : "None"
8672 },
8673 {
8674 "enumerant" : "UserSemantic",
8675 "value" : 5635,
8676 "parameters" : [
8677 { "kind" : "LiteralString", "name" : "'Semantic'" }
8678 ],
8679 "version" : "1.4"
8680 },
8681 {
8682 "enumerant" : "HlslSemanticGOOGLE",
8683 "value" : 5635,
8684 "parameters" : [
8685 { "kind" : "LiteralString", "name" : "'Semantic'" }
8686 ],
8687 "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ],
8688 "version" : "None"
8689 },
8690 {
8691 "enumerant" : "UserTypeGOOGLE",
8692 "value" : 5636,
8693 "parameters" : [
8694 { "kind" : "LiteralString", "name" : "'User Type'" }
8695 ],
8696 "extensions" : [ "SPV_GOOGLE_user_type" ],
8697 "version" : "None"
8698 }
8699 ]
8700 },
8701 {
8702 "category" : "ValueEnum",
8703 "kind" : "BuiltIn",
8704 "enumerants" : [
8705 {
8706 "enumerant" : "Position",
8707 "value" : 0,
8708 "capabilities" : [ "Shader" ]
8709 },
8710 {
8711 "enumerant" : "PointSize",
8712 "value" : 1,
8713 "capabilities" : [ "Shader" ]
8714 },
8715 {
8716 "enumerant" : "ClipDistance",
8717 "value" : 3,
8718 "capabilities" : [ "ClipDistance" ]
8719 },
8720 {
8721 "enumerant" : "CullDistance",
8722 "value" : 4,
8723 "capabilities" : [ "CullDistance" ]
8724 },
8725 {
8726 "enumerant" : "VertexId",
8727 "value" : 5,
8728 "capabilities" : [ "Shader" ]
8729 },
8730 {
8731 "enumerant" : "InstanceId",
8732 "value" : 6,
8733 "capabilities" : [ "Shader" ]
8734 },
8735 {
8736 "enumerant" : "PrimitiveId",
8737 "value" : 7,
8738 "capabilities" : [ "Geometry", "Tessellation", "RayTracingNV" ]
8739 },
8740 {
8741 "enumerant" : "InvocationId",
8742 "value" : 8,
8743 "capabilities" : [ "Geometry", "Tessellation" ]
8744 },
8745 {
8746 "enumerant" : "Layer",
8747 "value" : 9,
8748 "capabilities" : [ "Geometry", "ShaderLayer", "ShaderViewportIndexLayerEXT" ]
8749 },
8750 {
8751 "enumerant" : "ViewportIndex",
8752 "value" : 10,
8753 "capabilities" : [ "MultiViewport", "ShaderViewportIndex", "ShaderViewportIndexLayerEXT" ]
8754 },
8755 {
8756 "enumerant" : "TessLevelOuter",
8757 "value" : 11,
8758 "capabilities" : [ "Tessellation" ]
8759 },
8760 {
8761 "enumerant" : "TessLevelInner",
8762 "value" : 12,
8763 "capabilities" : [ "Tessellation" ]
8764 },
8765 {
8766 "enumerant" : "TessCoord",
8767 "value" : 13,
8768 "capabilities" : [ "Tessellation" ]
8769 },
8770 {
8771 "enumerant" : "PatchVertices",
8772 "value" : 14,
8773 "capabilities" : [ "Tessellation" ]
8774 },
8775 {
8776 "enumerant" : "FragCoord",
8777 "value" : 15,
8778 "capabilities" : [ "Shader" ]
8779 },
8780 {
8781 "enumerant" : "PointCoord",
8782 "value" : 16,
8783 "capabilities" : [ "Shader" ]
8784 },
8785 {
8786 "enumerant" : "FrontFacing",
8787 "value" : 17,
8788 "capabilities" : [ "Shader" ]
8789 },
8790 {
8791 "enumerant" : "SampleId",
8792 "value" : 18,
8793 "capabilities" : [ "SampleRateShading" ]
8794 },
8795 {
8796 "enumerant" : "SamplePosition",
8797 "value" : 19,
8798 "capabilities" : [ "SampleRateShading" ]
8799 },
8800 {
8801 "enumerant" : "SampleMask",
8802 "value" : 20,
8803 "capabilities" : [ "Shader" ]
8804 },
8805 {
8806 "enumerant" : "FragDepth",
8807 "value" : 22,
8808 "capabilities" : [ "Shader" ]
8809 },
8810 {
8811 "enumerant" : "HelperInvocation",
8812 "value" : 23,
8813 "capabilities" : [ "Shader" ]
8814 },
8815 {
8816 "enumerant" : "NumWorkgroups",
8817 "value" : 24
8818 },
8819 {
8820 "enumerant" : "WorkgroupSize",
8821 "value" : 25
8822 },
8823 {
8824 "enumerant" : "WorkgroupId",
8825 "value" : 26
8826 },
8827 {
8828 "enumerant" : "LocalInvocationId",
8829 "value" : 27
8830 },
8831 {
8832 "enumerant" : "GlobalInvocationId",
8833 "value" : 28
8834 },
8835 {
8836 "enumerant" : "LocalInvocationIndex",
8837 "value" : 29
8838 },
8839 {
8840 "enumerant" : "WorkDim",
8841 "value" : 30,
8842 "capabilities" : [ "Kernel" ]
8843 },
8844 {
8845 "enumerant" : "GlobalSize",
8846 "value" : 31,
8847 "capabilities" : [ "Kernel" ]
8848 },
8849 {
8850 "enumerant" : "EnqueuedWorkgroupSize",
8851 "value" : 32,
8852 "capabilities" : [ "Kernel" ]
8853 },
8854 {
8855 "enumerant" : "GlobalOffset",
8856 "value" : 33,
8857 "capabilities" : [ "Kernel" ]
8858 },
8859 {
8860 "enumerant" : "GlobalLinearId",
8861 "value" : 34,
8862 "capabilities" : [ "Kernel" ]
8863 },
8864 {
8865 "enumerant" : "SubgroupSize",
8866 "value" : 36,
8867 "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ]
8868 },
8869 {
8870 "enumerant" : "SubgroupMaxSize",
8871 "value" : 37,
8872 "capabilities" : [ "Kernel" ]
8873 },
8874 {
8875 "enumerant" : "NumSubgroups",
8876 "value" : 38,
8877 "capabilities" : [ "Kernel", "GroupNonUniform" ]
8878 },
8879 {
8880 "enumerant" : "NumEnqueuedSubgroups",
8881 "value" : 39,
8882 "capabilities" : [ "Kernel" ]
8883 },
8884 {
8885 "enumerant" : "SubgroupId",
8886 "value" : 40,
8887 "capabilities" : [ "Kernel", "GroupNonUniform" ]
8888 },
8889 {
8890 "enumerant" : "SubgroupLocalInvocationId",
8891 "value" : 41,
8892 "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ]
8893 },
8894 {
8895 "enumerant" : "VertexIndex",
8896 "value" : 42,
8897 "capabilities" : [ "Shader" ]
8898 },
8899 {
8900 "enumerant" : "InstanceIndex",
8901 "value" : 43,
8902 "capabilities" : [ "Shader" ]
8903 },
8904 {
8905 "enumerant" : "SubgroupEqMask",
8906 "value" : 4416,
8907 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
8908 "version" : "1.3"
8909 },
8910 {
8911 "enumerant" : "SubgroupGeMask",
8912 "value" : 4417,
8913 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
8914 "version" : "1.3"
8915 },
8916 {
8917 "enumerant" : "SubgroupGtMask",
8918 "value" : 4418,
8919 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
8920 "version" : "1.3"
8921 },
8922 {
8923 "enumerant" : "SubgroupLeMask",
8924 "value" : 4419,
8925 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
8926 "version" : "1.3"
8927 },
8928 {
8929 "enumerant" : "SubgroupLtMask",
8930 "value" : 4420,
8931 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
8932 "version" : "1.3"
8933 },
8934 {
8935 "enumerant" : "SubgroupEqMaskKHR",
8936 "value" : 4416,
8937 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
8938 "extensions" : [ "SPV_KHR_shader_ballot" ],
8939 "version" : "1.3"
8940 },
8941 {
8942 "enumerant" : "SubgroupGeMaskKHR",
8943 "value" : 4417,
8944 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
8945 "extensions" : [ "SPV_KHR_shader_ballot" ],
8946 "version" : "1.3"
8947 },
8948 {
8949 "enumerant" : "SubgroupGtMaskKHR",
8950 "value" : 4418,
8951 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
8952 "extensions" : [ "SPV_KHR_shader_ballot" ],
8953 "version" : "1.3"
8954 },
8955 {
8956 "enumerant" : "SubgroupLeMaskKHR",
8957 "value" : 4419,
8958 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
8959 "extensions" : [ "SPV_KHR_shader_ballot" ],
8960 "version" : "1.3"
8961 },
8962 {
8963 "enumerant" : "SubgroupLtMaskKHR",
8964 "value" : 4420,
8965 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
8966 "extensions" : [ "SPV_KHR_shader_ballot" ],
8967 "version" : "1.3"
8968 },
8969 {
8970 "enumerant" : "BaseVertex",
8971 "value" : 4424,
8972 "capabilities" : [ "DrawParameters" ],
8973 "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
8974 "version" : "1.3"
8975 },
8976 {
8977 "enumerant" : "BaseInstance",
8978 "value" : 4425,
8979 "capabilities" : [ "DrawParameters" ],
8980 "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
8981 "version" : "1.3"
8982 },
8983 {
8984 "enumerant" : "DrawIndex",
8985 "value" : 4426,
8986 "capabilities" : [ "DrawParameters", "MeshShadingNV" ],
8987 "extensions" : [ "SPV_KHR_shader_draw_parameters", "SPV_NV_mesh_shader" ],
8988 "version" : "1.3"
8989 },
8990 {
8991 "enumerant" : "DeviceIndex",
8992 "value" : 4438,
8993 "capabilities" : [ "DeviceGroup" ],
8994 "extensions" : [ "SPV_KHR_device_group" ],
8995 "version" : "1.3"
8996 },
8997 {
8998 "enumerant" : "ViewIndex",
8999 "value" : 4440,
9000 "capabilities" : [ "MultiView" ],
9001 "extensions" : [ "SPV_KHR_multiview" ],
9002 "version" : "1.3"
9003 },
9004 {
9005 "enumerant" : "BaryCoordNoPerspAMD",
9006 "value" : 4992,
9007 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
9008 "version" : "None"
9009 },
9010 {
9011 "enumerant" : "BaryCoordNoPerspCentroidAMD",
9012 "value" : 4993,
9013 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
9014 "version" : "None"
9015 },
9016 {
9017 "enumerant" : "BaryCoordNoPerspSampleAMD",
9018 "value" : 4994,
9019 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
9020 "version" : "None"
9021 },
9022 {
9023 "enumerant" : "BaryCoordSmoothAMD",
9024 "value" : 4995,
9025 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
9026 "version" : "None"
9027 },
9028 {
9029 "enumerant" : "BaryCoordSmoothCentroidAMD",
9030 "value" : 4996,
9031 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
9032 "version" : "None"
9033 },
9034 {
9035 "enumerant" : "BaryCoordSmoothSampleAMD",
9036 "value" : 4997,
9037 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
9038 "version" : "None"
9039 },
9040 {
9041 "enumerant" : "BaryCoordPullModelAMD",
9042 "value" : 4998,
9043 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
9044 "version" : "None"
9045 },
9046 {
9047 "enumerant" : "FragStencilRefEXT",
9048 "value" : 5014,
9049 "capabilities" : [ "StencilExportEXT" ],
9050 "extensions" : [ "SPV_EXT_shader_stencil_export" ],
9051 "version" : "None"
9052 },
9053 {
9054 "enumerant" : "ViewportMaskNV",
9055 "value" : 5253,
9056 "capabilities" : [ "ShaderViewportMaskNV", "MeshShadingNV" ],
9057 "extensions" : [ "SPV_NV_viewport_array2", "SPV_NV_mesh_shader" ],
9058 "version" : "None"
9059 },
9060 {
9061 "enumerant" : "SecondaryPositionNV",
9062 "value" : 5257,
9063 "capabilities" : [ "ShaderStereoViewNV" ],
9064 "extensions" : [ "SPV_NV_stereo_view_rendering" ],
9065 "version" : "None"
9066 },
9067 {
9068 "enumerant" : "SecondaryViewportMaskNV",
9069 "value" : 5258,
9070 "capabilities" : [ "ShaderStereoViewNV" ],
9071 "extensions" : [ "SPV_NV_stereo_view_rendering" ],
9072 "version" : "None"
9073 },
9074 {
9075 "enumerant" : "PositionPerViewNV",
9076 "value" : 5261,
9077 "capabilities" : [ "PerViewAttributesNV", "MeshShadingNV" ],
9078 "extensions" : [ "SPV_NVX_multiview_per_view_attributes", "SPV_NV_mesh_shader" ],
9079 "version" : "None"
9080 },
9081 {
9082 "enumerant" : "ViewportMaskPerViewNV",
9083 "value" : 5262,
9084 "capabilities" : [ "PerViewAttributesNV", "MeshShadingNV" ],
9085 "extensions" : [ "SPV_NVX_multiview_per_view_attributes", "SPV_NV_mesh_shader" ],
9086 "version" : "None"
9087 },
9088 {
9089 "enumerant" : "FullyCoveredEXT",
9090 "value" : 5264,
9091 "capabilities" : [ "FragmentFullyCoveredEXT" ],
9092 "extensions" : [ "SPV_EXT_fragment_fully_covered" ],
9093 "version" : "None"
9094 },
9095 {
9096 "enumerant" : "TaskCountNV",
9097 "value" : 5274,
9098 "capabilities" : [ "MeshShadingNV" ],
9099 "extensions" : [ "SPV_NV_mesh_shader" ],
9100 "version" : "None"
9101 },
9102 {
9103 "enumerant" : "PrimitiveCountNV",
9104 "value" : 5275,
9105 "capabilities" : [ "MeshShadingNV" ],
9106 "extensions" : [ "SPV_NV_mesh_shader" ],
9107 "version" : "None"
9108 },
9109 {
9110 "enumerant" : "PrimitiveIndicesNV",
9111 "value" : 5276,
9112 "capabilities" : [ "MeshShadingNV" ],
9113 "extensions" : [ "SPV_NV_mesh_shader" ],
9114 "version" : "None"
9115 },
9116 {
9117 "enumerant" : "ClipDistancePerViewNV",
9118 "value" : 5277,
9119 "capabilities" : [ "MeshShadingNV" ],
9120 "extensions" : [ "SPV_NV_mesh_shader" ],
9121 "version" : "None"
9122 },
9123 {
9124 "enumerant" : "CullDistancePerViewNV",
9125 "value" : 5278,
9126 "capabilities" : [ "MeshShadingNV" ],
9127 "extensions" : [ "SPV_NV_mesh_shader" ],
9128 "version" : "None"
9129 },
9130 {
9131 "enumerant" : "LayerPerViewNV",
9132 "value" : 5279,
9133 "capabilities" : [ "MeshShadingNV" ],
9134 "extensions" : [ "SPV_NV_mesh_shader" ],
9135 "version" : "None"
9136 },
9137 {
9138 "enumerant" : "MeshViewCountNV",
9139 "value" : 5280,
9140 "capabilities" : [ "MeshShadingNV" ],
9141 "extensions" : [ "SPV_NV_mesh_shader" ],
9142 "version" : "None"
9143 },
9144 {
9145 "enumerant" : "MeshViewIndicesNV",
9146 "value" : 5281,
9147 "capabilities" : [ "MeshShadingNV" ],
9148 "extensions" : [ "SPV_NV_mesh_shader" ],
9149 "version" : "None"
9150 },
9151 {
9152 "enumerant" : "BaryCoordNV",
9153 "value" : 5286,
9154 "capabilities" : [ "FragmentBarycentricNV" ],
9155 "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
9156 "version" : "None"
9157 },
9158 {
9159 "enumerant" : "BaryCoordNoPerspNV",
9160 "value" : 5287,
9161 "capabilities" : [ "FragmentBarycentricNV" ],
9162 "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
9163 "version" : "None"
9164 },
9165 {
9166 "enumerant" : "FragSizeEXT",
9167 "value" : 5292 ,
9168 "capabilities" : [ "FragmentDensityEXT", "ShadingRateNV" ],
9169 "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
9170 "version" : "None"
9171 },
9172 {
9173 "enumerant" : "FragmentSizeNV",
9174 "value" : 5292 ,
9175 "capabilities" : [ "ShadingRateNV", "FragmentDensityEXT" ],
9176 "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
9177 "version" : "None"
9178 },
9179 {
9180 "enumerant" : "FragInvocationCountEXT",
9181 "value" : 5293,
9182 "capabilities" : [ "FragmentDensityEXT", "ShadingRateNV" ],
9183 "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
9184 "version" : "None"
9185 },
9186 {
9187 "enumerant" : "InvocationsPerPixelNV",
9188 "value" : 5293,
9189 "capabilities" : [ "ShadingRateNV", "FragmentDensityEXT" ],
9190 "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
9191 "version" : "None"
9192 },
9193 {
9194 "enumerant" : "LaunchIdNV",
9195 "value" : 5319,
9196 "capabilities" : [ "RayTracingNV" ],
9197 "extensions" : [ "SPV_NV_ray_tracing" ],
9198 "version" : "None"
9199 },
9200 {
9201 "enumerant" : "LaunchSizeNV",
9202 "value" : 5320,
9203 "capabilities" : [ "RayTracingNV" ],
9204 "extensions" : [ "SPV_NV_ray_tracing" ],
9205 "version" : "None"
9206 },
9207 {
9208 "enumerant" : "WorldRayOriginNV",
9209 "value" : 5321,
9210 "capabilities" : [ "RayTracingNV" ],
9211 "extensions" : [ "SPV_NV_ray_tracing" ],
9212 "version" : "None"
9213 },
9214 {
9215 "enumerant" : "WorldRayDirectionNV",
9216 "value" : 5322,
9217 "capabilities" : [ "RayTracingNV" ],
9218 "extensions" : [ "SPV_NV_ray_tracing" ],
9219 "version" : "None"
9220 },
9221 {
9222 "enumerant" : "ObjectRayOriginNV",
9223 "value" : 5323,
9224 "capabilities" : [ "RayTracingNV" ],
9225 "extensions" : [ "SPV_NV_ray_tracing" ],
9226 "version" : "None"
9227 },
9228 {
9229 "enumerant" : "ObjectRayDirectionNV",
9230 "value" : 5324,
9231 "capabilities" : [ "RayTracingNV" ],
9232 "extensions" : [ "SPV_NV_ray_tracing" ],
9233 "version" : "None"
9234 },
9235 {
9236 "enumerant" : "RayTminNV",
9237 "value" : 5325,
9238 "capabilities" : [ "RayTracingNV" ],
9239 "extensions" : [ "SPV_NV_ray_tracing" ],
9240 "version" : "None"
9241 },
9242 {
9243 "enumerant" : "RayTmaxNV",
9244 "value" : 5326,
9245 "capabilities" : [ "RayTracingNV" ],
9246 "extensions" : [ "SPV_NV_ray_tracing" ],
9247 "version" : "None"
9248 },
9249 {
9250 "enumerant" : "InstanceCustomIndexNV",
9251 "value" : 5327,
9252 "capabilities" : [ "RayTracingNV" ],
9253 "extensions" : [ "SPV_NV_ray_tracing" ],
9254 "version" : "None"
9255 },
9256 {
9257 "enumerant" : "ObjectToWorldNV",
9258 "value" : 5330,
9259 "capabilities" : [ "RayTracingNV" ],
9260 "extensions" : [ "SPV_NV_ray_tracing" ],
9261 "version" : "None"
9262 },
9263 {
9264 "enumerant" : "WorldToObjectNV",
9265 "value" : 5331,
9266 "capabilities" : [ "RayTracingNV" ],
9267 "extensions" : [ "SPV_NV_ray_tracing" ],
9268 "version" : "None"
9269 },
9270 {
9271 "enumerant" : "HitTNV",
9272 "value" : 5332,
9273 "capabilities" : [ "RayTracingNV" ],
9274 "extensions" : [ "SPV_NV_ray_tracing" ],
9275 "version" : "None"
9276 },
9277 {
9278 "enumerant" : "HitKindNV",
9279 "value" : 5333,
9280 "capabilities" : [ "RayTracingNV" ],
9281 "extensions" : [ "SPV_NV_ray_tracing" ],
9282 "version" : "None"
9283 },
9284 {
9285 "enumerant" : "IncomingRayFlagsNV",
9286 "value" : 5351,
9287 "capabilities" : [ "RayTracingNV" ],
9288 "extensions" : [ "SPV_NV_ray_tracing" ],
9289 "version" : "None"
9290 },
9291 {
9292 "enumerant" : "WarpsPerSMNV",
9293 "value" : 5374,
9294 "capabilities" : [ "ShaderSMBuiltinsNV" ],
9295 "extensions" : [ "SPV_NV_shader_sm_builtins" ],
9296 "version" : "None"
9297 },
9298 {
9299 "enumerant" : "SMCountNV",
9300 "value" : 5375,
9301 "capabilities" : [ "ShaderSMBuiltinsNV" ],
9302 "extensions" : [ "SPV_NV_shader_sm_builtins" ],
9303 "version" : "None"
9304 },
9305 {
9306 "enumerant" : "WarpIDNV",
9307 "value" : 5376,
9308 "capabilities" : [ "ShaderSMBuiltinsNV" ],
9309 "extensions" : [ "SPV_NV_shader_sm_builtins" ],
9310 "version" : "None"
9311 },
9312 {
9313 "enumerant" : "SMIDNV",
9314 "value" : 5377,
9315 "capabilities" : [ "ShaderSMBuiltinsNV" ],
9316 "extensions" : [ "SPV_NV_shader_sm_builtins" ],
9317 "version" : "None"
9318 }
9319 ]
9320 },
9321 {
9322 "category" : "ValueEnum",
9323 "kind" : "Scope",
9324 "enumerants" : [
9325 {
9326 "enumerant" : "CrossDevice",
9327 "value" : 0
9328 },
9329 {
9330 "enumerant" : "Device",
9331 "value" : 1
9332 },
9333 {
9334 "enumerant" : "Workgroup",
9335 "value" : 2
9336 },
9337 {
9338 "enumerant" : "Subgroup",
9339 "value" : 3
9340 },
9341 {
9342 "enumerant" : "Invocation",
9343 "value" : 4
9344 },
9345 {
9346 "enumerant" : "QueueFamily",
9347 "value" : 5,
9348 "capabilities" : [ "VulkanMemoryModel" ],
9349 "version" : "1.5"
9350 },
9351 {
9352 "enumerant" : "QueueFamilyKHR",
9353 "value" : 5,
9354 "capabilities" : [ "VulkanMemoryModel" ],
9355 "version" : "1.5"
9356 }
9357 ]
9358 },
9359 {
9360 "category" : "ValueEnum",
9361 "kind" : "GroupOperation",
9362 "enumerants" : [
9363 {
9364 "enumerant" : "Reduce",
9365 "value" : 0,
9366 "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
9367 },
9368 {
9369 "enumerant" : "InclusiveScan",
9370 "value" : 1,
9371 "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
9372 },
9373 {
9374 "enumerant" : "ExclusiveScan",
9375 "value" : 2,
9376 "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
9377 },
9378 {
9379 "enumerant" : "ClusteredReduce",
9380 "value" : 3,
9381 "capabilities" : [ "GroupNonUniformClustered" ],
9382 "version" : "1.3"
9383 },
9384 {
9385 "enumerant" : "PartitionedReduceNV",
9386 "value" : 6,
9387 "capabilities" : [ "GroupNonUniformPartitionedNV" ],
9388 "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
9389 "version" : "None"
9390 },
9391 {
9392 "enumerant" : "PartitionedInclusiveScanNV",
9393 "value" : 7,
9394 "capabilities" : [ "GroupNonUniformPartitionedNV" ],
9395 "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
9396 "version" : "None"
9397 },
9398 {
9399 "enumerant" : "PartitionedExclusiveScanNV",
9400 "value" : 8,
9401 "capabilities" : [ "GroupNonUniformPartitionedNV" ],
9402 "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
9403 "version" : "None"
9404 }
9405 ]
9406 },
9407 {
9408 "category" : "ValueEnum",
9409 "kind" : "KernelEnqueueFlags",
9410 "enumerants" : [
9411 {
9412 "enumerant" : "NoWait",
9413 "value" : 0,
9414 "capabilities" : [ "Kernel" ]
9415 },
9416 {
9417 "enumerant" : "WaitKernel",
9418 "value" : 1,
9419 "capabilities" : [ "Kernel" ]
9420 },
9421 {
9422 "enumerant" : "WaitWorkGroup",
9423 "value" : 2,
9424 "capabilities" : [ "Kernel" ]
9425 }
9426 ]
9427 },
9428 {
9429 "category" : "ValueEnum",
9430 "kind" : "Capability",
9431 "enumerants" : [
9432 {
9433 "enumerant" : "Matrix",
9434 "value" : 0
9435 },
9436 {
9437 "enumerant" : "Shader",
9438 "value" : 1,
9439 "capabilities" : [ "Matrix" ]
9440 },
9441 {
9442 "enumerant" : "Geometry",
9443 "value" : 2,
9444 "capabilities" : [ "Shader" ]
9445 },
9446 {
9447 "enumerant" : "Tessellation",
9448 "value" : 3,
9449 "capabilities" : [ "Shader" ]
9450 },
9451 {
9452 "enumerant" : "Addresses",
9453 "value" : 4
9454 },
9455 {
9456 "enumerant" : "Linkage",
9457 "value" : 5
9458 },
9459 {
9460 "enumerant" : "Kernel",
9461 "value" : 6
9462 },
9463 {
9464 "enumerant" : "Vector16",
9465 "value" : 7,
9466 "capabilities" : [ "Kernel" ]
9467 },
9468 {
9469 "enumerant" : "Float16Buffer",
9470 "value" : 8,
9471 "capabilities" : [ "Kernel" ]
9472 },
9473 {
9474 "enumerant" : "Float16",
9475 "value" : 9
9476 },
9477 {
9478 "enumerant" : "Float64",
9479 "value" : 10
9480 },
9481 {
9482 "enumerant" : "Int64",
9483 "value" : 11
9484 },
9485 {
9486 "enumerant" : "Int64Atomics",
9487 "value" : 12,
9488 "capabilities" : [ "Int64" ]
9489 },
9490 {
9491 "enumerant" : "ImageBasic",
9492 "value" : 13,
9493 "capabilities" : [ "Kernel" ]
9494 },
9495 {
9496 "enumerant" : "ImageReadWrite",
9497 "value" : 14,
9498 "capabilities" : [ "ImageBasic" ]
9499 },
9500 {
9501 "enumerant" : "ImageMipmap",
9502 "value" : 15,
9503 "capabilities" : [ "ImageBasic" ]
9504 },
9505 {
9506 "enumerant" : "Pipes",
9507 "value" : 17,
9508 "capabilities" : [ "Kernel" ]
9509 },
9510 {
9511 "enumerant" : "Groups",
9512 "value" : 18,
9513 "extensions" : [ "SPV_AMD_shader_ballot" ]
9514 },
9515 {
9516 "enumerant" : "DeviceEnqueue",
9517 "value" : 19,
9518 "capabilities" : [ "Kernel" ]
9519 },
9520 {
9521 "enumerant" : "LiteralSampler",
9522 "value" : 20,
9523 "capabilities" : [ "Kernel" ]
9524 },
9525 {
9526 "enumerant" : "AtomicStorage",
9527 "value" : 21,
9528 "capabilities" : [ "Shader" ]
9529 },
9530 {
9531 "enumerant" : "Int16",
9532 "value" : 22
9533 },
9534 {
9535 "enumerant" : "TessellationPointSize",
9536 "value" : 23,
9537 "capabilities" : [ "Tessellation" ]
9538 },
9539 {
9540 "enumerant" : "GeometryPointSize",
9541 "value" : 24,
9542 "capabilities" : [ "Geometry" ]
9543 },
9544 {
9545 "enumerant" : "ImageGatherExtended",
9546 "value" : 25,
9547 "capabilities" : [ "Shader" ]
9548 },
9549 {
9550 "enumerant" : "StorageImageMultisample",
9551 "value" : 27,
9552 "capabilities" : [ "Shader" ]
9553 },
9554 {
9555 "enumerant" : "UniformBufferArrayDynamicIndexing",
9556 "value" : 28,
9557 "capabilities" : [ "Shader" ]
9558 },
9559 {
9560 "enumerant" : "SampledImageArrayDynamicIndexing",
9561 "value" : 29,
9562 "capabilities" : [ "Shader" ]
9563 },
9564 {
9565 "enumerant" : "StorageBufferArrayDynamicIndexing",
9566 "value" : 30,
9567 "capabilities" : [ "Shader" ]
9568 },
9569 {
9570 "enumerant" : "StorageImageArrayDynamicIndexing",
9571 "value" : 31,
9572 "capabilities" : [ "Shader" ]
9573 },
9574 {
9575 "enumerant" : "ClipDistance",
9576 "value" : 32,
9577 "capabilities" : [ "Shader" ]
9578 },
9579 {
9580 "enumerant" : "CullDistance",
9581 "value" : 33,
9582 "capabilities" : [ "Shader" ]
9583 },
9584 {
9585 "enumerant" : "ImageCubeArray",
9586 "value" : 34,
9587 "capabilities" : [ "SampledCubeArray" ]
9588 },
9589 {
9590 "enumerant" : "SampleRateShading",
9591 "value" : 35,
9592 "capabilities" : [ "Shader" ]
9593 },
9594 {
9595 "enumerant" : "ImageRect",
9596 "value" : 36,
9597 "capabilities" : [ "SampledRect" ]
9598 },
9599 {
9600 "enumerant" : "SampledRect",
9601 "value" : 37,
9602 "capabilities" : [ "Shader" ]
9603 },
9604 {
9605 "enumerant" : "GenericPointer",
9606 "value" : 38,
9607 "capabilities" : [ "Addresses" ]
9608 },
9609 {
9610 "enumerant" : "Int8",
9611 "value" : 39
9612 },
9613 {
9614 "enumerant" : "InputAttachment",
9615 "value" : 40,
9616 "capabilities" : [ "Shader" ]
9617 },
9618 {
9619 "enumerant" : "SparseResidency",
9620 "value" : 41,
9621 "capabilities" : [ "Shader" ]
9622 },
9623 {
9624 "enumerant" : "MinLod",
9625 "value" : 42,
9626 "capabilities" : [ "Shader" ]
9627 },
9628 {
9629 "enumerant" : "Sampled1D",
9630 "value" : 43
9631 },
9632 {
9633 "enumerant" : "Image1D",
9634 "value" : 44,
9635 "capabilities" : [ "Sampled1D" ]
9636 },
9637 {
9638 "enumerant" : "SampledCubeArray",
9639 "value" : 45,
9640 "capabilities" : [ "Shader" ]
9641 },
9642 {
9643 "enumerant" : "SampledBuffer",
9644 "value" : 46
9645 },
9646 {
9647 "enumerant" : "ImageBuffer",
9648 "value" : 47,
9649 "capabilities" : [ "SampledBuffer" ]
9650 },
9651 {
9652 "enumerant" : "ImageMSArray",
9653 "value" : 48,
9654 "capabilities" : [ "Shader" ]
9655 },
9656 {
9657 "enumerant" : "StorageImageExtendedFormats",
9658 "value" : 49,
9659 "capabilities" : [ "Shader" ]
9660 },
9661 {
9662 "enumerant" : "ImageQuery",
9663 "value" : 50,
9664 "capabilities" : [ "Shader" ]
9665 },
9666 {
9667 "enumerant" : "DerivativeControl",
9668 "value" : 51,
9669 "capabilities" : [ "Shader" ]
9670 },
9671 {
9672 "enumerant" : "InterpolationFunction",
9673 "value" : 52,
9674 "capabilities" : [ "Shader" ]
9675 },
9676 {
9677 "enumerant" : "TransformFeedback",
9678 "value" : 53,
9679 "capabilities" : [ "Shader" ]
9680 },
9681 {
9682 "enumerant" : "GeometryStreams",
9683 "value" : 54,
9684 "capabilities" : [ "Geometry" ]
9685 },
9686 {
9687 "enumerant" : "StorageImageReadWithoutFormat",
9688 "value" : 55,
9689 "capabilities" : [ "Shader" ]
9690 },
9691 {
9692 "enumerant" : "StorageImageWriteWithoutFormat",
9693 "value" : 56,
9694 "capabilities" : [ "Shader" ]
9695 },
9696 {
9697 "enumerant" : "MultiViewport",
9698 "value" : 57,
9699 "capabilities" : [ "Geometry" ]
9700 },
9701 {
9702 "enumerant" : "SubgroupDispatch",
9703 "value" : 58,
9704 "capabilities" : [ "DeviceEnqueue" ],
9705 "version" : "1.1"
9706 },
9707 {
9708 "enumerant" : "NamedBarrier",
9709 "value" : 59,
9710 "capabilities" : [ "Kernel" ],
9711 "version" : "1.1"
9712 },
9713 {
9714 "enumerant" : "PipeStorage",
9715 "value" : 60,
9716 "capabilities" : [ "Pipes" ],
9717 "version" : "1.1"
9718 },
9719 {
9720 "enumerant" : "GroupNonUniform",
9721 "value" : 61,
9722 "version" : "1.3"
9723 },
9724 {
9725 "enumerant" : "GroupNonUniformVote",
9726 "value" : 62,
9727 "capabilities" : [ "GroupNonUniform" ],
9728 "version" : "1.3"
9729 },
9730 {
9731 "enumerant" : "GroupNonUniformArithmetic",
9732 "value" : 63,
9733 "capabilities" : [ "GroupNonUniform" ],
9734 "version" : "1.3"
9735 },
9736 {
9737 "enumerant" : "GroupNonUniformBallot",
9738 "value" : 64,
9739 "capabilities" : [ "GroupNonUniform" ],
9740 "version" : "1.3"
9741 },
9742 {
9743 "enumerant" : "GroupNonUniformShuffle",
9744 "value" : 65,
9745 "capabilities" : [ "GroupNonUniform" ],
9746 "version" : "1.3"
9747 },
9748 {
9749 "enumerant" : "GroupNonUniformShuffleRelative",
9750 "value" : 66,
9751 "capabilities" : [ "GroupNonUniform" ],
9752 "version" : "1.3"
9753 },
9754 {
9755 "enumerant" : "GroupNonUniformClustered",
9756 "value" : 67,
9757 "capabilities" : [ "GroupNonUniform" ],
9758 "version" : "1.3"
9759 },
9760 {
9761 "enumerant" : "GroupNonUniformQuad",
9762 "value" : 68,
9763 "capabilities" : [ "GroupNonUniform" ],
9764 "version" : "1.3"
9765 },
9766 {
9767 "enumerant" : "ShaderLayer",
9768 "value" : 69,
9769 "version" : "1.5"
9770 },
9771 {
9772 "enumerant" : "ShaderViewportIndex",
9773 "value" : 70,
9774 "version" : "1.5"
9775 },
9776 {
9777 "enumerant" : "SubgroupBallotKHR",
9778 "value" : 4423,
9779 "extensions" : [ "SPV_KHR_shader_ballot" ],
9780 "version" : "None"
9781 },
9782 {
9783 "enumerant" : "DrawParameters",
9784 "value" : 4427,
9785 "capabilities" : [ "Shader" ],
9786 "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
9787 "version" : "1.3"
9788 },
9789 {
9790 "enumerant" : "SubgroupVoteKHR",
9791 "value" : 4431,
9792 "extensions" : [ "SPV_KHR_subgroup_vote" ],
9793 "version" : "None"
9794 },
9795 {
9796 "enumerant" : "StorageBuffer16BitAccess",
9797 "value" : 4433,
9798 "extensions" : [ "SPV_KHR_16bit_storage" ],
9799 "version" : "1.3"
9800 },
9801 {
9802 "enumerant" : "StorageUniformBufferBlock16",
9803 "value" : 4433,
9804 "extensions" : [ "SPV_KHR_16bit_storage" ],
9805 "version" : "1.3"
9806 },
9807 {
9808 "enumerant" : "UniformAndStorageBuffer16BitAccess",
9809 "value" : 4434,
9810 "capabilities" : [
9811 "StorageBuffer16BitAccess",
9812 "StorageUniformBufferBlock16"
9813 ],
9814 "extensions" : [ "SPV_KHR_16bit_storage" ],
9815 "version" : "1.3"
9816 },
9817 {
9818 "enumerant" : "StorageUniform16",
9819 "value" : 4434,
9820 "capabilities" : [
9821 "StorageBuffer16BitAccess",
9822 "StorageUniformBufferBlock16"
9823 ],
9824 "extensions" : [ "SPV_KHR_16bit_storage" ],
9825 "version" : "1.3"
9826 },
9827 {
9828 "enumerant" : "StoragePushConstant16",
9829 "value" : 4435,
9830 "extensions" : [ "SPV_KHR_16bit_storage" ],
9831 "version" : "1.3"
9832 },
9833 {
9834 "enumerant" : "StorageInputOutput16",
9835 "value" : 4436,
9836 "extensions" : [ "SPV_KHR_16bit_storage" ],
9837 "version" : "1.3"
9838 },
9839 {
9840 "enumerant" : "DeviceGroup",
9841 "value" : 4437,
9842 "extensions" : [ "SPV_KHR_device_group" ],
9843 "version" : "1.3"
9844 },
9845 {
9846 "enumerant" : "MultiView",
9847 "value" : 4439,
9848 "capabilities" : [ "Shader" ],
9849 "extensions" : [ "SPV_KHR_multiview" ],
9850 "version" : "1.3"
9851 },
9852 {
9853 "enumerant" : "VariablePointersStorageBuffer",
9854 "value" : 4441,
9855 "capabilities" : [ "Shader" ],
9856 "extensions" : [ "SPV_KHR_variable_pointers" ],
9857 "version" : "1.3"
9858 },
9859 {
9860 "enumerant" : "VariablePointers",
9861 "value" : 4442,
9862 "capabilities" : [ "VariablePointersStorageBuffer" ],
9863 "extensions" : [ "SPV_KHR_variable_pointers" ],
9864 "version" : "1.3"
9865 },
9866 {
9867 "enumerant" : "AtomicStorageOps",
9868 "value" : 4445,
9869 "extensions" : [ "SPV_KHR_shader_atomic_counter_ops" ],
9870 "version" : "None"
9871 },
9872 {
9873 "enumerant" : "SampleMaskPostDepthCoverage",
9874 "value" : 4447,
9875 "extensions" : [ "SPV_KHR_post_depth_coverage" ],
9876 "version" : "None"
9877 },
9878 {
9879 "enumerant" : "StorageBuffer8BitAccess",
9880 "value" : 4448,
9881 "extensions" : [ "SPV_KHR_8bit_storage" ],
9882 "version" : "1.5"
9883 },
9884 {
9885 "enumerant" : "UniformAndStorageBuffer8BitAccess",
9886 "value" : 4449,
9887 "capabilities" : [ "StorageBuffer8BitAccess" ],
9888 "extensions" : [ "SPV_KHR_8bit_storage" ],
9889 "version" : "1.5"
9890 },
9891 {
9892 "enumerant" : "StoragePushConstant8",
9893 "value" : 4450,
9894 "extensions" : [ "SPV_KHR_8bit_storage" ],
9895 "version" : "1.5"
9896 },
9897 {
9898 "enumerant" : "DenormPreserve",
9899 "value" : 4464,
9900 "extensions" : [ "SPV_KHR_float_controls" ],
9901 "version" : "1.4"
9902 },
9903 {
9904 "enumerant" : "DenormFlushToZero",
9905 "value" : 4465,
9906 "extensions" : [ "SPV_KHR_float_controls" ],
9907 "version" : "1.4"
9908 },
9909 {
9910 "enumerant" : "SignedZeroInfNanPreserve",
9911 "value" : 4466,
9912 "extensions" : [ "SPV_KHR_float_controls" ],
9913 "version" : "1.4"
9914 },
9915 {
9916 "enumerant" : "RoundingModeRTE",
9917 "value" : 4467,
9918 "extensions" : [ "SPV_KHR_float_controls" ],
9919 "version" : "1.4"
9920 },
9921 {
9922 "enumerant" : "RoundingModeRTZ",
9923 "value" : 4468,
9924 "extensions" : [ "SPV_KHR_float_controls" ],
9925 "version" : "1.4"
9926 },
9927 {
9928 "enumerant" : "Float16ImageAMD",
9929 "value" : 5008,
9930 "capabilities" : [ "Shader" ],
9931 "extensions" : [ "SPV_AMD_gpu_shader_half_float_fetch" ],
9932 "version" : "None"
9933 },
9934 {
9935 "enumerant" : "ImageGatherBiasLodAMD",
9936 "value" : 5009,
9937 "capabilities" : [ "Shader" ],
9938 "extensions" : [ "SPV_AMD_texture_gather_bias_lod" ],
9939 "version" : "None"
9940 },
9941 {
9942 "enumerant" : "FragmentMaskAMD",
9943 "value" : 5010,
9944 "capabilities" : [ "Shader" ],
9945 "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
9946 "version" : "None"
9947 },
9948 {
9949 "enumerant" : "StencilExportEXT",
9950 "value" : 5013,
9951 "capabilities" : [ "Shader" ],
9952 "extensions" : [ "SPV_EXT_shader_stencil_export" ],
9953 "version" : "None"
9954 },
9955 {
9956 "enumerant" : "ImageReadWriteLodAMD",
9957 "value" : 5015,
9958 "capabilities" : [ "Shader" ],
9959 "extensions" : [ "SPV_AMD_shader_image_load_store_lod" ],
9960 "version" : "None"
9961 },
9962 {
9963 "enumerant" : "ShaderClockKHR",
9964 "value" : 5055,
9965 "capabilities" : [ "Shader" ],
9966 "extensions" : [ "SPV_KHR_shader_clock" ],
9967 "version" : "None"
9968 },
9969 {
9970 "enumerant" : "SampleMaskOverrideCoverageNV",
9971 "value" : 5249,
9972 "capabilities" : [ "SampleRateShading" ],
9973 "extensions" : [ "SPV_NV_sample_mask_override_coverage" ],
9974 "version" : "None"
9975 },
9976 {
9977 "enumerant" : "GeometryShaderPassthroughNV",
9978 "value" : 5251,
9979 "capabilities" : [ "Geometry" ],
9980 "extensions" : [ "SPV_NV_geometry_shader_passthrough" ],
9981 "version" : "None"
9982 },
9983 {
9984 "enumerant" : "ShaderViewportIndexLayerEXT",
9985 "value" : 5254,
9986 "capabilities" : [ "MultiViewport" ],
9987 "extensions" : [ "SPV_EXT_shader_viewport_index_layer" ],
9988 "version" : "None"
9989 },
9990 {
9991 "enumerant" : "ShaderViewportIndexLayerNV",
9992 "value" : 5254,
9993 "capabilities" : [ "MultiViewport" ],
9994 "extensions" : [ "SPV_NV_viewport_array2" ],
9995 "version" : "None"
9996 },
9997 {
9998 "enumerant" : "ShaderViewportMaskNV",
9999 "value" : 5255,
10000 "capabilities" : [ "ShaderViewportIndexLayerNV" ],
10001 "extensions" : [ "SPV_NV_viewport_array2" ],
10002 "version" : "None"
10003 },
10004 {
10005 "enumerant" : "ShaderStereoViewNV",
10006 "value" : 5259,
10007 "capabilities" : [ "ShaderViewportMaskNV" ],
10008 "extensions" : [ "SPV_NV_stereo_view_rendering" ],
10009 "version" : "None"
10010 },
10011 {
10012 "enumerant" : "PerViewAttributesNV",
10013 "value" : 5260,
10014 "capabilities" : [ "MultiView" ],
10015 "extensions" : [ "SPV_NVX_multiview_per_view_attributes" ],
10016 "version" : "None"
10017 },
10018 {
10019 "enumerant" : "FragmentFullyCoveredEXT",
10020 "value" : 5265,
10021 "capabilities" : [ "Shader" ],
10022 "extensions" : [ "SPV_EXT_fragment_fully_covered" ],
10023 "version" : "None"
10024 },
10025 {
10026 "enumerant" : "MeshShadingNV",
10027 "value" : 5266,
10028 "capabilities" : [ "Shader" ],
10029 "extensions" : [ "SPV_NV_mesh_shader" ],
10030 "version" : "None"
10031 },
10032 {
10033 "enumerant" : "ImageFootprintNV",
10034 "value" : 5282,
10035 "extensions" : [ "SPV_NV_shader_image_footprint" ],
10036 "version" : "None"
10037 },
10038 {
10039 "enumerant" : "FragmentBarycentricNV",
10040 "value" : 5284,
10041 "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
10042 "version" : "None"
10043 },
10044 {
10045 "enumerant" : "ComputeDerivativeGroupQuadsNV",
10046 "value" : 5288,
10047 "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
10048 "version" : "None"
10049 },
10050 {
10051 "enumerant" : "FragmentDensityEXT",
10052 "value" : 5291,
10053 "capabilities" : [ "Shader" ],
10054 "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
10055 "version" : "None"
10056 },
10057 {
10058 "enumerant" : "ShadingRateNV",
10059 "value" : 5291,
10060 "capabilities" : [ "Shader" ],
10061 "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
10062 "version" : "None"
10063 },
10064 {
10065 "enumerant" : "GroupNonUniformPartitionedNV",
10066 "value" : 5297,
10067 "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
10068 "version" : "None"
10069 },
10070 {
10071 "enumerant" : "ShaderNonUniform",
10072 "value" : 5301,
10073 "capabilities" : [ "Shader" ],
10074 "version" : "1.5"
10075 },
10076 {
10077 "enumerant" : "ShaderNonUniformEXT",
10078 "value" : 5301,
10079 "capabilities" : [ "Shader" ],
10080 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
10081 "version" : "1.5"
10082 },
10083 {
10084 "enumerant" : "RuntimeDescriptorArray",
10085 "value" : 5302,
10086 "capabilities" : [ "Shader" ],
10087 "version" : "1.5"
10088 },
10089 {
10090 "enumerant" : "RuntimeDescriptorArrayEXT",
10091 "value" : 5302,
10092 "capabilities" : [ "Shader" ],
10093 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
10094 "version" : "1.5"
10095 },
10096 {
10097 "enumerant" : "InputAttachmentArrayDynamicIndexing",
10098 "value" : 5303,
10099 "capabilities" : [ "InputAttachment" ],
10100 "version" : "1.5"
10101 },
10102 {
10103 "enumerant" : "InputAttachmentArrayDynamicIndexingEXT",
10104 "value" : 5303,
10105 "capabilities" : [ "InputAttachment" ],
10106 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
10107 "version" : "1.5"
10108 },
10109 {
10110 "enumerant" : "UniformTexelBufferArrayDynamicIndexing",
10111 "value" : 5304,
10112 "capabilities" : [ "SampledBuffer" ],
10113 "version" : "1.5"
10114 },
10115 {
10116 "enumerant" : "UniformTexelBufferArrayDynamicIndexingEXT",
10117 "value" : 5304,
10118 "capabilities" : [ "SampledBuffer" ],
10119 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
10120 "version" : "1.5"
10121 },
10122 {
10123 "enumerant" : "StorageTexelBufferArrayDynamicIndexing",
10124 "value" : 5305,
10125 "capabilities" : [ "ImageBuffer" ],
10126 "version" : "1.5"
10127 },
10128 {
10129 "enumerant" : "StorageTexelBufferArrayDynamicIndexingEXT",
10130 "value" : 5305,
10131 "capabilities" : [ "ImageBuffer" ],
10132 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
10133 "version" : "1.5"
10134 },
10135 {
10136 "enumerant" : "UniformBufferArrayNonUniformIndexing",
10137 "value" : 5306,
10138 "capabilities" : [ "ShaderNonUniform" ],
10139 "version" : "1.5"
10140 },
10141 {
10142 "enumerant" : "UniformBufferArrayNonUniformIndexingEXT",
10143 "value" : 5306,
10144 "capabilities" : [ "ShaderNonUniform" ],
10145 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
10146 "version" : "1.5"
10147 },
10148 {
10149 "enumerant" : "SampledImageArrayNonUniformIndexing",
10150 "value" : 5307,
10151 "capabilities" : [ "ShaderNonUniform" ],
10152 "version" : "1.5"
10153 },
10154 {
10155 "enumerant" : "SampledImageArrayNonUniformIndexingEXT",
10156 "value" : 5307,
10157 "capabilities" : [ "ShaderNonUniform" ],
10158 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
10159 "version" : "1.5"
10160 },
10161 {
10162 "enumerant" : "StorageBufferArrayNonUniformIndexing",
10163 "value" : 5308,
10164 "capabilities" : [ "ShaderNonUniform" ],
10165 "version" : "1.5"
10166 },
10167 {
10168 "enumerant" : "StorageBufferArrayNonUniformIndexingEXT",
10169 "value" : 5308,
10170 "capabilities" : [ "ShaderNonUniform" ],
10171 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
10172 "version" : "1.5"
10173 },
10174 {
10175 "enumerant" : "StorageImageArrayNonUniformIndexing",
10176 "value" : 5309,
10177 "capabilities" : [ "ShaderNonUniform" ],
10178 "version" : "1.5"
10179 },
10180 {
10181 "enumerant" : "StorageImageArrayNonUniformIndexingEXT",
10182 "value" : 5309,
10183 "capabilities" : [ "ShaderNonUniform" ],
10184 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
10185 "version" : "1.5"
10186 },
10187 {
10188 "enumerant" : "InputAttachmentArrayNonUniformIndexing",
10189 "value" : 5310,
10190 "capabilities" : [ "InputAttachment", "ShaderNonUniform" ],
10191 "version" : "1.5"
10192 },
10193 {
10194 "enumerant" : "InputAttachmentArrayNonUniformIndexingEXT",
10195 "value" : 5310,
10196 "capabilities" : [ "InputAttachment", "ShaderNonUniform" ],
10197 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
10198 "version" : "1.5"
10199 },
10200 {
10201 "enumerant" : "UniformTexelBufferArrayNonUniformIndexing",
10202 "value" : 5311,
10203 "capabilities" : [ "SampledBuffer", "ShaderNonUniform" ],
10204 "version" : "1.5"
10205 },
10206 {
10207 "enumerant" : "UniformTexelBufferArrayNonUniformIndexingEXT",
10208 "value" : 5311,
10209 "capabilities" : [ "SampledBuffer", "ShaderNonUniform" ],
10210 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
10211 "version" : "1.5"
10212 },
10213 {
10214 "enumerant" : "StorageTexelBufferArrayNonUniformIndexing",
10215 "value" : 5312,
10216 "capabilities" : [ "ImageBuffer", "ShaderNonUniform" ],
10217 "version" : "1.5"
10218 },
10219 {
10220 "enumerant" : "StorageTexelBufferArrayNonUniformIndexingEXT",
10221 "value" : 5312,
10222 "capabilities" : [ "ImageBuffer", "ShaderNonUniform" ],
10223 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
10224 "version" : "1.5"
10225 },
10226 {
10227 "enumerant" : "RayTracingNV",
10228 "value" : 5340,
10229 "capabilities" : [ "Shader" ],
10230 "extensions" : [ "SPV_NV_ray_tracing" ],
10231 "version" : "None"
10232 },
10233 {
10234 "enumerant" : "VulkanMemoryModel",
10235 "value" : 5345,
10236 "version" : "1.5"
10237 },
10238 {
10239 "enumerant" : "VulkanMemoryModelKHR",
10240 "value" : 5345,
10241 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
10242 "version" : "1.5"
10243 },
10244 {
10245 "enumerant" : "VulkanMemoryModelDeviceScope",
10246 "value" : 5346,
10247 "version" : "1.5"
10248 },
10249 {
10250 "enumerant" : "VulkanMemoryModelDeviceScopeKHR",
10251 "value" : 5346,
10252 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
10253 "version" : "1.5"
10254 },
10255 {
10256 "enumerant" : "PhysicalStorageBufferAddresses",
10257 "value" : 5347,
10258 "capabilities" : [ "Shader" ],
10259 "version" : "1.5"
10260 },
10261 {
10262 "enumerant" : "PhysicalStorageBufferAddressesEXT",
10263 "value" : 5347,
10264 "capabilities" : [ "Shader" ],
10265 "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
10266 "version" : "1.5"
10267 },
10268 {
10269 "enumerant" : "ComputeDerivativeGroupLinearNV",
10270 "value" : 5350,
10271 "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
10272 "version" : "None"
10273 },
10274 {
10275 "enumerant" : "CooperativeMatrixNV",
10276 "value" : 5357,
10277 "capabilities" : [ "Shader" ],
10278 "extensions" : [ "SPV_NV_cooperative_matrix" ],
10279 "version" : "None"
10280 },
10281 {
10282 "enumerant" : "FragmentShaderSampleInterlockEXT",
10283 "value" : 5363,
10284 "capabilities" : [ "Shader" ],
10285 "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
10286 "version" : "None"
10287 },
10288 {
10289 "enumerant" : "FragmentShaderShadingRateInterlockEXT",
10290 "value" : 5372,
10291 "capabilities" : [ "Shader" ],
10292 "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
10293 "version" : "None"
10294 },
10295 {
10296 "enumerant" : "ShaderSMBuiltinsNV",
10297 "value" : 5373,
10298 "capabilities" : [ "Shader" ],
10299 "extensions" : [ "SPV_NV_shader_sm_builtins" ],
10300 "version" : "None"
10301 },
10302 {
10303 "enumerant" : "FragmentShaderPixelInterlockEXT",
10304 "value" : 5378,
10305 "capabilities" : [ "Shader" ],
10306 "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
10307 "version" : "None"
10308 },
10309 {
10310 "enumerant" : "DemoteToHelperInvocationEXT",
10311 "value" : 5379,
10312 "capabilities" : [ "Shader" ],
10313 "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ],
10314 "version" : "None"
10315 },
10316 {
10317 "enumerant" : "SubgroupShuffleINTEL",
10318 "value" : 5568,
10319 "extensions" : [ "SPV_INTEL_subgroups" ],
10320 "version" : "None"
10321 },
10322 {
10323 "enumerant" : "SubgroupBufferBlockIOINTEL",
10324 "value" : 5569,
10325 "extensions" : [ "SPV_INTEL_subgroups" ],
10326 "version" : "None"
10327 },
10328 {
10329 "enumerant" : "SubgroupImageBlockIOINTEL",
10330 "value" : 5570,
10331 "extensions" : [ "SPV_INTEL_subgroups" ],
10332 "version" : "None"
10333 },
10334 {
10335 "enumerant" : "SubgroupImageMediaBlockIOINTEL",
10336 "value" : 5579,
10337 "extensions" : [ "SPV_INTEL_media_block_io" ],
10338 "version" : "None"
10339 },
10340 {
10341 "enumerant" : "IntegerFunctions2INTEL",
10342 "value" : 5584,
10343 "capabilities" : [ "Shader" ],
10344 "extensions" : [ "SPV_INTEL_shader_integer_functions2" ],
10345 "version" : "None"
10346 },
10347 {
10348 "enumerant" : "SubgroupAvcMotionEstimationINTEL",
10349 "value" : 5696,
10350 "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
10351 "version" : "None"
10352 },
10353 {
10354 "enumerant" : "SubgroupAvcMotionEstimationIntraINTEL",
10355 "value" : 5697,
10356 "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
10357 "version" : "None"
10358 },
10359 {
10360 "enumerant" : "SubgroupAvcMotionEstimationChromaINTEL",
10361 "value" : 5698,
10362 "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
10363 "version" : "None"
10364 }
10365 ]
10366 },
10367 {
10368 "category" : "Id",
10369 "kind" : "IdResultType",
10370 "doc" : "Reference to an <id> representing the result's type of the enclosing instruction"
10371 },
10372 {
10373 "category" : "Id",
10374 "kind" : "IdResult",
10375 "doc" : "Definition of an <id> representing the result of the enclosing instruction"
10376 },
10377 {
10378 "category" : "Id",
10379 "kind" : "IdMemorySemantics",
10380 "doc" : "Reference to an <id> representing a 32-bit integer that is a mask from the MemorySemantics operand kind"
10381 },
10382 {
10383 "category" : "Id",
10384 "kind" : "IdScope",
10385 "doc" : "Reference to an <id> representing a 32-bit integer that is a mask from the Scope operand kind"
10386 },
10387 {
10388 "category" : "Id",
10389 "kind" : "IdRef",
10390 "doc" : "Reference to an <id>"
10391 },
10392 {
10393 "category" : "Literal",
10394 "kind" : "LiteralInteger",
10395 "doc" : "An integer consuming one or more words"
10396 },
10397 {
10398 "category" : "Literal",
10399 "kind" : "LiteralString",
10400 "doc" : "A null-terminated stream of characters consuming an integral number of words"
10401 },
10402 {
10403 "category" : "Literal",
10404 "kind" : "LiteralContextDependentNumber",
10405 "doc" : "A literal number whose size and format are determined by a previous operand in the enclosing instruction"
10406 },
10407 {
10408 "category" : "Literal",
10409 "kind" : "LiteralExtInstInteger",
10410 "doc" : "A 32-bit unsigned integer indicating which instruction to use and determining the layout of following operands (for OpExtInst)"
10411 },
10412 {
10413 "category" : "Literal",
10414 "kind" : "LiteralSpecConstantOpInteger",
10415 "doc" : "An opcode indicating the operation to be performed and determining the layout of following operands (for OpSpecConstantOp)"
10416 },
10417 {
10418 "category" : "Composite",
10419 "kind" : "PairLiteralIntegerIdRef",
10420 "bases" : [ "LiteralInteger", "IdRef" ]
10421 },
10422 {
10423 "category" : "Composite",
10424 "kind" : "PairIdRefLiteralInteger",
10425 "bases" : [ "IdRef", "LiteralInteger" ]
10426 },
10427 {
10428 "category" : "Composite",
10429 "kind" : "PairIdRefIdRef",
10430 "bases" : [ "IdRef", "IdRef" ]
10431 }
10432 ]
10433 }