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