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