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" : 3, 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 ] 524 }, 525 { 526 "opname" : "OpCopyMemorySized", 527 "opcode" : 64, 528 "operands" : [ 529 { "kind" : "IdRef", "name" : "'Target'" }, 530 { "kind" : "IdRef", "name" : "'Source'" }, 531 { "kind" : "IdRef", "name" : "'Size'" }, 532 { "kind" : "MemoryAccess", "quantifier" : "?" } 533 ], 534 "capabilities" : [ "Addresses" ] 535 }, 536 { 537 "opname" : "OpAccessChain", 538 "opcode" : 65, 539 "operands" : [ 540 { "kind" : "IdResultType" }, 541 { "kind" : "IdResult" }, 542 { "kind" : "IdRef", "name" : "'Base'" }, 543 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" } 544 ] 545 }, 546 { 547 "opname" : "OpInBoundsAccessChain", 548 "opcode" : 66, 549 "operands" : [ 550 { "kind" : "IdResultType" }, 551 { "kind" : "IdResult" }, 552 { "kind" : "IdRef", "name" : "'Base'" }, 553 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" } 554 ] 555 }, 556 { 557 "opname" : "OpPtrAccessChain", 558 "opcode" : 67, 559 "operands" : [ 560 { "kind" : "IdResultType" }, 561 { "kind" : "IdResult" }, 562 { "kind" : "IdRef", "name" : "'Base'" }, 563 { "kind" : "IdRef", "name" : "'Element'" }, 564 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" } 565 ], 566 "capabilities" : [ 567 "Addresses", 568 "VariablePointers", 569 "VariablePointersStorageBuffer", 570 "PhysicalStorageBufferAddressesEXT" 571 ] 572 }, 573 { 574 "opname" : "OpArrayLength", 575 "opcode" : 68, 576 "operands" : [ 577 { "kind" : "IdResultType" }, 578 { "kind" : "IdResult" }, 579 { "kind" : "IdRef", "name" : "'Structure'" }, 580 { "kind" : "LiteralInteger", "name" : "'Array member'" } 581 ], 582 "capabilities" : [ "Shader" ] 583 }, 584 { 585 "opname" : "OpGenericPtrMemSemantics", 586 "opcode" : 69, 587 "operands" : [ 588 { "kind" : "IdResultType" }, 589 { "kind" : "IdResult" }, 590 { "kind" : "IdRef", "name" : "'Pointer'" } 591 ], 592 "capabilities" : [ "Kernel" ] 593 }, 594 { 595 "opname" : "OpInBoundsPtrAccessChain", 596 "opcode" : 70, 597 "operands" : [ 598 { "kind" : "IdResultType" }, 599 { "kind" : "IdResult" }, 600 { "kind" : "IdRef", "name" : "'Base'" }, 601 { "kind" : "IdRef", "name" : "'Element'" }, 602 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" } 603 ], 604 "capabilities" : [ "Addresses" ] 605 }, 606 { 607 "opname" : "OpDecorate", 608 "opcode" : 71, 609 "operands" : [ 610 { "kind" : "IdRef", "name" : "'Target'" }, 611 { "kind" : "Decoration" } 612 ] 613 }, 614 { 615 "opname" : "OpMemberDecorate", 616 "opcode" : 72, 617 "operands" : [ 618 { "kind" : "IdRef", "name" : "'Structure Type'" }, 619 { "kind" : "LiteralInteger", "name" : "'Member'" }, 620 { "kind" : "Decoration" } 621 ] 622 }, 623 { 624 "opname" : "OpDecorationGroup", 625 "opcode" : 73, 626 "operands" : [ 627 { "kind" : "IdResult" } 628 ] 629 }, 630 { 631 "opname" : "OpGroupDecorate", 632 "opcode" : 74, 633 "operands" : [ 634 { "kind" : "IdRef", "name" : "'Decoration Group'" }, 635 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Targets'" } 636 ] 637 }, 638 { 639 "opname" : "OpGroupMemberDecorate", 640 "opcode" : 75, 641 "operands" : [ 642 { "kind" : "IdRef", "name" : "'Decoration Group'" }, 643 { "kind" : "PairIdRefLiteralInteger", "quantifier" : "*", "name" : "'Targets'" } 644 ] 645 }, 646 { 647 "opname" : "OpVectorExtractDynamic", 648 "opcode" : 77, 649 "operands" : [ 650 { "kind" : "IdResultType" }, 651 { "kind" : "IdResult" }, 652 { "kind" : "IdRef", "name" : "'Vector'" }, 653 { "kind" : "IdRef", "name" : "'Index'" } 654 ] 655 }, 656 { 657 "opname" : "OpVectorInsertDynamic", 658 "opcode" : 78, 659 "operands" : [ 660 { "kind" : "IdResultType" }, 661 { "kind" : "IdResult" }, 662 { "kind" : "IdRef", "name" : "'Vector'" }, 663 { "kind" : "IdRef", "name" : "'Component'" }, 664 { "kind" : "IdRef", "name" : "'Index'" } 665 ] 666 }, 667 { 668 "opname" : "OpVectorShuffle", 669 "opcode" : 79, 670 "operands" : [ 671 { "kind" : "IdResultType" }, 672 { "kind" : "IdResult" }, 673 { "kind" : "IdRef", "name" : "'Vector 1'" }, 674 { "kind" : "IdRef", "name" : "'Vector 2'" }, 675 { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Components'" } 676 ] 677 }, 678 { 679 "opname" : "OpCompositeConstruct", 680 "opcode" : 80, 681 "operands" : [ 682 { "kind" : "IdResultType" }, 683 { "kind" : "IdResult" }, 684 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Constituents'" } 685 ] 686 }, 687 { 688 "opname" : "OpCompositeExtract", 689 "opcode" : 81, 690 "operands" : [ 691 { "kind" : "IdResultType" }, 692 { "kind" : "IdResult" }, 693 { "kind" : "IdRef", "name" : "'Composite'" }, 694 { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Indexes'" } 695 ] 696 }, 697 { 698 "opname" : "OpCompositeInsert", 699 "opcode" : 82, 700 "operands" : [ 701 { "kind" : "IdResultType" }, 702 { "kind" : "IdResult" }, 703 { "kind" : "IdRef", "name" : "'Object'" }, 704 { "kind" : "IdRef", "name" : "'Composite'" }, 705 { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Indexes'" } 706 ] 707 }, 708 { 709 "opname" : "OpCopyObject", 710 "opcode" : 83, 711 "operands" : [ 712 { "kind" : "IdResultType" }, 713 { "kind" : "IdResult" }, 714 { "kind" : "IdRef", "name" : "'Operand'" } 715 ] 716 }, 717 { 718 "opname" : "OpTranspose", 719 "opcode" : 84, 720 "operands" : [ 721 { "kind" : "IdResultType" }, 722 { "kind" : "IdResult" }, 723 { "kind" : "IdRef", "name" : "'Matrix'" } 724 ], 725 "capabilities" : [ "Matrix" ] 726 }, 727 { 728 "opname" : "OpSampledImage", 729 "opcode" : 86, 730 "operands" : [ 731 { "kind" : "IdResultType" }, 732 { "kind" : "IdResult" }, 733 { "kind" : "IdRef", "name" : "'Image'" }, 734 { "kind" : "IdRef", "name" : "'Sampler'" } 735 ] 736 }, 737 { 738 "opname" : "OpImageSampleImplicitLod", 739 "opcode" : 87, 740 "operands" : [ 741 { "kind" : "IdResultType" }, 742 { "kind" : "IdResult" }, 743 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 744 { "kind" : "IdRef", "name" : "'Coordinate'" }, 745 { "kind" : "ImageOperands", "quantifier" : "?" } 746 ], 747 "capabilities" : [ "Shader" ] 748 }, 749 { 750 "opname" : "OpImageSampleExplicitLod", 751 "opcode" : 88, 752 "operands" : [ 753 { "kind" : "IdResultType" }, 754 { "kind" : "IdResult" }, 755 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 756 { "kind" : "IdRef", "name" : "'Coordinate'" }, 757 { "kind" : "ImageOperands" } 758 ] 759 }, 760 { 761 "opname" : "OpImageSampleDrefImplicitLod", 762 "opcode" : 89, 763 "operands" : [ 764 { "kind" : "IdResultType" }, 765 { "kind" : "IdResult" }, 766 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 767 { "kind" : "IdRef", "name" : "'Coordinate'" }, 768 { "kind" : "IdRef", "name" : "'D~ref~'" }, 769 { "kind" : "ImageOperands", "quantifier" : "?" } 770 ], 771 "capabilities" : [ "Shader" ] 772 }, 773 { 774 "opname" : "OpImageSampleDrefExplicitLod", 775 "opcode" : 90, 776 "operands" : [ 777 { "kind" : "IdResultType" }, 778 { "kind" : "IdResult" }, 779 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 780 { "kind" : "IdRef", "name" : "'Coordinate'" }, 781 { "kind" : "IdRef", "name" : "'D~ref~'" }, 782 { "kind" : "ImageOperands" } 783 ], 784 "capabilities" : [ "Shader" ] 785 }, 786 { 787 "opname" : "OpImageSampleProjImplicitLod", 788 "opcode" : 91, 789 "operands" : [ 790 { "kind" : "IdResultType" }, 791 { "kind" : "IdResult" }, 792 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 793 { "kind" : "IdRef", "name" : "'Coordinate'" }, 794 { "kind" : "ImageOperands", "quantifier" : "?" } 795 ], 796 "capabilities" : [ "Shader" ] 797 }, 798 { 799 "opname" : "OpImageSampleProjExplicitLod", 800 "opcode" : 92, 801 "operands" : [ 802 { "kind" : "IdResultType" }, 803 { "kind" : "IdResult" }, 804 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 805 { "kind" : "IdRef", "name" : "'Coordinate'" }, 806 { "kind" : "ImageOperands" } 807 ], 808 "capabilities" : [ "Shader" ] 809 }, 810 { 811 "opname" : "OpImageSampleProjDrefImplicitLod", 812 "opcode" : 93, 813 "operands" : [ 814 { "kind" : "IdResultType" }, 815 { "kind" : "IdResult" }, 816 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 817 { "kind" : "IdRef", "name" : "'Coordinate'" }, 818 { "kind" : "IdRef", "name" : "'D~ref~'" }, 819 { "kind" : "ImageOperands", "quantifier" : "?" } 820 ], 821 "capabilities" : [ "Shader" ] 822 }, 823 { 824 "opname" : "OpImageSampleProjDrefExplicitLod", 825 "opcode" : 94, 826 "operands" : [ 827 { "kind" : "IdResultType" }, 828 { "kind" : "IdResult" }, 829 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 830 { "kind" : "IdRef", "name" : "'Coordinate'" }, 831 { "kind" : "IdRef", "name" : "'D~ref~'" }, 832 { "kind" : "ImageOperands" } 833 ], 834 "capabilities" : [ "Shader" ] 835 }, 836 { 837 "opname" : "OpImageFetch", 838 "opcode" : 95, 839 "operands" : [ 840 { "kind" : "IdResultType" }, 841 { "kind" : "IdResult" }, 842 { "kind" : "IdRef", "name" : "'Image'" }, 843 { "kind" : "IdRef", "name" : "'Coordinate'" }, 844 { "kind" : "ImageOperands", "quantifier" : "?" } 845 ] 846 }, 847 { 848 "opname" : "OpImageGather", 849 "opcode" : 96, 850 "operands" : [ 851 { "kind" : "IdResultType" }, 852 { "kind" : "IdResult" }, 853 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 854 { "kind" : "IdRef", "name" : "'Coordinate'" }, 855 { "kind" : "IdRef", "name" : "'Component'" }, 856 { "kind" : "ImageOperands", "quantifier" : "?" } 857 ], 858 "capabilities" : [ "Shader" ] 859 }, 860 { 861 "opname" : "OpImageDrefGather", 862 "opcode" : 97, 863 "operands" : [ 864 { "kind" : "IdResultType" }, 865 { "kind" : "IdResult" }, 866 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 867 { "kind" : "IdRef", "name" : "'Coordinate'" }, 868 { "kind" : "IdRef", "name" : "'D~ref~'" }, 869 { "kind" : "ImageOperands", "quantifier" : "?" } 870 ], 871 "capabilities" : [ "Shader" ] 872 }, 873 { 874 "opname" : "OpImageRead", 875 "opcode" : 98, 876 "operands" : [ 877 { "kind" : "IdResultType" }, 878 { "kind" : "IdResult" }, 879 { "kind" : "IdRef", "name" : "'Image'" }, 880 { "kind" : "IdRef", "name" : "'Coordinate'" }, 881 { "kind" : "ImageOperands", "quantifier" : "?" } 882 ] 883 }, 884 { 885 "opname" : "OpImageWrite", 886 "opcode" : 99, 887 "operands" : [ 888 { "kind" : "IdRef", "name" : "'Image'" }, 889 { "kind" : "IdRef", "name" : "'Coordinate'" }, 890 { "kind" : "IdRef", "name" : "'Texel'" }, 891 { "kind" : "ImageOperands", "quantifier" : "?" } 892 ] 893 }, 894 { 895 "opname" : "OpImage", 896 "opcode" : 100, 897 "operands" : [ 898 { "kind" : "IdResultType" }, 899 { "kind" : "IdResult" }, 900 { "kind" : "IdRef", "name" : "'Sampled Image'" } 901 ] 902 }, 903 { 904 "opname" : "OpImageQueryFormat", 905 "opcode" : 101, 906 "operands" : [ 907 { "kind" : "IdResultType" }, 908 { "kind" : "IdResult" }, 909 { "kind" : "IdRef", "name" : "'Image'" } 910 ], 911 "capabilities" : [ "Kernel" ] 912 }, 913 { 914 "opname" : "OpImageQueryOrder", 915 "opcode" : 102, 916 "operands" : [ 917 { "kind" : "IdResultType" }, 918 { "kind" : "IdResult" }, 919 { "kind" : "IdRef", "name" : "'Image'" } 920 ], 921 "capabilities" : [ "Kernel" ] 922 }, 923 { 924 "opname" : "OpImageQuerySizeLod", 925 "opcode" : 103, 926 "operands" : [ 927 { "kind" : "IdResultType" }, 928 { "kind" : "IdResult" }, 929 { "kind" : "IdRef", "name" : "'Image'" }, 930 { "kind" : "IdRef", "name" : "'Level of Detail'" } 931 ], 932 "capabilities" : [ "Kernel", "ImageQuery" ] 933 }, 934 { 935 "opname" : "OpImageQuerySize", 936 "opcode" : 104, 937 "operands" : [ 938 { "kind" : "IdResultType" }, 939 { "kind" : "IdResult" }, 940 { "kind" : "IdRef", "name" : "'Image'" } 941 ], 942 "capabilities" : [ "Kernel", "ImageQuery" ] 943 }, 944 { 945 "opname" : "OpImageQueryLod", 946 "opcode" : 105, 947 "operands" : [ 948 { "kind" : "IdResultType" }, 949 { "kind" : "IdResult" }, 950 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 951 { "kind" : "IdRef", "name" : "'Coordinate'" } 952 ], 953 "capabilities" : [ "ImageQuery" ] 954 }, 955 { 956 "opname" : "OpImageQueryLevels", 957 "opcode" : 106, 958 "operands" : [ 959 { "kind" : "IdResultType" }, 960 { "kind" : "IdResult" }, 961 { "kind" : "IdRef", "name" : "'Image'" } 962 ], 963 "capabilities" : [ "Kernel", "ImageQuery" ] 964 }, 965 { 966 "opname" : "OpImageQuerySamples", 967 "opcode" : 107, 968 "operands" : [ 969 { "kind" : "IdResultType" }, 970 { "kind" : "IdResult" }, 971 { "kind" : "IdRef", "name" : "'Image'" } 972 ], 973 "capabilities" : [ "Kernel", "ImageQuery" ] 974 }, 975 { 976 "opname" : "OpConvertFToU", 977 "opcode" : 109, 978 "operands" : [ 979 { "kind" : "IdResultType" }, 980 { "kind" : "IdResult" }, 981 { "kind" : "IdRef", "name" : "'Float Value'" } 982 ] 983 }, 984 { 985 "opname" : "OpConvertFToS", 986 "opcode" : 110, 987 "operands" : [ 988 { "kind" : "IdResultType" }, 989 { "kind" : "IdResult" }, 990 { "kind" : "IdRef", "name" : "'Float Value'" } 991 ] 992 }, 993 { 994 "opname" : "OpConvertSToF", 995 "opcode" : 111, 996 "operands" : [ 997 { "kind" : "IdResultType" }, 998 { "kind" : "IdResult" }, 999 { "kind" : "IdRef", "name" : "'Signed Value'" } 1000 ] 1001 }, 1002 { 1003 "opname" : "OpConvertUToF", 1004 "opcode" : 112, 1005 "operands" : [ 1006 { "kind" : "IdResultType" }, 1007 { "kind" : "IdResult" }, 1008 { "kind" : "IdRef", "name" : "'Unsigned Value'" } 1009 ] 1010 }, 1011 { 1012 "opname" : "OpUConvert", 1013 "opcode" : 113, 1014 "operands" : [ 1015 { "kind" : "IdResultType" }, 1016 { "kind" : "IdResult" }, 1017 { "kind" : "IdRef", "name" : "'Unsigned Value'" } 1018 ] 1019 }, 1020 { 1021 "opname" : "OpSConvert", 1022 "opcode" : 114, 1023 "operands" : [ 1024 { "kind" : "IdResultType" }, 1025 { "kind" : "IdResult" }, 1026 { "kind" : "IdRef", "name" : "'Signed Value'" } 1027 ] 1028 }, 1029 { 1030 "opname" : "OpFConvert", 1031 "opcode" : 115, 1032 "operands" : [ 1033 { "kind" : "IdResultType" }, 1034 { "kind" : "IdResult" }, 1035 { "kind" : "IdRef", "name" : "'Float Value'" } 1036 ] 1037 }, 1038 { 1039 "opname" : "OpQuantizeToF16", 1040 "opcode" : 116, 1041 "operands" : [ 1042 { "kind" : "IdResultType" }, 1043 { "kind" : "IdResult" }, 1044 { "kind" : "IdRef", "name" : "'Value'" } 1045 ] 1046 }, 1047 { 1048 "opname" : "OpConvertPtrToU", 1049 "opcode" : 117, 1050 "operands" : [ 1051 { "kind" : "IdResultType" }, 1052 { "kind" : "IdResult" }, 1053 { "kind" : "IdRef", "name" : "'Pointer'" } 1054 ], 1055 "capabilities" : [ 1056 "Addresses", 1057 "PhysicalStorageBufferAddressesEXT" 1058 ] 1059 }, 1060 { 1061 "opname" : "OpSatConvertSToU", 1062 "opcode" : 118, 1063 "operands" : [ 1064 { "kind" : "IdResultType" }, 1065 { "kind" : "IdResult" }, 1066 { "kind" : "IdRef", "name" : "'Signed Value'" } 1067 ], 1068 "capabilities" : [ "Kernel" ] 1069 }, 1070 { 1071 "opname" : "OpSatConvertUToS", 1072 "opcode" : 119, 1073 "operands" : [ 1074 { "kind" : "IdResultType" }, 1075 { "kind" : "IdResult" }, 1076 { "kind" : "IdRef", "name" : "'Unsigned Value'" } 1077 ], 1078 "capabilities" : [ "Kernel" ] 1079 }, 1080 { 1081 "opname" : "OpConvertUToPtr", 1082 "opcode" : 120, 1083 "operands" : [ 1084 { "kind" : "IdResultType" }, 1085 { "kind" : "IdResult" }, 1086 { "kind" : "IdRef", "name" : "'Integer Value'" } 1087 ], 1088 "capabilities" : [ 1089 "Addresses", 1090 "PhysicalStorageBufferAddressesEXT" 1091 ] 1092 }, 1093 { 1094 "opname" : "OpPtrCastToGeneric", 1095 "opcode" : 121, 1096 "operands" : [ 1097 { "kind" : "IdResultType" }, 1098 { "kind" : "IdResult" }, 1099 { "kind" : "IdRef", "name" : "'Pointer'" } 1100 ], 1101 "capabilities" : [ "Kernel" ] 1102 }, 1103 { 1104 "opname" : "OpGenericCastToPtr", 1105 "opcode" : 122, 1106 "operands" : [ 1107 { "kind" : "IdResultType" }, 1108 { "kind" : "IdResult" }, 1109 { "kind" : "IdRef", "name" : "'Pointer'" } 1110 ], 1111 "capabilities" : [ "Kernel" ] 1112 }, 1113 { 1114 "opname" : "OpGenericCastToPtrExplicit", 1115 "opcode" : 123, 1116 "operands" : [ 1117 { "kind" : "IdResultType" }, 1118 { "kind" : "IdResult" }, 1119 { "kind" : "IdRef", "name" : "'Pointer'" }, 1120 { "kind" : "StorageClass", "name" : "'Storage'" } 1121 ], 1122 "capabilities" : [ "Kernel" ] 1123 }, 1124 { 1125 "opname" : "OpBitcast", 1126 "opcode" : 124, 1127 "operands" : [ 1128 { "kind" : "IdResultType" }, 1129 { "kind" : "IdResult" }, 1130 { "kind" : "IdRef", "name" : "'Operand'" } 1131 ] 1132 }, 1133 { 1134 "opname" : "OpSNegate", 1135 "opcode" : 126, 1136 "operands" : [ 1137 { "kind" : "IdResultType" }, 1138 { "kind" : "IdResult" }, 1139 { "kind" : "IdRef", "name" : "'Operand'" } 1140 ] 1141 }, 1142 { 1143 "opname" : "OpFNegate", 1144 "opcode" : 127, 1145 "operands" : [ 1146 { "kind" : "IdResultType" }, 1147 { "kind" : "IdResult" }, 1148 { "kind" : "IdRef", "name" : "'Operand'" } 1149 ] 1150 }, 1151 { 1152 "opname" : "OpIAdd", 1153 "opcode" : 128, 1154 "operands" : [ 1155 { "kind" : "IdResultType" }, 1156 { "kind" : "IdResult" }, 1157 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1158 { "kind" : "IdRef", "name" : "'Operand 2'" } 1159 ] 1160 }, 1161 { 1162 "opname" : "OpFAdd", 1163 "opcode" : 129, 1164 "operands" : [ 1165 { "kind" : "IdResultType" }, 1166 { "kind" : "IdResult" }, 1167 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1168 { "kind" : "IdRef", "name" : "'Operand 2'" } 1169 ] 1170 }, 1171 { 1172 "opname" : "OpISub", 1173 "opcode" : 130, 1174 "operands" : [ 1175 { "kind" : "IdResultType" }, 1176 { "kind" : "IdResult" }, 1177 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1178 { "kind" : "IdRef", "name" : "'Operand 2'" } 1179 ] 1180 }, 1181 { 1182 "opname" : "OpFSub", 1183 "opcode" : 131, 1184 "operands" : [ 1185 { "kind" : "IdResultType" }, 1186 { "kind" : "IdResult" }, 1187 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1188 { "kind" : "IdRef", "name" : "'Operand 2'" } 1189 ] 1190 }, 1191 { 1192 "opname" : "OpIMul", 1193 "opcode" : 132, 1194 "operands" : [ 1195 { "kind" : "IdResultType" }, 1196 { "kind" : "IdResult" }, 1197 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1198 { "kind" : "IdRef", "name" : "'Operand 2'" } 1199 ] 1200 }, 1201 { 1202 "opname" : "OpFMul", 1203 "opcode" : 133, 1204 "operands" : [ 1205 { "kind" : "IdResultType" }, 1206 { "kind" : "IdResult" }, 1207 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1208 { "kind" : "IdRef", "name" : "'Operand 2'" } 1209 ] 1210 }, 1211 { 1212 "opname" : "OpUDiv", 1213 "opcode" : 134, 1214 "operands" : [ 1215 { "kind" : "IdResultType" }, 1216 { "kind" : "IdResult" }, 1217 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1218 { "kind" : "IdRef", "name" : "'Operand 2'" } 1219 ] 1220 }, 1221 { 1222 "opname" : "OpSDiv", 1223 "opcode" : 135, 1224 "operands" : [ 1225 { "kind" : "IdResultType" }, 1226 { "kind" : "IdResult" }, 1227 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1228 { "kind" : "IdRef", "name" : "'Operand 2'" } 1229 ] 1230 }, 1231 { 1232 "opname" : "OpFDiv", 1233 "opcode" : 136, 1234 "operands" : [ 1235 { "kind" : "IdResultType" }, 1236 { "kind" : "IdResult" }, 1237 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1238 { "kind" : "IdRef", "name" : "'Operand 2'" } 1239 ] 1240 }, 1241 { 1242 "opname" : "OpUMod", 1243 "opcode" : 137, 1244 "operands" : [ 1245 { "kind" : "IdResultType" }, 1246 { "kind" : "IdResult" }, 1247 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1248 { "kind" : "IdRef", "name" : "'Operand 2'" } 1249 ] 1250 }, 1251 { 1252 "opname" : "OpSRem", 1253 "opcode" : 138, 1254 "operands" : [ 1255 { "kind" : "IdResultType" }, 1256 { "kind" : "IdResult" }, 1257 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1258 { "kind" : "IdRef", "name" : "'Operand 2'" } 1259 ] 1260 }, 1261 { 1262 "opname" : "OpSMod", 1263 "opcode" : 139, 1264 "operands" : [ 1265 { "kind" : "IdResultType" }, 1266 { "kind" : "IdResult" }, 1267 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1268 { "kind" : "IdRef", "name" : "'Operand 2'" } 1269 ] 1270 }, 1271 { 1272 "opname" : "OpFRem", 1273 "opcode" : 140, 1274 "operands" : [ 1275 { "kind" : "IdResultType" }, 1276 { "kind" : "IdResult" }, 1277 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1278 { "kind" : "IdRef", "name" : "'Operand 2'" } 1279 ] 1280 }, 1281 { 1282 "opname" : "OpFMod", 1283 "opcode" : 141, 1284 "operands" : [ 1285 { "kind" : "IdResultType" }, 1286 { "kind" : "IdResult" }, 1287 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1288 { "kind" : "IdRef", "name" : "'Operand 2'" } 1289 ] 1290 }, 1291 { 1292 "opname" : "OpVectorTimesScalar", 1293 "opcode" : 142, 1294 "operands" : [ 1295 { "kind" : "IdResultType" }, 1296 { "kind" : "IdResult" }, 1297 { "kind" : "IdRef", "name" : "'Vector'" }, 1298 { "kind" : "IdRef", "name" : "'Scalar'" } 1299 ] 1300 }, 1301 { 1302 "opname" : "OpMatrixTimesScalar", 1303 "opcode" : 143, 1304 "operands" : [ 1305 { "kind" : "IdResultType" }, 1306 { "kind" : "IdResult" }, 1307 { "kind" : "IdRef", "name" : "'Matrix'" }, 1308 { "kind" : "IdRef", "name" : "'Scalar'" } 1309 ], 1310 "capabilities" : [ "Matrix" ] 1311 }, 1312 { 1313 "opname" : "OpVectorTimesMatrix", 1314 "opcode" : 144, 1315 "operands" : [ 1316 { "kind" : "IdResultType" }, 1317 { "kind" : "IdResult" }, 1318 { "kind" : "IdRef", "name" : "'Vector'" }, 1319 { "kind" : "IdRef", "name" : "'Matrix'" } 1320 ], 1321 "capabilities" : [ "Matrix" ] 1322 }, 1323 { 1324 "opname" : "OpMatrixTimesVector", 1325 "opcode" : 145, 1326 "operands" : [ 1327 { "kind" : "IdResultType" }, 1328 { "kind" : "IdResult" }, 1329 { "kind" : "IdRef", "name" : "'Matrix'" }, 1330 { "kind" : "IdRef", "name" : "'Vector'" } 1331 ], 1332 "capabilities" : [ "Matrix" ] 1333 }, 1334 { 1335 "opname" : "OpMatrixTimesMatrix", 1336 "opcode" : 146, 1337 "operands" : [ 1338 { "kind" : "IdResultType" }, 1339 { "kind" : "IdResult" }, 1340 { "kind" : "IdRef", "name" : "'LeftMatrix'" }, 1341 { "kind" : "IdRef", "name" : "'RightMatrix'" } 1342 ], 1343 "capabilities" : [ "Matrix" ] 1344 }, 1345 { 1346 "opname" : "OpOuterProduct", 1347 "opcode" : 147, 1348 "operands" : [ 1349 { "kind" : "IdResultType" }, 1350 { "kind" : "IdResult" }, 1351 { "kind" : "IdRef", "name" : "'Vector 1'" }, 1352 { "kind" : "IdRef", "name" : "'Vector 2'" } 1353 ], 1354 "capabilities" : [ "Matrix" ] 1355 }, 1356 { 1357 "opname" : "OpDot", 1358 "opcode" : 148, 1359 "operands" : [ 1360 { "kind" : "IdResultType" }, 1361 { "kind" : "IdResult" }, 1362 { "kind" : "IdRef", "name" : "'Vector 1'" }, 1363 { "kind" : "IdRef", "name" : "'Vector 2'" } 1364 ] 1365 }, 1366 { 1367 "opname" : "OpIAddCarry", 1368 "opcode" : 149, 1369 "operands" : [ 1370 { "kind" : "IdResultType" }, 1371 { "kind" : "IdResult" }, 1372 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1373 { "kind" : "IdRef", "name" : "'Operand 2'" } 1374 ] 1375 }, 1376 { 1377 "opname" : "OpISubBorrow", 1378 "opcode" : 150, 1379 "operands" : [ 1380 { "kind" : "IdResultType" }, 1381 { "kind" : "IdResult" }, 1382 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1383 { "kind" : "IdRef", "name" : "'Operand 2'" } 1384 ] 1385 }, 1386 { 1387 "opname" : "OpUMulExtended", 1388 "opcode" : 151, 1389 "operands" : [ 1390 { "kind" : "IdResultType" }, 1391 { "kind" : "IdResult" }, 1392 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1393 { "kind" : "IdRef", "name" : "'Operand 2'" } 1394 ] 1395 }, 1396 { 1397 "opname" : "OpSMulExtended", 1398 "opcode" : 152, 1399 "operands" : [ 1400 { "kind" : "IdResultType" }, 1401 { "kind" : "IdResult" }, 1402 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1403 { "kind" : "IdRef", "name" : "'Operand 2'" } 1404 ] 1405 }, 1406 { 1407 "opname" : "OpAny", 1408 "opcode" : 154, 1409 "operands" : [ 1410 { "kind" : "IdResultType" }, 1411 { "kind" : "IdResult" }, 1412 { "kind" : "IdRef", "name" : "'Vector'" } 1413 ] 1414 }, 1415 { 1416 "opname" : "OpAll", 1417 "opcode" : 155, 1418 "operands" : [ 1419 { "kind" : "IdResultType" }, 1420 { "kind" : "IdResult" }, 1421 { "kind" : "IdRef", "name" : "'Vector'" } 1422 ] 1423 }, 1424 { 1425 "opname" : "OpIsNan", 1426 "opcode" : 156, 1427 "operands" : [ 1428 { "kind" : "IdResultType" }, 1429 { "kind" : "IdResult" }, 1430 { "kind" : "IdRef", "name" : "'x'" } 1431 ] 1432 }, 1433 { 1434 "opname" : "OpIsInf", 1435 "opcode" : 157, 1436 "operands" : [ 1437 { "kind" : "IdResultType" }, 1438 { "kind" : "IdResult" }, 1439 { "kind" : "IdRef", "name" : "'x'" } 1440 ] 1441 }, 1442 { 1443 "opname" : "OpIsFinite", 1444 "opcode" : 158, 1445 "operands" : [ 1446 { "kind" : "IdResultType" }, 1447 { "kind" : "IdResult" }, 1448 { "kind" : "IdRef", "name" : "'x'" } 1449 ], 1450 "capabilities" : [ "Kernel" ] 1451 }, 1452 { 1453 "opname" : "OpIsNormal", 1454 "opcode" : 159, 1455 "operands" : [ 1456 { "kind" : "IdResultType" }, 1457 { "kind" : "IdResult" }, 1458 { "kind" : "IdRef", "name" : "'x'" } 1459 ], 1460 "capabilities" : [ "Kernel" ] 1461 }, 1462 { 1463 "opname" : "OpSignBitSet", 1464 "opcode" : 160, 1465 "operands" : [ 1466 { "kind" : "IdResultType" }, 1467 { "kind" : "IdResult" }, 1468 { "kind" : "IdRef", "name" : "'x'" } 1469 ], 1470 "capabilities" : [ "Kernel" ] 1471 }, 1472 { 1473 "opname" : "OpLessOrGreater", 1474 "opcode" : 161, 1475 "operands" : [ 1476 { "kind" : "IdResultType" }, 1477 { "kind" : "IdResult" }, 1478 { "kind" : "IdRef", "name" : "'x'" }, 1479 { "kind" : "IdRef", "name" : "'y'" } 1480 ], 1481 "capabilities" : [ "Kernel" ] 1482 }, 1483 { 1484 "opname" : "OpOrdered", 1485 "opcode" : 162, 1486 "operands" : [ 1487 { "kind" : "IdResultType" }, 1488 { "kind" : "IdResult" }, 1489 { "kind" : "IdRef", "name" : "'x'" }, 1490 { "kind" : "IdRef", "name" : "'y'" } 1491 ], 1492 "capabilities" : [ "Kernel" ] 1493 }, 1494 { 1495 "opname" : "OpUnordered", 1496 "opcode" : 163, 1497 "operands" : [ 1498 { "kind" : "IdResultType" }, 1499 { "kind" : "IdResult" }, 1500 { "kind" : "IdRef", "name" : "'x'" }, 1501 { "kind" : "IdRef", "name" : "'y'" } 1502 ], 1503 "capabilities" : [ "Kernel" ] 1504 }, 1505 { 1506 "opname" : "OpLogicalEqual", 1507 "opcode" : 164, 1508 "operands" : [ 1509 { "kind" : "IdResultType" }, 1510 { "kind" : "IdResult" }, 1511 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1512 { "kind" : "IdRef", "name" : "'Operand 2'" } 1513 ] 1514 }, 1515 { 1516 "opname" : "OpLogicalNotEqual", 1517 "opcode" : 165, 1518 "operands" : [ 1519 { "kind" : "IdResultType" }, 1520 { "kind" : "IdResult" }, 1521 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1522 { "kind" : "IdRef", "name" : "'Operand 2'" } 1523 ] 1524 }, 1525 { 1526 "opname" : "OpLogicalOr", 1527 "opcode" : 166, 1528 "operands" : [ 1529 { "kind" : "IdResultType" }, 1530 { "kind" : "IdResult" }, 1531 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1532 { "kind" : "IdRef", "name" : "'Operand 2'" } 1533 ] 1534 }, 1535 { 1536 "opname" : "OpLogicalAnd", 1537 "opcode" : 167, 1538 "operands" : [ 1539 { "kind" : "IdResultType" }, 1540 { "kind" : "IdResult" }, 1541 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1542 { "kind" : "IdRef", "name" : "'Operand 2'" } 1543 ] 1544 }, 1545 { 1546 "opname" : "OpLogicalNot", 1547 "opcode" : 168, 1548 "operands" : [ 1549 { "kind" : "IdResultType" }, 1550 { "kind" : "IdResult" }, 1551 { "kind" : "IdRef", "name" : "'Operand'" } 1552 ] 1553 }, 1554 { 1555 "opname" : "OpSelect", 1556 "opcode" : 169, 1557 "operands" : [ 1558 { "kind" : "IdResultType" }, 1559 { "kind" : "IdResult" }, 1560 { "kind" : "IdRef", "name" : "'Condition'" }, 1561 { "kind" : "IdRef", "name" : "'Object 1'" }, 1562 { "kind" : "IdRef", "name" : "'Object 2'" } 1563 ] 1564 }, 1565 { 1566 "opname" : "OpIEqual", 1567 "opcode" : 170, 1568 "operands" : [ 1569 { "kind" : "IdResultType" }, 1570 { "kind" : "IdResult" }, 1571 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1572 { "kind" : "IdRef", "name" : "'Operand 2'" } 1573 ] 1574 }, 1575 { 1576 "opname" : "OpINotEqual", 1577 "opcode" : 171, 1578 "operands" : [ 1579 { "kind" : "IdResultType" }, 1580 { "kind" : "IdResult" }, 1581 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1582 { "kind" : "IdRef", "name" : "'Operand 2'" } 1583 ] 1584 }, 1585 { 1586 "opname" : "OpUGreaterThan", 1587 "opcode" : 172, 1588 "operands" : [ 1589 { "kind" : "IdResultType" }, 1590 { "kind" : "IdResult" }, 1591 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1592 { "kind" : "IdRef", "name" : "'Operand 2'" } 1593 ] 1594 }, 1595 { 1596 "opname" : "OpSGreaterThan", 1597 "opcode" : 173, 1598 "operands" : [ 1599 { "kind" : "IdResultType" }, 1600 { "kind" : "IdResult" }, 1601 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1602 { "kind" : "IdRef", "name" : "'Operand 2'" } 1603 ] 1604 }, 1605 { 1606 "opname" : "OpUGreaterThanEqual", 1607 "opcode" : 174, 1608 "operands" : [ 1609 { "kind" : "IdResultType" }, 1610 { "kind" : "IdResult" }, 1611 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1612 { "kind" : "IdRef", "name" : "'Operand 2'" } 1613 ] 1614 }, 1615 { 1616 "opname" : "OpSGreaterThanEqual", 1617 "opcode" : 175, 1618 "operands" : [ 1619 { "kind" : "IdResultType" }, 1620 { "kind" : "IdResult" }, 1621 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1622 { "kind" : "IdRef", "name" : "'Operand 2'" } 1623 ] 1624 }, 1625 { 1626 "opname" : "OpULessThan", 1627 "opcode" : 176, 1628 "operands" : [ 1629 { "kind" : "IdResultType" }, 1630 { "kind" : "IdResult" }, 1631 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1632 { "kind" : "IdRef", "name" : "'Operand 2'" } 1633 ] 1634 }, 1635 { 1636 "opname" : "OpSLessThan", 1637 "opcode" : 177, 1638 "operands" : [ 1639 { "kind" : "IdResultType" }, 1640 { "kind" : "IdResult" }, 1641 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1642 { "kind" : "IdRef", "name" : "'Operand 2'" } 1643 ] 1644 }, 1645 { 1646 "opname" : "OpULessThanEqual", 1647 "opcode" : 178, 1648 "operands" : [ 1649 { "kind" : "IdResultType" }, 1650 { "kind" : "IdResult" }, 1651 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1652 { "kind" : "IdRef", "name" : "'Operand 2'" } 1653 ] 1654 }, 1655 { 1656 "opname" : "OpSLessThanEqual", 1657 "opcode" : 179, 1658 "operands" : [ 1659 { "kind" : "IdResultType" }, 1660 { "kind" : "IdResult" }, 1661 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1662 { "kind" : "IdRef", "name" : "'Operand 2'" } 1663 ] 1664 }, 1665 { 1666 "opname" : "OpFOrdEqual", 1667 "opcode" : 180, 1668 "operands" : [ 1669 { "kind" : "IdResultType" }, 1670 { "kind" : "IdResult" }, 1671 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1672 { "kind" : "IdRef", "name" : "'Operand 2'" } 1673 ] 1674 }, 1675 { 1676 "opname" : "OpFUnordEqual", 1677 "opcode" : 181, 1678 "operands" : [ 1679 { "kind" : "IdResultType" }, 1680 { "kind" : "IdResult" }, 1681 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1682 { "kind" : "IdRef", "name" : "'Operand 2'" } 1683 ] 1684 }, 1685 { 1686 "opname" : "OpFOrdNotEqual", 1687 "opcode" : 182, 1688 "operands" : [ 1689 { "kind" : "IdResultType" }, 1690 { "kind" : "IdResult" }, 1691 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1692 { "kind" : "IdRef", "name" : "'Operand 2'" } 1693 ] 1694 }, 1695 { 1696 "opname" : "OpFUnordNotEqual", 1697 "opcode" : 183, 1698 "operands" : [ 1699 { "kind" : "IdResultType" }, 1700 { "kind" : "IdResult" }, 1701 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1702 { "kind" : "IdRef", "name" : "'Operand 2'" } 1703 ] 1704 }, 1705 { 1706 "opname" : "OpFOrdLessThan", 1707 "opcode" : 184, 1708 "operands" : [ 1709 { "kind" : "IdResultType" }, 1710 { "kind" : "IdResult" }, 1711 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1712 { "kind" : "IdRef", "name" : "'Operand 2'" } 1713 ] 1714 }, 1715 { 1716 "opname" : "OpFUnordLessThan", 1717 "opcode" : 185, 1718 "operands" : [ 1719 { "kind" : "IdResultType" }, 1720 { "kind" : "IdResult" }, 1721 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1722 { "kind" : "IdRef", "name" : "'Operand 2'" } 1723 ] 1724 }, 1725 { 1726 "opname" : "OpFOrdGreaterThan", 1727 "opcode" : 186, 1728 "operands" : [ 1729 { "kind" : "IdResultType" }, 1730 { "kind" : "IdResult" }, 1731 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1732 { "kind" : "IdRef", "name" : "'Operand 2'" } 1733 ] 1734 }, 1735 { 1736 "opname" : "OpFUnordGreaterThan", 1737 "opcode" : 187, 1738 "operands" : [ 1739 { "kind" : "IdResultType" }, 1740 { "kind" : "IdResult" }, 1741 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1742 { "kind" : "IdRef", "name" : "'Operand 2'" } 1743 ] 1744 }, 1745 { 1746 "opname" : "OpFOrdLessThanEqual", 1747 "opcode" : 188, 1748 "operands" : [ 1749 { "kind" : "IdResultType" }, 1750 { "kind" : "IdResult" }, 1751 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1752 { "kind" : "IdRef", "name" : "'Operand 2'" } 1753 ] 1754 }, 1755 { 1756 "opname" : "OpFUnordLessThanEqual", 1757 "opcode" : 189, 1758 "operands" : [ 1759 { "kind" : "IdResultType" }, 1760 { "kind" : "IdResult" }, 1761 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1762 { "kind" : "IdRef", "name" : "'Operand 2'" } 1763 ] 1764 }, 1765 { 1766 "opname" : "OpFOrdGreaterThanEqual", 1767 "opcode" : 190, 1768 "operands" : [ 1769 { "kind" : "IdResultType" }, 1770 { "kind" : "IdResult" }, 1771 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1772 { "kind" : "IdRef", "name" : "'Operand 2'" } 1773 ] 1774 }, 1775 { 1776 "opname" : "OpFUnordGreaterThanEqual", 1777 "opcode" : 191, 1778 "operands" : [ 1779 { "kind" : "IdResultType" }, 1780 { "kind" : "IdResult" }, 1781 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1782 { "kind" : "IdRef", "name" : "'Operand 2'" } 1783 ] 1784 }, 1785 { 1786 "opname" : "OpShiftRightLogical", 1787 "opcode" : 194, 1788 "operands" : [ 1789 { "kind" : "IdResultType" }, 1790 { "kind" : "IdResult" }, 1791 { "kind" : "IdRef", "name" : "'Base'" }, 1792 { "kind" : "IdRef", "name" : "'Shift'" } 1793 ] 1794 }, 1795 { 1796 "opname" : "OpShiftRightArithmetic", 1797 "opcode" : 195, 1798 "operands" : [ 1799 { "kind" : "IdResultType" }, 1800 { "kind" : "IdResult" }, 1801 { "kind" : "IdRef", "name" : "'Base'" }, 1802 { "kind" : "IdRef", "name" : "'Shift'" } 1803 ] 1804 }, 1805 { 1806 "opname" : "OpShiftLeftLogical", 1807 "opcode" : 196, 1808 "operands" : [ 1809 { "kind" : "IdResultType" }, 1810 { "kind" : "IdResult" }, 1811 { "kind" : "IdRef", "name" : "'Base'" }, 1812 { "kind" : "IdRef", "name" : "'Shift'" } 1813 ] 1814 }, 1815 { 1816 "opname" : "OpBitwiseOr", 1817 "opcode" : 197, 1818 "operands" : [ 1819 { "kind" : "IdResultType" }, 1820 { "kind" : "IdResult" }, 1821 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1822 { "kind" : "IdRef", "name" : "'Operand 2'" } 1823 ] 1824 }, 1825 { 1826 "opname" : "OpBitwiseXor", 1827 "opcode" : 198, 1828 "operands" : [ 1829 { "kind" : "IdResultType" }, 1830 { "kind" : "IdResult" }, 1831 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1832 { "kind" : "IdRef", "name" : "'Operand 2'" } 1833 ] 1834 }, 1835 { 1836 "opname" : "OpBitwiseAnd", 1837 "opcode" : 199, 1838 "operands" : [ 1839 { "kind" : "IdResultType" }, 1840 { "kind" : "IdResult" }, 1841 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1842 { "kind" : "IdRef", "name" : "'Operand 2'" } 1843 ] 1844 }, 1845 { 1846 "opname" : "OpNot", 1847 "opcode" : 200, 1848 "operands" : [ 1849 { "kind" : "IdResultType" }, 1850 { "kind" : "IdResult" }, 1851 { "kind" : "IdRef", "name" : "'Operand'" } 1852 ] 1853 }, 1854 { 1855 "opname" : "OpBitFieldInsert", 1856 "opcode" : 201, 1857 "operands" : [ 1858 { "kind" : "IdResultType" }, 1859 { "kind" : "IdResult" }, 1860 { "kind" : "IdRef", "name" : "'Base'" }, 1861 { "kind" : "IdRef", "name" : "'Insert'" }, 1862 { "kind" : "IdRef", "name" : "'Offset'" }, 1863 { "kind" : "IdRef", "name" : "'Count'" } 1864 ], 1865 "capabilities" : [ "Shader" ] 1866 }, 1867 { 1868 "opname" : "OpBitFieldSExtract", 1869 "opcode" : 202, 1870 "operands" : [ 1871 { "kind" : "IdResultType" }, 1872 { "kind" : "IdResult" }, 1873 { "kind" : "IdRef", "name" : "'Base'" }, 1874 { "kind" : "IdRef", "name" : "'Offset'" }, 1875 { "kind" : "IdRef", "name" : "'Count'" } 1876 ], 1877 "capabilities" : [ "Shader" ] 1878 }, 1879 { 1880 "opname" : "OpBitFieldUExtract", 1881 "opcode" : 203, 1882 "operands" : [ 1883 { "kind" : "IdResultType" }, 1884 { "kind" : "IdResult" }, 1885 { "kind" : "IdRef", "name" : "'Base'" }, 1886 { "kind" : "IdRef", "name" : "'Offset'" }, 1887 { "kind" : "IdRef", "name" : "'Count'" } 1888 ], 1889 "capabilities" : [ "Shader" ] 1890 }, 1891 { 1892 "opname" : "OpBitReverse", 1893 "opcode" : 204, 1894 "operands" : [ 1895 { "kind" : "IdResultType" }, 1896 { "kind" : "IdResult" }, 1897 { "kind" : "IdRef", "name" : "'Base'" } 1898 ], 1899 "capabilities" : [ "Shader" ] 1900 }, 1901 { 1902 "opname" : "OpBitCount", 1903 "opcode" : 205, 1904 "operands" : [ 1905 { "kind" : "IdResultType" }, 1906 { "kind" : "IdResult" }, 1907 { "kind" : "IdRef", "name" : "'Base'" } 1908 ] 1909 }, 1910 { 1911 "opname" : "OpDPdx", 1912 "opcode" : 207, 1913 "operands" : [ 1914 { "kind" : "IdResultType" }, 1915 { "kind" : "IdResult" }, 1916 { "kind" : "IdRef", "name" : "'P'" } 1917 ], 1918 "capabilities" : [ "Shader" ] 1919 }, 1920 { 1921 "opname" : "OpDPdy", 1922 "opcode" : 208, 1923 "operands" : [ 1924 { "kind" : "IdResultType" }, 1925 { "kind" : "IdResult" }, 1926 { "kind" : "IdRef", "name" : "'P'" } 1927 ], 1928 "capabilities" : [ "Shader" ] 1929 }, 1930 { 1931 "opname" : "OpFwidth", 1932 "opcode" : 209, 1933 "operands" : [ 1934 { "kind" : "IdResultType" }, 1935 { "kind" : "IdResult" }, 1936 { "kind" : "IdRef", "name" : "'P'" } 1937 ], 1938 "capabilities" : [ "Shader" ] 1939 }, 1940 { 1941 "opname" : "OpDPdxFine", 1942 "opcode" : 210, 1943 "operands" : [ 1944 { "kind" : "IdResultType" }, 1945 { "kind" : "IdResult" }, 1946 { "kind" : "IdRef", "name" : "'P'" } 1947 ], 1948 "capabilities" : [ "DerivativeControl" ] 1949 }, 1950 { 1951 "opname" : "OpDPdyFine", 1952 "opcode" : 211, 1953 "operands" : [ 1954 { "kind" : "IdResultType" }, 1955 { "kind" : "IdResult" }, 1956 { "kind" : "IdRef", "name" : "'P'" } 1957 ], 1958 "capabilities" : [ "DerivativeControl" ] 1959 }, 1960 { 1961 "opname" : "OpFwidthFine", 1962 "opcode" : 212, 1963 "operands" : [ 1964 { "kind" : "IdResultType" }, 1965 { "kind" : "IdResult" }, 1966 { "kind" : "IdRef", "name" : "'P'" } 1967 ], 1968 "capabilities" : [ "DerivativeControl" ] 1969 }, 1970 { 1971 "opname" : "OpDPdxCoarse", 1972 "opcode" : 213, 1973 "operands" : [ 1974 { "kind" : "IdResultType" }, 1975 { "kind" : "IdResult" }, 1976 { "kind" : "IdRef", "name" : "'P'" } 1977 ], 1978 "capabilities" : [ "DerivativeControl" ] 1979 }, 1980 { 1981 "opname" : "OpDPdyCoarse", 1982 "opcode" : 214, 1983 "operands" : [ 1984 { "kind" : "IdResultType" }, 1985 { "kind" : "IdResult" }, 1986 { "kind" : "IdRef", "name" : "'P'" } 1987 ], 1988 "capabilities" : [ "DerivativeControl" ] 1989 }, 1990 { 1991 "opname" : "OpFwidthCoarse", 1992 "opcode" : 215, 1993 "operands" : [ 1994 { "kind" : "IdResultType" }, 1995 { "kind" : "IdResult" }, 1996 { "kind" : "IdRef", "name" : "'P'" } 1997 ], 1998 "capabilities" : [ "DerivativeControl" ] 1999 }, 2000 { 2001 "opname" : "OpEmitVertex", 2002 "opcode" : 218, 2003 "capabilities" : [ "Geometry" ] 2004 }, 2005 { 2006 "opname" : "OpEndPrimitive", 2007 "opcode" : 219, 2008 "capabilities" : [ "Geometry" ] 2009 }, 2010 { 2011 "opname" : "OpEmitStreamVertex", 2012 "opcode" : 220, 2013 "operands" : [ 2014 { "kind" : "IdRef", "name" : "'Stream'" } 2015 ], 2016 "capabilities" : [ "GeometryStreams" ] 2017 }, 2018 { 2019 "opname" : "OpEndStreamPrimitive", 2020 "opcode" : 221, 2021 "operands" : [ 2022 { "kind" : "IdRef", "name" : "'Stream'" } 2023 ], 2024 "capabilities" : [ "GeometryStreams" ] 2025 }, 2026 { 2027 "opname" : "OpControlBarrier", 2028 "opcode" : 224, 2029 "operands" : [ 2030 { "kind" : "IdScope", "name" : "'Execution'" }, 2031 { "kind" : "IdScope", "name" : "'Memory'" }, 2032 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" } 2033 ] 2034 }, 2035 { 2036 "opname" : "OpMemoryBarrier", 2037 "opcode" : 225, 2038 "operands" : [ 2039 { "kind" : "IdScope", "name" : "'Memory'" }, 2040 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" } 2041 ] 2042 }, 2043 { 2044 "opname" : "OpAtomicLoad", 2045 "opcode" : 227, 2046 "operands" : [ 2047 { "kind" : "IdResultType" }, 2048 { "kind" : "IdResult" }, 2049 { "kind" : "IdRef", "name" : "'Pointer'" }, 2050 { "kind" : "IdScope", "name" : "'Scope'" }, 2051 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" } 2052 ] 2053 }, 2054 { 2055 "opname" : "OpAtomicStore", 2056 "opcode" : 228, 2057 "operands" : [ 2058 { "kind" : "IdRef", "name" : "'Pointer'" }, 2059 { "kind" : "IdScope", "name" : "'Scope'" }, 2060 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }, 2061 { "kind" : "IdRef", "name" : "'Value'" } 2062 ] 2063 }, 2064 { 2065 "opname" : "OpAtomicExchange", 2066 "opcode" : 229, 2067 "operands" : [ 2068 { "kind" : "IdResultType" }, 2069 { "kind" : "IdResult" }, 2070 { "kind" : "IdRef", "name" : "'Pointer'" }, 2071 { "kind" : "IdScope", "name" : "'Scope'" }, 2072 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }, 2073 { "kind" : "IdRef", "name" : "'Value'" } 2074 ] 2075 }, 2076 { 2077 "opname" : "OpAtomicCompareExchange", 2078 "opcode" : 230, 2079 "operands" : [ 2080 { "kind" : "IdResultType" }, 2081 { "kind" : "IdResult" }, 2082 { "kind" : "IdRef", "name" : "'Pointer'" }, 2083 { "kind" : "IdScope", "name" : "'Scope'" }, 2084 { "kind" : "IdMemorySemantics", "name" : "'Equal'" }, 2085 { "kind" : "IdMemorySemantics", "name" : "'Unequal'" }, 2086 { "kind" : "IdRef", "name" : "'Value'" }, 2087 { "kind" : "IdRef", "name" : "'Comparator'" } 2088 ] 2089 }, 2090 { 2091 "opname" : "OpAtomicCompareExchangeWeak", 2092 "opcode" : 231, 2093 "operands" : [ 2094 { "kind" : "IdResultType" }, 2095 { "kind" : "IdResult" }, 2096 { "kind" : "IdRef", "name" : "'Pointer'" }, 2097 { "kind" : "IdScope", "name" : "'Scope'" }, 2098 { "kind" : "IdMemorySemantics", "name" : "'Equal'" }, 2099 { "kind" : "IdMemorySemantics", "name" : "'Unequal'" }, 2100 { "kind" : "IdRef", "name" : "'Value'" }, 2101 { "kind" : "IdRef", "name" : "'Comparator'" } 2102 ], 2103 "capabilities" : [ "Kernel" ] 2104 }, 2105 { 2106 "opname" : "OpAtomicIIncrement", 2107 "opcode" : 232, 2108 "operands" : [ 2109 { "kind" : "IdResultType" }, 2110 { "kind" : "IdResult" }, 2111 { "kind" : "IdRef", "name" : "'Pointer'" }, 2112 { "kind" : "IdScope", "name" : "'Scope'" }, 2113 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" } 2114 ] 2115 }, 2116 { 2117 "opname" : "OpAtomicIDecrement", 2118 "opcode" : 233, 2119 "operands" : [ 2120 { "kind" : "IdResultType" }, 2121 { "kind" : "IdResult" }, 2122 { "kind" : "IdRef", "name" : "'Pointer'" }, 2123 { "kind" : "IdScope", "name" : "'Scope'" }, 2124 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" } 2125 ] 2126 }, 2127 { 2128 "opname" : "OpAtomicIAdd", 2129 "opcode" : 234, 2130 "operands" : [ 2131 { "kind" : "IdResultType" }, 2132 { "kind" : "IdResult" }, 2133 { "kind" : "IdRef", "name" : "'Pointer'" }, 2134 { "kind" : "IdScope", "name" : "'Scope'" }, 2135 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }, 2136 { "kind" : "IdRef", "name" : "'Value'" } 2137 ] 2138 }, 2139 { 2140 "opname" : "OpAtomicISub", 2141 "opcode" : 235, 2142 "operands" : [ 2143 { "kind" : "IdResultType" }, 2144 { "kind" : "IdResult" }, 2145 { "kind" : "IdRef", "name" : "'Pointer'" }, 2146 { "kind" : "IdScope", "name" : "'Scope'" }, 2147 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }, 2148 { "kind" : "IdRef", "name" : "'Value'" } 2149 ] 2150 }, 2151 { 2152 "opname" : "OpAtomicSMin", 2153 "opcode" : 236, 2154 "operands" : [ 2155 { "kind" : "IdResultType" }, 2156 { "kind" : "IdResult" }, 2157 { "kind" : "IdRef", "name" : "'Pointer'" }, 2158 { "kind" : "IdScope", "name" : "'Scope'" }, 2159 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }, 2160 { "kind" : "IdRef", "name" : "'Value'" } 2161 ] 2162 }, 2163 { 2164 "opname" : "OpAtomicUMin", 2165 "opcode" : 237, 2166 "operands" : [ 2167 { "kind" : "IdResultType" }, 2168 { "kind" : "IdResult" }, 2169 { "kind" : "IdRef", "name" : "'Pointer'" }, 2170 { "kind" : "IdScope", "name" : "'Scope'" }, 2171 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }, 2172 { "kind" : "IdRef", "name" : "'Value'" } 2173 ] 2174 }, 2175 { 2176 "opname" : "OpAtomicSMax", 2177 "opcode" : 238, 2178 "operands" : [ 2179 { "kind" : "IdResultType" }, 2180 { "kind" : "IdResult" }, 2181 { "kind" : "IdRef", "name" : "'Pointer'" }, 2182 { "kind" : "IdScope", "name" : "'Scope'" }, 2183 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }, 2184 { "kind" : "IdRef", "name" : "'Value'" } 2185 ] 2186 }, 2187 { 2188 "opname" : "OpAtomicUMax", 2189 "opcode" : 239, 2190 "operands" : [ 2191 { "kind" : "IdResultType" }, 2192 { "kind" : "IdResult" }, 2193 { "kind" : "IdRef", "name" : "'Pointer'" }, 2194 { "kind" : "IdScope", "name" : "'Scope'" }, 2195 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }, 2196 { "kind" : "IdRef", "name" : "'Value'" } 2197 ] 2198 }, 2199 { 2200 "opname" : "OpAtomicAnd", 2201 "opcode" : 240, 2202 "operands" : [ 2203 { "kind" : "IdResultType" }, 2204 { "kind" : "IdResult" }, 2205 { "kind" : "IdRef", "name" : "'Pointer'" }, 2206 { "kind" : "IdScope", "name" : "'Scope'" }, 2207 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }, 2208 { "kind" : "IdRef", "name" : "'Value'" } 2209 ] 2210 }, 2211 { 2212 "opname" : "OpAtomicOr", 2213 "opcode" : 241, 2214 "operands" : [ 2215 { "kind" : "IdResultType" }, 2216 { "kind" : "IdResult" }, 2217 { "kind" : "IdRef", "name" : "'Pointer'" }, 2218 { "kind" : "IdScope", "name" : "'Scope'" }, 2219 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }, 2220 { "kind" : "IdRef", "name" : "'Value'" } 2221 ] 2222 }, 2223 { 2224 "opname" : "OpAtomicXor", 2225 "opcode" : 242, 2226 "operands" : [ 2227 { "kind" : "IdResultType" }, 2228 { "kind" : "IdResult" }, 2229 { "kind" : "IdRef", "name" : "'Pointer'" }, 2230 { "kind" : "IdScope", "name" : "'Scope'" }, 2231 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }, 2232 { "kind" : "IdRef", "name" : "'Value'" } 2233 ] 2234 }, 2235 { 2236 "opname" : "OpPhi", 2237 "opcode" : 245, 2238 "operands" : [ 2239 { "kind" : "IdResultType" }, 2240 { "kind" : "IdResult" }, 2241 { "kind" : "PairIdRefIdRef", "quantifier" : "*", "name" : "'Variable, Parent, ...'" } 2242 ] 2243 }, 2244 { 2245 "opname" : "OpLoopMerge", 2246 "opcode" : 246, 2247 "operands" : [ 2248 { "kind" : "IdRef", "name" : "'Merge Block'" }, 2249 { "kind" : "IdRef", "name" : "'Continue Target'" }, 2250 { "kind" : "LoopControl" } 2251 ] 2252 }, 2253 { 2254 "opname" : "OpSelectionMerge", 2255 "opcode" : 247, 2256 "operands" : [ 2257 { "kind" : "IdRef", "name" : "'Merge Block'" }, 2258 { "kind" : "SelectionControl" } 2259 ] 2260 }, 2261 { 2262 "opname" : "OpLabel", 2263 "opcode" : 248, 2264 "operands" : [ 2265 { "kind" : "IdResult" } 2266 ] 2267 }, 2268 { 2269 "opname" : "OpBranch", 2270 "opcode" : 249, 2271 "operands" : [ 2272 { "kind" : "IdRef", "name" : "'Target Label'" } 2273 ] 2274 }, 2275 { 2276 "opname" : "OpBranchConditional", 2277 "opcode" : 250, 2278 "operands" : [ 2279 { "kind" : "IdRef", "name" : "'Condition'" }, 2280 { "kind" : "IdRef", "name" : "'True Label'" }, 2281 { "kind" : "IdRef", "name" : "'False Label'" }, 2282 { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Branch weights'" } 2283 ] 2284 }, 2285 { 2286 "opname" : "OpSwitch", 2287 "opcode" : 251, 2288 "operands" : [ 2289 { "kind" : "IdRef", "name" : "'Selector'" }, 2290 { "kind" : "IdRef", "name" : "'Default'" }, 2291 { "kind" : "PairLiteralIntegerIdRef", "quantifier" : "*", "name" : "'Target'" } 2292 ] 2293 }, 2294 { 2295 "opname" : "OpKill", 2296 "opcode" : 252, 2297 "capabilities" : [ "Shader" ] 2298 }, 2299 { 2300 "opname" : "OpReturn", 2301 "opcode" : 253 2302 }, 2303 { 2304 "opname" : "OpReturnValue", 2305 "opcode" : 254, 2306 "operands" : [ 2307 { "kind" : "IdRef", "name" : "'Value'" } 2308 ] 2309 }, 2310 { 2311 "opname" : "OpUnreachable", 2312 "opcode" : 255 2313 }, 2314 { 2315 "opname" : "OpLifetimeStart", 2316 "opcode" : 256, 2317 "operands" : [ 2318 { "kind" : "IdRef", "name" : "'Pointer'" }, 2319 { "kind" : "LiteralInteger", "name" : "'Size'" } 2320 ], 2321 "capabilities" : [ "Kernel" ] 2322 }, 2323 { 2324 "opname" : "OpLifetimeStop", 2325 "opcode" : 257, 2326 "operands" : [ 2327 { "kind" : "IdRef", "name" : "'Pointer'" }, 2328 { "kind" : "LiteralInteger", "name" : "'Size'" } 2329 ], 2330 "capabilities" : [ "Kernel" ] 2331 }, 2332 { 2333 "opname" : "OpGroupAsyncCopy", 2334 "opcode" : 259, 2335 "operands" : [ 2336 { "kind" : "IdResultType" }, 2337 { "kind" : "IdResult" }, 2338 { "kind" : "IdScope", "name" : "'Execution'" }, 2339 { "kind" : "IdRef", "name" : "'Destination'" }, 2340 { "kind" : "IdRef", "name" : "'Source'" }, 2341 { "kind" : "IdRef", "name" : "'Num Elements'" }, 2342 { "kind" : "IdRef", "name" : "'Stride'" }, 2343 { "kind" : "IdRef", "name" : "'Event'" } 2344 ], 2345 "capabilities" : [ "Kernel" ] 2346 }, 2347 { 2348 "opname" : "OpGroupWaitEvents", 2349 "opcode" : 260, 2350 "operands" : [ 2351 { "kind" : "IdScope", "name" : "'Execution'" }, 2352 { "kind" : "IdRef", "name" : "'Num Events'" }, 2353 { "kind" : "IdRef", "name" : "'Events List'" } 2354 ], 2355 "capabilities" : [ "Kernel" ] 2356 }, 2357 { 2358 "opname" : "OpGroupAll", 2359 "opcode" : 261, 2360 "operands" : [ 2361 { "kind" : "IdResultType" }, 2362 { "kind" : "IdResult" }, 2363 { "kind" : "IdScope", "name" : "'Execution'" }, 2364 { "kind" : "IdRef", "name" : "'Predicate'" } 2365 ], 2366 "capabilities" : [ "Groups" ] 2367 }, 2368 { 2369 "opname" : "OpGroupAny", 2370 "opcode" : 262, 2371 "operands" : [ 2372 { "kind" : "IdResultType" }, 2373 { "kind" : "IdResult" }, 2374 { "kind" : "IdScope", "name" : "'Execution'" }, 2375 { "kind" : "IdRef", "name" : "'Predicate'" } 2376 ], 2377 "capabilities" : [ "Groups" ] 2378 }, 2379 { 2380 "opname" : "OpGroupBroadcast", 2381 "opcode" : 263, 2382 "operands" : [ 2383 { "kind" : "IdResultType" }, 2384 { "kind" : "IdResult" }, 2385 { "kind" : "IdScope", "name" : "'Execution'" }, 2386 { "kind" : "IdRef", "name" : "'Value'" }, 2387 { "kind" : "IdRef", "name" : "'LocalId'" } 2388 ], 2389 "capabilities" : [ "Groups" ] 2390 }, 2391 { 2392 "opname" : "OpGroupIAdd", 2393 "opcode" : 264, 2394 "operands" : [ 2395 { "kind" : "IdResultType" }, 2396 { "kind" : "IdResult" }, 2397 { "kind" : "IdScope", "name" : "'Execution'" }, 2398 { "kind" : "GroupOperation", "name" : "'Operation'" }, 2399 { "kind" : "IdRef", "name" : "'X'" } 2400 ], 2401 "capabilities" : [ "Groups" ] 2402 }, 2403 { 2404 "opname" : "OpGroupFAdd", 2405 "opcode" : 265, 2406 "operands" : [ 2407 { "kind" : "IdResultType" }, 2408 { "kind" : "IdResult" }, 2409 { "kind" : "IdScope", "name" : "'Execution'" }, 2410 { "kind" : "GroupOperation", "name" : "'Operation'" }, 2411 { "kind" : "IdRef", "name" : "'X'" } 2412 ], 2413 "capabilities" : [ "Groups" ] 2414 }, 2415 { 2416 "opname" : "OpGroupFMin", 2417 "opcode" : 266, 2418 "operands" : [ 2419 { "kind" : "IdResultType" }, 2420 { "kind" : "IdResult" }, 2421 { "kind" : "IdScope", "name" : "'Execution'" }, 2422 { "kind" : "GroupOperation", "name" : "'Operation'" }, 2423 { "kind" : "IdRef", "name" : "'X'" } 2424 ], 2425 "capabilities" : [ "Groups" ] 2426 }, 2427 { 2428 "opname" : "OpGroupUMin", 2429 "opcode" : 267, 2430 "operands" : [ 2431 { "kind" : "IdResultType" }, 2432 { "kind" : "IdResult" }, 2433 { "kind" : "IdScope", "name" : "'Execution'" }, 2434 { "kind" : "GroupOperation", "name" : "'Operation'" }, 2435 { "kind" : "IdRef", "name" : "'X'" } 2436 ], 2437 "capabilities" : [ "Groups" ] 2438 }, 2439 { 2440 "opname" : "OpGroupSMin", 2441 "opcode" : 268, 2442 "operands" : [ 2443 { "kind" : "IdResultType" }, 2444 { "kind" : "IdResult" }, 2445 { "kind" : "IdScope", "name" : "'Execution'" }, 2446 { "kind" : "GroupOperation", "name" : "'Operation'" }, 2447 { "kind" : "IdRef", "name" : "'X'" } 2448 ], 2449 "capabilities" : [ "Groups" ] 2450 }, 2451 { 2452 "opname" : "OpGroupFMax", 2453 "opcode" : 269, 2454 "operands" : [ 2455 { "kind" : "IdResultType" }, 2456 { "kind" : "IdResult" }, 2457 { "kind" : "IdScope", "name" : "'Execution'" }, 2458 { "kind" : "GroupOperation", "name" : "'Operation'" }, 2459 { "kind" : "IdRef", "name" : "'X'" } 2460 ], 2461 "capabilities" : [ "Groups" ] 2462 }, 2463 { 2464 "opname" : "OpGroupUMax", 2465 "opcode" : 270, 2466 "operands" : [ 2467 { "kind" : "IdResultType" }, 2468 { "kind" : "IdResult" }, 2469 { "kind" : "IdScope", "name" : "'Execution'" }, 2470 { "kind" : "GroupOperation", "name" : "'Operation'" }, 2471 { "kind" : "IdRef", "name" : "'X'" } 2472 ], 2473 "capabilities" : [ "Groups" ] 2474 }, 2475 { 2476 "opname" : "OpGroupSMax", 2477 "opcode" : 271, 2478 "operands" : [ 2479 { "kind" : "IdResultType" }, 2480 { "kind" : "IdResult" }, 2481 { "kind" : "IdScope", "name" : "'Execution'" }, 2482 { "kind" : "GroupOperation", "name" : "'Operation'" }, 2483 { "kind" : "IdRef", "name" : "'X'" } 2484 ], 2485 "capabilities" : [ "Groups" ] 2486 }, 2487 { 2488 "opname" : "OpReadPipe", 2489 "opcode" : 274, 2490 "operands" : [ 2491 { "kind" : "IdResultType" }, 2492 { "kind" : "IdResult" }, 2493 { "kind" : "IdRef", "name" : "'Pipe'" }, 2494 { "kind" : "IdRef", "name" : "'Pointer'" }, 2495 { "kind" : "IdRef", "name" : "'Packet Size'" }, 2496 { "kind" : "IdRef", "name" : "'Packet Alignment'" } 2497 ], 2498 "capabilities" : [ "Pipes" ] 2499 }, 2500 { 2501 "opname" : "OpWritePipe", 2502 "opcode" : 275, 2503 "operands" : [ 2504 { "kind" : "IdResultType" }, 2505 { "kind" : "IdResult" }, 2506 { "kind" : "IdRef", "name" : "'Pipe'" }, 2507 { "kind" : "IdRef", "name" : "'Pointer'" }, 2508 { "kind" : "IdRef", "name" : "'Packet Size'" }, 2509 { "kind" : "IdRef", "name" : "'Packet Alignment'" } 2510 ], 2511 "capabilities" : [ "Pipes" ] 2512 }, 2513 { 2514 "opname" : "OpReservedReadPipe", 2515 "opcode" : 276, 2516 "operands" : [ 2517 { "kind" : "IdResultType" }, 2518 { "kind" : "IdResult" }, 2519 { "kind" : "IdRef", "name" : "'Pipe'" }, 2520 { "kind" : "IdRef", "name" : "'Reserve Id'" }, 2521 { "kind" : "IdRef", "name" : "'Index'" }, 2522 { "kind" : "IdRef", "name" : "'Pointer'" }, 2523 { "kind" : "IdRef", "name" : "'Packet Size'" }, 2524 { "kind" : "IdRef", "name" : "'Packet Alignment'" } 2525 ], 2526 "capabilities" : [ "Pipes" ] 2527 }, 2528 { 2529 "opname" : "OpReservedWritePipe", 2530 "opcode" : 277, 2531 "operands" : [ 2532 { "kind" : "IdResultType" }, 2533 { "kind" : "IdResult" }, 2534 { "kind" : "IdRef", "name" : "'Pipe'" }, 2535 { "kind" : "IdRef", "name" : "'Reserve Id'" }, 2536 { "kind" : "IdRef", "name" : "'Index'" }, 2537 { "kind" : "IdRef", "name" : "'Pointer'" }, 2538 { "kind" : "IdRef", "name" : "'Packet Size'" }, 2539 { "kind" : "IdRef", "name" : "'Packet Alignment'" } 2540 ], 2541 "capabilities" : [ "Pipes" ] 2542 }, 2543 { 2544 "opname" : "OpReserveReadPipePackets", 2545 "opcode" : 278, 2546 "operands" : [ 2547 { "kind" : "IdResultType" }, 2548 { "kind" : "IdResult" }, 2549 { "kind" : "IdRef", "name" : "'Pipe'" }, 2550 { "kind" : "IdRef", "name" : "'Num Packets'" }, 2551 { "kind" : "IdRef", "name" : "'Packet Size'" }, 2552 { "kind" : "IdRef", "name" : "'Packet Alignment'" } 2553 ], 2554 "capabilities" : [ "Pipes" ] 2555 }, 2556 { 2557 "opname" : "OpReserveWritePipePackets", 2558 "opcode" : 279, 2559 "operands" : [ 2560 { "kind" : "IdResultType" }, 2561 { "kind" : "IdResult" }, 2562 { "kind" : "IdRef", "name" : "'Pipe'" }, 2563 { "kind" : "IdRef", "name" : "'Num Packets'" }, 2564 { "kind" : "IdRef", "name" : "'Packet Size'" }, 2565 { "kind" : "IdRef", "name" : "'Packet Alignment'" } 2566 ], 2567 "capabilities" : [ "Pipes" ] 2568 }, 2569 { 2570 "opname" : "OpCommitReadPipe", 2571 "opcode" : 280, 2572 "operands" : [ 2573 { "kind" : "IdRef", "name" : "'Pipe'" }, 2574 { "kind" : "IdRef", "name" : "'Reserve Id'" }, 2575 { "kind" : "IdRef", "name" : "'Packet Size'" }, 2576 { "kind" : "IdRef", "name" : "'Packet Alignment'" } 2577 ], 2578 "capabilities" : [ "Pipes" ] 2579 }, 2580 { 2581 "opname" : "OpCommitWritePipe", 2582 "opcode" : 281, 2583 "operands" : [ 2584 { "kind" : "IdRef", "name" : "'Pipe'" }, 2585 { "kind" : "IdRef", "name" : "'Reserve Id'" }, 2586 { "kind" : "IdRef", "name" : "'Packet Size'" }, 2587 { "kind" : "IdRef", "name" : "'Packet Alignment'" } 2588 ], 2589 "capabilities" : [ "Pipes" ] 2590 }, 2591 { 2592 "opname" : "OpIsValidReserveId", 2593 "opcode" : 282, 2594 "operands" : [ 2595 { "kind" : "IdResultType" }, 2596 { "kind" : "IdResult" }, 2597 { "kind" : "IdRef", "name" : "'Reserve Id'" } 2598 ], 2599 "capabilities" : [ "Pipes" ] 2600 }, 2601 { 2602 "opname" : "OpGetNumPipePackets", 2603 "opcode" : 283, 2604 "operands" : [ 2605 { "kind" : "IdResultType" }, 2606 { "kind" : "IdResult" }, 2607 { "kind" : "IdRef", "name" : "'Pipe'" }, 2608 { "kind" : "IdRef", "name" : "'Packet Size'" }, 2609 { "kind" : "IdRef", "name" : "'Packet Alignment'" } 2610 ], 2611 "capabilities" : [ "Pipes" ] 2612 }, 2613 { 2614 "opname" : "OpGetMaxPipePackets", 2615 "opcode" : 284, 2616 "operands" : [ 2617 { "kind" : "IdResultType" }, 2618 { "kind" : "IdResult" }, 2619 { "kind" : "IdRef", "name" : "'Pipe'" }, 2620 { "kind" : "IdRef", "name" : "'Packet Size'" }, 2621 { "kind" : "IdRef", "name" : "'Packet Alignment'" } 2622 ], 2623 "capabilities" : [ "Pipes" ] 2624 }, 2625 { 2626 "opname" : "OpGroupReserveReadPipePackets", 2627 "opcode" : 285, 2628 "operands" : [ 2629 { "kind" : "IdResultType" }, 2630 { "kind" : "IdResult" }, 2631 { "kind" : "IdScope", "name" : "'Execution'" }, 2632 { "kind" : "IdRef", "name" : "'Pipe'" }, 2633 { "kind" : "IdRef", "name" : "'Num Packets'" }, 2634 { "kind" : "IdRef", "name" : "'Packet Size'" }, 2635 { "kind" : "IdRef", "name" : "'Packet Alignment'" } 2636 ], 2637 "capabilities" : [ "Pipes" ] 2638 }, 2639 { 2640 "opname" : "OpGroupReserveWritePipePackets", 2641 "opcode" : 286, 2642 "operands" : [ 2643 { "kind" : "IdResultType" }, 2644 { "kind" : "IdResult" }, 2645 { "kind" : "IdScope", "name" : "'Execution'" }, 2646 { "kind" : "IdRef", "name" : "'Pipe'" }, 2647 { "kind" : "IdRef", "name" : "'Num Packets'" }, 2648 { "kind" : "IdRef", "name" : "'Packet Size'" }, 2649 { "kind" : "IdRef", "name" : "'Packet Alignment'" } 2650 ], 2651 "capabilities" : [ "Pipes" ] 2652 }, 2653 { 2654 "opname" : "OpGroupCommitReadPipe", 2655 "opcode" : 287, 2656 "operands" : [ 2657 { "kind" : "IdScope", "name" : "'Execution'" }, 2658 { "kind" : "IdRef", "name" : "'Pipe'" }, 2659 { "kind" : "IdRef", "name" : "'Reserve Id'" }, 2660 { "kind" : "IdRef", "name" : "'Packet Size'" }, 2661 { "kind" : "IdRef", "name" : "'Packet Alignment'" } 2662 ], 2663 "capabilities" : [ "Pipes" ] 2664 }, 2665 { 2666 "opname" : "OpGroupCommitWritePipe", 2667 "opcode" : 288, 2668 "operands" : [ 2669 { "kind" : "IdScope", "name" : "'Execution'" }, 2670 { "kind" : "IdRef", "name" : "'Pipe'" }, 2671 { "kind" : "IdRef", "name" : "'Reserve Id'" }, 2672 { "kind" : "IdRef", "name" : "'Packet Size'" }, 2673 { "kind" : "IdRef", "name" : "'Packet Alignment'" } 2674 ], 2675 "capabilities" : [ "Pipes" ] 2676 }, 2677 { 2678 "opname" : "OpEnqueueMarker", 2679 "opcode" : 291, 2680 "operands" : [ 2681 { "kind" : "IdResultType" }, 2682 { "kind" : "IdResult" }, 2683 { "kind" : "IdRef", "name" : "'Queue'" }, 2684 { "kind" : "IdRef", "name" : "'Num Events'" }, 2685 { "kind" : "IdRef", "name" : "'Wait Events'" }, 2686 { "kind" : "IdRef", "name" : "'Ret Event'" } 2687 ], 2688 "capabilities" : [ "DeviceEnqueue" ] 2689 }, 2690 { 2691 "opname" : "OpEnqueueKernel", 2692 "opcode" : 292, 2693 "operands" : [ 2694 { "kind" : "IdResultType" }, 2695 { "kind" : "IdResult" }, 2696 { "kind" : "IdRef", "name" : "'Queue'" }, 2697 { "kind" : "IdRef", "name" : "'Flags'" }, 2698 { "kind" : "IdRef", "name" : "'ND Range'" }, 2699 { "kind" : "IdRef", "name" : "'Num Events'" }, 2700 { "kind" : "IdRef", "name" : "'Wait Events'" }, 2701 { "kind" : "IdRef", "name" : "'Ret Event'" }, 2702 { "kind" : "IdRef", "name" : "'Invoke'" }, 2703 { "kind" : "IdRef", "name" : "'Param'" }, 2704 { "kind" : "IdRef", "name" : "'Param Size'" }, 2705 { "kind" : "IdRef", "name" : "'Param Align'" }, 2706 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Local Size'" } 2707 ], 2708 "capabilities" : [ "DeviceEnqueue" ] 2709 }, 2710 { 2711 "opname" : "OpGetKernelNDrangeSubGroupCount", 2712 "opcode" : 293, 2713 "operands" : [ 2714 { "kind" : "IdResultType" }, 2715 { "kind" : "IdResult" }, 2716 { "kind" : "IdRef", "name" : "'ND Range'" }, 2717 { "kind" : "IdRef", "name" : "'Invoke'" }, 2718 { "kind" : "IdRef", "name" : "'Param'" }, 2719 { "kind" : "IdRef", "name" : "'Param Size'" }, 2720 { "kind" : "IdRef", "name" : "'Param Align'" } 2721 ], 2722 "capabilities" : [ "DeviceEnqueue" ] 2723 }, 2724 { 2725 "opname" : "OpGetKernelNDrangeMaxSubGroupSize", 2726 "opcode" : 294, 2727 "operands" : [ 2728 { "kind" : "IdResultType" }, 2729 { "kind" : "IdResult" }, 2730 { "kind" : "IdRef", "name" : "'ND Range'" }, 2731 { "kind" : "IdRef", "name" : "'Invoke'" }, 2732 { "kind" : "IdRef", "name" : "'Param'" }, 2733 { "kind" : "IdRef", "name" : "'Param Size'" }, 2734 { "kind" : "IdRef", "name" : "'Param Align'" } 2735 ], 2736 "capabilities" : [ "DeviceEnqueue" ] 2737 }, 2738 { 2739 "opname" : "OpGetKernelWorkGroupSize", 2740 "opcode" : 295, 2741 "operands" : [ 2742 { "kind" : "IdResultType" }, 2743 { "kind" : "IdResult" }, 2744 { "kind" : "IdRef", "name" : "'Invoke'" }, 2745 { "kind" : "IdRef", "name" : "'Param'" }, 2746 { "kind" : "IdRef", "name" : "'Param Size'" }, 2747 { "kind" : "IdRef", "name" : "'Param Align'" } 2748 ], 2749 "capabilities" : [ "DeviceEnqueue" ] 2750 }, 2751 { 2752 "opname" : "OpGetKernelPreferredWorkGroupSizeMultiple", 2753 "opcode" : 296, 2754 "operands" : [ 2755 { "kind" : "IdResultType" }, 2756 { "kind" : "IdResult" }, 2757 { "kind" : "IdRef", "name" : "'Invoke'" }, 2758 { "kind" : "IdRef", "name" : "'Param'" }, 2759 { "kind" : "IdRef", "name" : "'Param Size'" }, 2760 { "kind" : "IdRef", "name" : "'Param Align'" } 2761 ], 2762 "capabilities" : [ "DeviceEnqueue" ] 2763 }, 2764 { 2765 "opname" : "OpRetainEvent", 2766 "opcode" : 297, 2767 "operands" : [ 2768 { "kind" : "IdRef", "name" : "'Event'" } 2769 ], 2770 "capabilities" : [ "DeviceEnqueue" ] 2771 }, 2772 { 2773 "opname" : "OpReleaseEvent", 2774 "opcode" : 298, 2775 "operands" : [ 2776 { "kind" : "IdRef", "name" : "'Event'" } 2777 ], 2778 "capabilities" : [ "DeviceEnqueue" ] 2779 }, 2780 { 2781 "opname" : "OpCreateUserEvent", 2782 "opcode" : 299, 2783 "operands" : [ 2784 { "kind" : "IdResultType" }, 2785 { "kind" : "IdResult" } 2786 ], 2787 "capabilities" : [ "DeviceEnqueue" ] 2788 }, 2789 { 2790 "opname" : "OpIsValidEvent", 2791 "opcode" : 300, 2792 "operands" : [ 2793 { "kind" : "IdResultType" }, 2794 { "kind" : "IdResult" }, 2795 { "kind" : "IdRef", "name" : "'Event'" } 2796 ], 2797 "capabilities" : [ "DeviceEnqueue" ] 2798 }, 2799 { 2800 "opname" : "OpSetUserEventStatus", 2801 "opcode" : 301, 2802 "operands" : [ 2803 { "kind" : "IdRef", "name" : "'Event'" }, 2804 { "kind" : "IdRef", "name" : "'Status'" } 2805 ], 2806 "capabilities" : [ "DeviceEnqueue" ] 2807 }, 2808 { 2809 "opname" : "OpCaptureEventProfilingInfo", 2810 "opcode" : 302, 2811 "operands" : [ 2812 { "kind" : "IdRef", "name" : "'Event'" }, 2813 { "kind" : "IdRef", "name" : "'Profiling Info'" }, 2814 { "kind" : "IdRef", "name" : "'Value'" } 2815 ], 2816 "capabilities" : [ "DeviceEnqueue" ] 2817 }, 2818 { 2819 "opname" : "OpGetDefaultQueue", 2820 "opcode" : 303, 2821 "operands" : [ 2822 { "kind" : "IdResultType" }, 2823 { "kind" : "IdResult" } 2824 ], 2825 "capabilities" : [ "DeviceEnqueue" ] 2826 }, 2827 { 2828 "opname" : "OpBuildNDRange", 2829 "opcode" : 304, 2830 "operands" : [ 2831 { "kind" : "IdResultType" }, 2832 { "kind" : "IdResult" }, 2833 { "kind" : "IdRef", "name" : "'GlobalWorkSize'" }, 2834 { "kind" : "IdRef", "name" : "'LocalWorkSize'" }, 2835 { "kind" : "IdRef", "name" : "'GlobalWorkOffset'" } 2836 ], 2837 "capabilities" : [ "DeviceEnqueue" ] 2838 }, 2839 { 2840 "opname" : "OpImageSparseSampleImplicitLod", 2841 "opcode" : 305, 2842 "operands" : [ 2843 { "kind" : "IdResultType" }, 2844 { "kind" : "IdResult" }, 2845 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 2846 { "kind" : "IdRef", "name" : "'Coordinate'" }, 2847 { "kind" : "ImageOperands", "quantifier" : "?" } 2848 ], 2849 "capabilities" : [ "SparseResidency" ] 2850 }, 2851 { 2852 "opname" : "OpImageSparseSampleExplicitLod", 2853 "opcode" : 306, 2854 "operands" : [ 2855 { "kind" : "IdResultType" }, 2856 { "kind" : "IdResult" }, 2857 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 2858 { "kind" : "IdRef", "name" : "'Coordinate'" }, 2859 { "kind" : "ImageOperands" } 2860 ], 2861 "capabilities" : [ "SparseResidency" ] 2862 }, 2863 { 2864 "opname" : "OpImageSparseSampleDrefImplicitLod", 2865 "opcode" : 307, 2866 "operands" : [ 2867 { "kind" : "IdResultType" }, 2868 { "kind" : "IdResult" }, 2869 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 2870 { "kind" : "IdRef", "name" : "'Coordinate'" }, 2871 { "kind" : "IdRef", "name" : "'D~ref~'" }, 2872 { "kind" : "ImageOperands", "quantifier" : "?" } 2873 ], 2874 "capabilities" : [ "SparseResidency" ] 2875 }, 2876 { 2877 "opname" : "OpImageSparseSampleDrefExplicitLod", 2878 "opcode" : 308, 2879 "operands" : [ 2880 { "kind" : "IdResultType" }, 2881 { "kind" : "IdResult" }, 2882 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 2883 { "kind" : "IdRef", "name" : "'Coordinate'" }, 2884 { "kind" : "IdRef", "name" : "'D~ref~'" }, 2885 { "kind" : "ImageOperands" } 2886 ], 2887 "capabilities" : [ "SparseResidency" ] 2888 }, 2889 { 2890 "opname" : "OpImageSparseSampleProjImplicitLod", 2891 "opcode" : 309, 2892 "operands" : [ 2893 { "kind" : "IdResultType" }, 2894 { "kind" : "IdResult" }, 2895 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 2896 { "kind" : "IdRef", "name" : "'Coordinate'" }, 2897 { "kind" : "ImageOperands", "quantifier" : "?" } 2898 ], 2899 "capabilities" : [ "SparseResidency" ], 2900 "version" : "None" 2901 }, 2902 { 2903 "opname" : "OpImageSparseSampleProjExplicitLod", 2904 "opcode" : 310, 2905 "operands" : [ 2906 { "kind" : "IdResultType" }, 2907 { "kind" : "IdResult" }, 2908 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 2909 { "kind" : "IdRef", "name" : "'Coordinate'" }, 2910 { "kind" : "ImageOperands" } 2911 ], 2912 "capabilities" : [ "SparseResidency" ], 2913 "version" : "None" 2914 }, 2915 { 2916 "opname" : "OpImageSparseSampleProjDrefImplicitLod", 2917 "opcode" : 311, 2918 "operands" : [ 2919 { "kind" : "IdResultType" }, 2920 { "kind" : "IdResult" }, 2921 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 2922 { "kind" : "IdRef", "name" : "'Coordinate'" }, 2923 { "kind" : "IdRef", "name" : "'D~ref~'" }, 2924 { "kind" : "ImageOperands", "quantifier" : "?" } 2925 ], 2926 "capabilities" : [ "SparseResidency" ], 2927 "version" : "None" 2928 }, 2929 { 2930 "opname" : "OpImageSparseSampleProjDrefExplicitLod", 2931 "opcode" : 312, 2932 "operands" : [ 2933 { "kind" : "IdResultType" }, 2934 { "kind" : "IdResult" }, 2935 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 2936 { "kind" : "IdRef", "name" : "'Coordinate'" }, 2937 { "kind" : "IdRef", "name" : "'D~ref~'" }, 2938 { "kind" : "ImageOperands" } 2939 ], 2940 "capabilities" : [ "SparseResidency" ], 2941 "version" : "None" 2942 }, 2943 { 2944 "opname" : "OpImageSparseFetch", 2945 "opcode" : 313, 2946 "operands" : [ 2947 { "kind" : "IdResultType" }, 2948 { "kind" : "IdResult" }, 2949 { "kind" : "IdRef", "name" : "'Image'" }, 2950 { "kind" : "IdRef", "name" : "'Coordinate'" }, 2951 { "kind" : "ImageOperands", "quantifier" : "?" } 2952 ], 2953 "capabilities" : [ "SparseResidency" ] 2954 }, 2955 { 2956 "opname" : "OpImageSparseGather", 2957 "opcode" : 314, 2958 "operands" : [ 2959 { "kind" : "IdResultType" }, 2960 { "kind" : "IdResult" }, 2961 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 2962 { "kind" : "IdRef", "name" : "'Coordinate'" }, 2963 { "kind" : "IdRef", "name" : "'Component'" }, 2964 { "kind" : "ImageOperands", "quantifier" : "?" } 2965 ], 2966 "capabilities" : [ "SparseResidency" ] 2967 }, 2968 { 2969 "opname" : "OpImageSparseDrefGather", 2970 "opcode" : 315, 2971 "operands" : [ 2972 { "kind" : "IdResultType" }, 2973 { "kind" : "IdResult" }, 2974 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 2975 { "kind" : "IdRef", "name" : "'Coordinate'" }, 2976 { "kind" : "IdRef", "name" : "'D~ref~'" }, 2977 { "kind" : "ImageOperands", "quantifier" : "?" } 2978 ], 2979 "capabilities" : [ "SparseResidency" ] 2980 }, 2981 { 2982 "opname" : "OpImageSparseTexelsResident", 2983 "opcode" : 316, 2984 "operands" : [ 2985 { "kind" : "IdResultType" }, 2986 { "kind" : "IdResult" }, 2987 { "kind" : "IdRef", "name" : "'Resident Code'" } 2988 ], 2989 "capabilities" : [ "SparseResidency" ] 2990 }, 2991 { 2992 "opname" : "OpNoLine", 2993 "opcode" : 317 2994 }, 2995 { 2996 "opname" : "OpAtomicFlagTestAndSet", 2997 "opcode" : 318, 2998 "operands" : [ 2999 { "kind" : "IdResultType" }, 3000 { "kind" : "IdResult" }, 3001 { "kind" : "IdRef", "name" : "'Pointer'" }, 3002 { "kind" : "IdScope", "name" : "'Scope'" }, 3003 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" } 3004 ], 3005 "capabilities" : [ "Kernel" ] 3006 }, 3007 { 3008 "opname" : "OpAtomicFlagClear", 3009 "opcode" : 319, 3010 "operands" : [ 3011 { "kind" : "IdRef", "name" : "'Pointer'" }, 3012 { "kind" : "IdScope", "name" : "'Scope'" }, 3013 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" } 3014 ], 3015 "capabilities" : [ "Kernel" ] 3016 }, 3017 { 3018 "opname" : "OpImageSparseRead", 3019 "opcode" : 320, 3020 "operands" : [ 3021 { "kind" : "IdResultType" }, 3022 { "kind" : "IdResult" }, 3023 { "kind" : "IdRef", "name" : "'Image'" }, 3024 { "kind" : "IdRef", "name" : "'Coordinate'" }, 3025 { "kind" : "ImageOperands", "quantifier" : "?" } 3026 ], 3027 "capabilities" : [ "SparseResidency" ] 3028 }, 3029 { 3030 "opname" : "OpSizeOf", 3031 "opcode" : 321, 3032 "operands" : [ 3033 { "kind" : "IdResultType" }, 3034 { "kind" : "IdResult" }, 3035 { "kind" : "IdRef", "name" : "'Pointer'" } 3036 ], 3037 "capabilities" : [ "Addresses" ], 3038 "version" : "1.1" 3039 }, 3040 { 3041 "opname" : "OpTypePipeStorage", 3042 "opcode" : 322, 3043 "operands" : [ 3044 { "kind" : "IdResult" } 3045 ], 3046 "capabilities" : [ "PipeStorage" ], 3047 "version" : "1.1" 3048 }, 3049 { 3050 "opname" : "OpConstantPipeStorage", 3051 "opcode" : 323, 3052 "operands" : [ 3053 { "kind" : "IdResultType" }, 3054 { "kind" : "IdResult" }, 3055 { "kind" : "LiteralInteger", "name" : "'Packet Size'" }, 3056 { "kind" : "LiteralInteger", "name" : "'Packet Alignment'" }, 3057 { "kind" : "LiteralInteger", "name" : "'Capacity'" } 3058 ], 3059 "capabilities" : [ "PipeStorage" ], 3060 "version" : "1.1" 3061 }, 3062 { 3063 "opname" : "OpCreatePipeFromPipeStorage", 3064 "opcode" : 324, 3065 "operands" : [ 3066 { "kind" : "IdResultType" }, 3067 { "kind" : "IdResult" }, 3068 { "kind" : "IdRef", "name" : "'Pipe Storage'" } 3069 ], 3070 "capabilities" : [ "PipeStorage" ], 3071 "version" : "1.1" 3072 }, 3073 { 3074 "opname" : "OpGetKernelLocalSizeForSubgroupCount", 3075 "opcode" : 325, 3076 "operands" : [ 3077 { "kind" : "IdResultType" }, 3078 { "kind" : "IdResult" }, 3079 { "kind" : "IdRef", "name" : "'Subgroup Count'" }, 3080 { "kind" : "IdRef", "name" : "'Invoke'" }, 3081 { "kind" : "IdRef", "name" : "'Param'" }, 3082 { "kind" : "IdRef", "name" : "'Param Size'" }, 3083 { "kind" : "IdRef", "name" : "'Param Align'" } 3084 ], 3085 "capabilities" : [ "SubgroupDispatch" ], 3086 "version" : "1.1" 3087 }, 3088 { 3089 "opname" : "OpGetKernelMaxNumSubgroups", 3090 "opcode" : 326, 3091 "operands" : [ 3092 { "kind" : "IdResultType" }, 3093 { "kind" : "IdResult" }, 3094 { "kind" : "IdRef", "name" : "'Invoke'" }, 3095 { "kind" : "IdRef", "name" : "'Param'" }, 3096 { "kind" : "IdRef", "name" : "'Param Size'" }, 3097 { "kind" : "IdRef", "name" : "'Param Align'" } 3098 ], 3099 "capabilities" : [ "SubgroupDispatch" ], 3100 "version" : "1.1" 3101 }, 3102 { 3103 "opname" : "OpTypeNamedBarrier", 3104 "opcode" : 327, 3105 "operands" : [ 3106 { "kind" : "IdResult" } 3107 ], 3108 "capabilities" : [ "NamedBarrier" ], 3109 "version" : "1.1" 3110 }, 3111 { 3112 "opname" : "OpNamedBarrierInitialize", 3113 "opcode" : 328, 3114 "operands" : [ 3115 { "kind" : "IdResultType" }, 3116 { "kind" : "IdResult" }, 3117 { "kind" : "IdRef", "name" : "'Subgroup Count'" } 3118 ], 3119 "capabilities" : [ "NamedBarrier" ], 3120 "version" : "1.1" 3121 }, 3122 { 3123 "opname" : "OpMemoryNamedBarrier", 3124 "opcode" : 329, 3125 "operands" : [ 3126 { "kind" : "IdRef", "name" : "'Named Barrier'" }, 3127 { "kind" : "IdScope", "name" : "'Memory'" }, 3128 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" } 3129 ], 3130 "capabilities" : [ "NamedBarrier" ], 3131 "version" : "1.1" 3132 }, 3133 { 3134 "opname" : "OpModuleProcessed", 3135 "opcode" : 330, 3136 "operands" : [ 3137 { "kind" : "LiteralString", "name" : "'Process'" } 3138 ], 3139 "version" : "1.1" 3140 }, 3141 { 3142 "opname" : "OpExecutionModeId", 3143 "opcode" : 331, 3144 "operands" : [ 3145 { "kind" : "IdRef", "name" : "'Entry Point'" }, 3146 { "kind" : "ExecutionMode", "name" : "'Mode'" } 3147 ], 3148 "version" : "1.2" 3149 }, 3150 { 3151 "opname" : "OpDecorateId", 3152 "opcode" : 332, 3153 "operands" : [ 3154 { "kind" : "IdRef", "name" : "'Target'" }, 3155 { "kind" : "Decoration" } 3156 ], 3157 "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ], 3158 "version" : "1.2" 3159 }, 3160 { 3161 "opname" : "OpGroupNonUniformElect", 3162 "opcode" : 333, 3163 "operands" : [ 3164 { "kind" : "IdResultType" }, 3165 { "kind" : "IdResult" }, 3166 { "kind" : "IdScope", "name" : "'Execution'" } 3167 ], 3168 "capabilities" : [ "GroupNonUniform" ], 3169 "version" : "1.3" 3170 }, 3171 { 3172 "opname" : "OpGroupNonUniformAll", 3173 "opcode" : 334, 3174 "operands" : [ 3175 { "kind" : "IdResultType" }, 3176 { "kind" : "IdResult" }, 3177 { "kind" : "IdScope", "name" : "'Execution'" }, 3178 { "kind" : "IdRef", "name" : "'Predicate'" } 3179 ], 3180 "capabilities" : [ "GroupNonUniformVote" ], 3181 "version" : "1.3" 3182 }, 3183 { 3184 "opname" : "OpGroupNonUniformAny", 3185 "opcode" : 335, 3186 "operands" : [ 3187 { "kind" : "IdResultType" }, 3188 { "kind" : "IdResult" }, 3189 { "kind" : "IdScope", "name" : "'Execution'" }, 3190 { "kind" : "IdRef", "name" : "'Predicate'" } 3191 ], 3192 "capabilities" : [ "GroupNonUniformVote" ], 3193 "version" : "1.3" 3194 }, 3195 { 3196 "opname" : "OpGroupNonUniformAllEqual", 3197 "opcode" : 336, 3198 "operands" : [ 3199 { "kind" : "IdResultType" }, 3200 { "kind" : "IdResult" }, 3201 { "kind" : "IdScope", "name" : "'Execution'" }, 3202 { "kind" : "IdRef", "name" : "'Value'" } 3203 ], 3204 "capabilities" : [ "GroupNonUniformVote" ], 3205 "version" : "1.3" 3206 }, 3207 { 3208 "opname" : "OpGroupNonUniformBroadcast", 3209 "opcode" : 337, 3210 "operands" : [ 3211 { "kind" : "IdResultType" }, 3212 { "kind" : "IdResult" }, 3213 { "kind" : "IdScope", "name" : "'Execution'" }, 3214 { "kind" : "IdRef", "name" : "'Value'" }, 3215 { "kind" : "IdRef", "name" : "'Id'" } 3216 ], 3217 "capabilities" : [ "GroupNonUniformBallot" ], 3218 "version" : "1.3" 3219 }, 3220 { 3221 "opname" : "OpGroupNonUniformBroadcastFirst", 3222 "opcode" : 338, 3223 "operands" : [ 3224 { "kind" : "IdResultType" }, 3225 { "kind" : "IdResult" }, 3226 { "kind" : "IdScope", "name" : "'Execution'" }, 3227 { "kind" : "IdRef", "name" : "'Value'" } 3228 ], 3229 "capabilities" : [ "GroupNonUniformBallot" ], 3230 "version" : "1.3" 3231 }, 3232 { 3233 "opname" : "OpGroupNonUniformBallot", 3234 "opcode" : 339, 3235 "operands" : [ 3236 { "kind" : "IdResultType" }, 3237 { "kind" : "IdResult" }, 3238 { "kind" : "IdScope", "name" : "'Execution'" }, 3239 { "kind" : "IdRef", "name" : "'Predicate'" } 3240 ], 3241 "capabilities" : [ "GroupNonUniformBallot" ], 3242 "version" : "1.3" 3243 }, 3244 { 3245 "opname" : "OpGroupNonUniformInverseBallot", 3246 "opcode" : 340, 3247 "operands" : [ 3248 { "kind" : "IdResultType" }, 3249 { "kind" : "IdResult" }, 3250 { "kind" : "IdScope", "name" : "'Execution'" }, 3251 { "kind" : "IdRef", "name" : "'Value'" } 3252 ], 3253 "capabilities" : [ "GroupNonUniformBallot" ], 3254 "version" : "1.3" 3255 }, 3256 { 3257 "opname" : "OpGroupNonUniformBallotBitExtract", 3258 "opcode" : 341, 3259 "operands" : [ 3260 { "kind" : "IdResultType" }, 3261 { "kind" : "IdResult" }, 3262 { "kind" : "IdScope", "name" : "'Execution'" }, 3263 { "kind" : "IdRef", "name" : "'Value'" }, 3264 { "kind" : "IdRef", "name" : "'Index'" } 3265 ], 3266 "capabilities" : [ "GroupNonUniformBallot" ], 3267 "version" : "1.3" 3268 }, 3269 { 3270 "opname" : "OpGroupNonUniformBallotBitCount", 3271 "opcode" : 342, 3272 "operands" : [ 3273 { "kind" : "IdResultType" }, 3274 { "kind" : "IdResult" }, 3275 { "kind" : "IdScope", "name" : "'Execution'" }, 3276 { "kind" : "GroupOperation", "name" : "'Operation'" }, 3277 { "kind" : "IdRef", "name" : "'Value'" } 3278 ], 3279 "capabilities" : [ "GroupNonUniformBallot" ], 3280 "version" : "1.3" 3281 }, 3282 { 3283 "opname" : "OpGroupNonUniformBallotFindLSB", 3284 "opcode" : 343, 3285 "operands" : [ 3286 { "kind" : "IdResultType" }, 3287 { "kind" : "IdResult" }, 3288 { "kind" : "IdScope", "name" : "'Execution'" }, 3289 { "kind" : "IdRef", "name" : "'Value'" } 3290 ], 3291 "capabilities" : [ "GroupNonUniformBallot" ], 3292 "version" : "1.3" 3293 }, 3294 { 3295 "opname" : "OpGroupNonUniformBallotFindMSB", 3296 "opcode" : 344, 3297 "operands" : [ 3298 { "kind" : "IdResultType" }, 3299 { "kind" : "IdResult" }, 3300 { "kind" : "IdScope", "name" : "'Execution'" }, 3301 { "kind" : "IdRef", "name" : "'Value'" } 3302 ], 3303 "capabilities" : [ "GroupNonUniformBallot" ], 3304 "version" : "1.3" 3305 }, 3306 { 3307 "opname" : "OpGroupNonUniformShuffle", 3308 "opcode" : 345, 3309 "operands" : [ 3310 { "kind" : "IdResultType" }, 3311 { "kind" : "IdResult" }, 3312 { "kind" : "IdScope", "name" : "'Execution'" }, 3313 { "kind" : "IdRef", "name" : "'Value'" }, 3314 { "kind" : "IdRef", "name" : "'Id'" } 3315 ], 3316 "capabilities" : [ "GroupNonUniformShuffle" ], 3317 "version" : "1.3" 3318 }, 3319 { 3320 "opname" : "OpGroupNonUniformShuffleXor", 3321 "opcode" : 346, 3322 "operands" : [ 3323 { "kind" : "IdResultType" }, 3324 { "kind" : "IdResult" }, 3325 { "kind" : "IdScope", "name" : "'Execution'" }, 3326 { "kind" : "IdRef", "name" : "'Value'" }, 3327 { "kind" : "IdRef", "name" : "'Mask'" } 3328 ], 3329 "capabilities" : [ "GroupNonUniformShuffle" ], 3330 "version" : "1.3" 3331 }, 3332 { 3333 "opname" : "OpGroupNonUniformShuffleUp", 3334 "opcode" : 347, 3335 "operands" : [ 3336 { "kind" : "IdResultType" }, 3337 { "kind" : "IdResult" }, 3338 { "kind" : "IdScope", "name" : "'Execution'" }, 3339 { "kind" : "IdRef", "name" : "'Value'" }, 3340 { "kind" : "IdRef", "name" : "'Delta'" } 3341 ], 3342 "capabilities" : [ "GroupNonUniformShuffleRelative" ], 3343 "version" : "1.3" 3344 }, 3345 { 3346 "opname" : "OpGroupNonUniformShuffleDown", 3347 "opcode" : 348, 3348 "operands" : [ 3349 { "kind" : "IdResultType" }, 3350 { "kind" : "IdResult" }, 3351 { "kind" : "IdScope", "name" : "'Execution'" }, 3352 { "kind" : "IdRef", "name" : "'Value'" }, 3353 { "kind" : "IdRef", "name" : "'Delta'" } 3354 ], 3355 "capabilities" : [ "GroupNonUniformShuffleRelative" ], 3356 "version" : "1.3" 3357 }, 3358 { 3359 "opname" : "OpGroupNonUniformIAdd", 3360 "opcode" : 349, 3361 "operands" : [ 3362 { "kind" : "IdResultType" }, 3363 { "kind" : "IdResult" }, 3364 { "kind" : "IdScope", "name" : "'Execution'" }, 3365 { "kind" : "GroupOperation", "name" : "'Operation'" }, 3366 { "kind" : "IdRef", "name" : "'Value'" }, 3367 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } 3368 ], 3369 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], 3370 "version" : "1.3" 3371 }, 3372 { 3373 "opname" : "OpGroupNonUniformFAdd", 3374 "opcode" : 350, 3375 "operands" : [ 3376 { "kind" : "IdResultType" }, 3377 { "kind" : "IdResult" }, 3378 { "kind" : "IdScope", "name" : "'Execution'" }, 3379 { "kind" : "GroupOperation", "name" : "'Operation'" }, 3380 { "kind" : "IdRef", "name" : "'Value'" }, 3381 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } 3382 ], 3383 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], 3384 "version" : "1.3" 3385 }, 3386 { 3387 "opname" : "OpGroupNonUniformIMul", 3388 "opcode" : 351, 3389 "operands" : [ 3390 { "kind" : "IdResultType" }, 3391 { "kind" : "IdResult" }, 3392 { "kind" : "IdScope", "name" : "'Execution'" }, 3393 { "kind" : "GroupOperation", "name" : "'Operation'" }, 3394 { "kind" : "IdRef", "name" : "'Value'" }, 3395 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } 3396 ], 3397 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], 3398 "version" : "1.3" 3399 }, 3400 { 3401 "opname" : "OpGroupNonUniformFMul", 3402 "opcode" : 352, 3403 "operands" : [ 3404 { "kind" : "IdResultType" }, 3405 { "kind" : "IdResult" }, 3406 { "kind" : "IdScope", "name" : "'Execution'" }, 3407 { "kind" : "GroupOperation", "name" : "'Operation'" }, 3408 { "kind" : "IdRef", "name" : "'Value'" }, 3409 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } 3410 ], 3411 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], 3412 "version" : "1.3" 3413 }, 3414 { 3415 "opname" : "OpGroupNonUniformSMin", 3416 "opcode" : 353, 3417 "operands" : [ 3418 { "kind" : "IdResultType" }, 3419 { "kind" : "IdResult" }, 3420 { "kind" : "IdScope", "name" : "'Execution'" }, 3421 { "kind" : "GroupOperation", "name" : "'Operation'" }, 3422 { "kind" : "IdRef", "name" : "'Value'" }, 3423 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } 3424 ], 3425 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], 3426 "version" : "1.3" 3427 }, 3428 { 3429 "opname" : "OpGroupNonUniformUMin", 3430 "opcode" : 354, 3431 "operands" : [ 3432 { "kind" : "IdResultType" }, 3433 { "kind" : "IdResult" }, 3434 { "kind" : "IdScope", "name" : "'Execution'" }, 3435 { "kind" : "GroupOperation", "name" : "'Operation'" }, 3436 { "kind" : "IdRef", "name" : "'Value'" }, 3437 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } 3438 ], 3439 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], 3440 "version" : "1.3" 3441 }, 3442 { 3443 "opname" : "OpGroupNonUniformFMin", 3444 "opcode" : 355, 3445 "operands" : [ 3446 { "kind" : "IdResultType" }, 3447 { "kind" : "IdResult" }, 3448 { "kind" : "IdScope", "name" : "'Execution'" }, 3449 { "kind" : "GroupOperation", "name" : "'Operation'" }, 3450 { "kind" : "IdRef", "name" : "'Value'" }, 3451 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } 3452 ], 3453 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], 3454 "version" : "1.3" 3455 }, 3456 { 3457 "opname" : "OpGroupNonUniformSMax", 3458 "opcode" : 356, 3459 "operands" : [ 3460 { "kind" : "IdResultType" }, 3461 { "kind" : "IdResult" }, 3462 { "kind" : "IdScope", "name" : "'Execution'" }, 3463 { "kind" : "GroupOperation", "name" : "'Operation'" }, 3464 { "kind" : "IdRef", "name" : "'Value'" }, 3465 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } 3466 ], 3467 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], 3468 "version" : "1.3" 3469 }, 3470 { 3471 "opname" : "OpGroupNonUniformUMax", 3472 "opcode" : 357, 3473 "operands" : [ 3474 { "kind" : "IdResultType" }, 3475 { "kind" : "IdResult" }, 3476 { "kind" : "IdScope", "name" : "'Execution'" }, 3477 { "kind" : "GroupOperation", "name" : "'Operation'" }, 3478 { "kind" : "IdRef", "name" : "'Value'" }, 3479 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } 3480 ], 3481 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], 3482 "version" : "1.3" 3483 }, 3484 { 3485 "opname" : "OpGroupNonUniformFMax", 3486 "opcode" : 358, 3487 "operands" : [ 3488 { "kind" : "IdResultType" }, 3489 { "kind" : "IdResult" }, 3490 { "kind" : "IdScope", "name" : "'Execution'" }, 3491 { "kind" : "GroupOperation", "name" : "'Operation'" }, 3492 { "kind" : "IdRef", "name" : "'Value'" }, 3493 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } 3494 ], 3495 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], 3496 "version" : "1.3" 3497 }, 3498 { 3499 "opname" : "OpGroupNonUniformBitwiseAnd", 3500 "opcode" : 359, 3501 "operands" : [ 3502 { "kind" : "IdResultType" }, 3503 { "kind" : "IdResult" }, 3504 { "kind" : "IdScope", "name" : "'Execution'" }, 3505 { "kind" : "GroupOperation", "name" : "'Operation'" }, 3506 { "kind" : "IdRef", "name" : "'Value'" }, 3507 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } 3508 ], 3509 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], 3510 "version" : "1.3" 3511 }, 3512 { 3513 "opname" : "OpGroupNonUniformBitwiseOr", 3514 "opcode" : 360, 3515 "operands" : [ 3516 { "kind" : "IdResultType" }, 3517 { "kind" : "IdResult" }, 3518 { "kind" : "IdScope", "name" : "'Execution'" }, 3519 { "kind" : "GroupOperation", "name" : "'Operation'" }, 3520 { "kind" : "IdRef", "name" : "'Value'" }, 3521 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } 3522 ], 3523 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], 3524 "version" : "1.3" 3525 }, 3526 { 3527 "opname" : "OpGroupNonUniformBitwiseXor", 3528 "opcode" : 361, 3529 "operands" : [ 3530 { "kind" : "IdResultType" }, 3531 { "kind" : "IdResult" }, 3532 { "kind" : "IdScope", "name" : "'Execution'" }, 3533 { "kind" : "GroupOperation", "name" : "'Operation'" }, 3534 { "kind" : "IdRef", "name" : "'Value'" }, 3535 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } 3536 ], 3537 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], 3538 "version" : "1.3" 3539 }, 3540 { 3541 "opname" : "OpGroupNonUniformLogicalAnd", 3542 "opcode" : 362, 3543 "operands" : [ 3544 { "kind" : "IdResultType" }, 3545 { "kind" : "IdResult" }, 3546 { "kind" : "IdScope", "name" : "'Execution'" }, 3547 { "kind" : "GroupOperation", "name" : "'Operation'" }, 3548 { "kind" : "IdRef", "name" : "'Value'" }, 3549 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } 3550 ], 3551 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], 3552 "version" : "1.3" 3553 }, 3554 { 3555 "opname" : "OpGroupNonUniformLogicalOr", 3556 "opcode" : 363, 3557 "operands" : [ 3558 { "kind" : "IdResultType" }, 3559 { "kind" : "IdResult" }, 3560 { "kind" : "IdScope", "name" : "'Execution'" }, 3561 { "kind" : "GroupOperation", "name" : "'Operation'" }, 3562 { "kind" : "IdRef", "name" : "'Value'" }, 3563 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } 3564 ], 3565 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], 3566 "version" : "1.3" 3567 }, 3568 { 3569 "opname" : "OpGroupNonUniformLogicalXor", 3570 "opcode" : 364, 3571 "operands" : [ 3572 { "kind" : "IdResultType" }, 3573 { "kind" : "IdResult" }, 3574 { "kind" : "IdScope", "name" : "'Execution'" }, 3575 { "kind" : "GroupOperation", "name" : "'Operation'" }, 3576 { "kind" : "IdRef", "name" : "'Value'" }, 3577 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } 3578 ], 3579 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], 3580 "version" : "1.3" 3581 }, 3582 { 3583 "opname" : "OpGroupNonUniformQuadBroadcast", 3584 "opcode" : 365, 3585 "operands" : [ 3586 { "kind" : "IdResultType" }, 3587 { "kind" : "IdResult" }, 3588 { "kind" : "IdScope", "name" : "'Execution'" }, 3589 { "kind" : "IdRef", "name" : "'Value'" }, 3590 { "kind" : "IdRef", "name" : "'Index'" } 3591 ], 3592 "capabilities" : [ "GroupNonUniformQuad" ], 3593 "version" : "1.3" 3594 }, 3595 { 3596 "opname" : "OpGroupNonUniformQuadSwap", 3597 "opcode" : 366, 3598 "operands" : [ 3599 { "kind" : "IdResultType" }, 3600 { "kind" : "IdResult" }, 3601 { "kind" : "IdScope", "name" : "'Execution'" }, 3602 { "kind" : "IdRef", "name" : "'Value'" }, 3603 { "kind" : "IdRef", "name" : "'Direction'" } 3604 ], 3605 "capabilities" : [ "GroupNonUniformQuad" ], 3606 "version" : "1.3" 3607 }, 3608 { 3609 "opname" : "OpSubgroupBallotKHR", 3610 "opcode" : 4421, 3611 "operands" : [ 3612 { "kind" : "IdResultType" }, 3613 { "kind" : "IdResult" }, 3614 { "kind" : "IdRef", "name" : "'Predicate'" } 3615 ], 3616 "capabilities" : [ "SubgroupBallotKHR" ], 3617 "extensions" : [ "SPV_KHR_shader_ballot" ], 3618 "version" : "None" 3619 }, 3620 { 3621 "opname" : "OpSubgroupFirstInvocationKHR", 3622 "opcode" : 4422, 3623 "operands" : [ 3624 { "kind" : "IdResultType" }, 3625 { "kind" : "IdResult" }, 3626 { "kind" : "IdRef", "name" : "'Value'" } 3627 ], 3628 "capabilities" : [ "SubgroupBallotKHR" ], 3629 "extensions" : [ "SPV_KHR_shader_ballot" ], 3630 "version" : "None" 3631 }, 3632 { 3633 "opname" : "OpSubgroupAllKHR", 3634 "opcode" : 4428, 3635 "operands" : [ 3636 { "kind" : "IdResultType" }, 3637 { "kind" : "IdResult" }, 3638 { "kind" : "IdRef", "name" : "'Predicate'" } 3639 ], 3640 "extensions" : [ 3641 "SPV_KHR_subgroup_vote" 3642 ], 3643 "capabilities" : [ "SubgroupVoteKHR" ], 3644 "version" : "None" 3645 }, 3646 { 3647 "opname" : "OpSubgroupAnyKHR", 3648 "opcode" : 4429, 3649 "operands" : [ 3650 { "kind" : "IdResultType" }, 3651 { "kind" : "IdResult" }, 3652 { "kind" : "IdRef", "name" : "'Predicate'" } 3653 ], 3654 "extensions" : [ 3655 "SPV_KHR_subgroup_vote" 3656 ], 3657 "capabilities" : [ "SubgroupVoteKHR" ], 3658 "version" : "None" 3659 }, 3660 { 3661 "opname" : "OpSubgroupAllEqualKHR", 3662 "opcode" : 4430, 3663 "operands" : [ 3664 { "kind" : "IdResultType" }, 3665 { "kind" : "IdResult" }, 3666 { "kind" : "IdRef", "name" : "'Predicate'" } 3667 ], 3668 "extensions" : [ 3669 "SPV_KHR_subgroup_vote" 3670 ], 3671 "capabilities" : [ "SubgroupVoteKHR" ], 3672 "version" : "None" 3673 }, 3674 { 3675 "opname" : "OpSubgroupReadInvocationKHR", 3676 "opcode" : 4432, 3677 "operands" : [ 3678 { "kind" : "IdResultType" }, 3679 { "kind" : "IdResult" }, 3680 { "kind" : "IdRef", "name" : "'Value'" }, 3681 { "kind" : "IdRef", "name" : "'Index'" } 3682 ], 3683 "capabilities" : [ "SubgroupBallotKHR" ], 3684 "extensions" : [ "SPV_KHR_shader_ballot" ], 3685 "version" : "None" 3686 }, 3687 { 3688 "opname" : "OpGroupIAddNonUniformAMD", 3689 "opcode" : 5000, 3690 "operands" : [ 3691 { "kind" : "IdResultType" }, 3692 { "kind" : "IdResult" }, 3693 { "kind" : "IdScope", "name" : "'Execution'" }, 3694 { "kind" : "GroupOperation", "name" : "'Operation'" }, 3695 { "kind" : "IdRef", "name" : "'X'" } 3696 ], 3697 "capabilities" : [ "Groups" ], 3698 "extensions" : [ "SPV_AMD_shader_ballot" ], 3699 "version" : "None" 3700 }, 3701 { 3702 "opname" : "OpGroupFAddNonUniformAMD", 3703 "opcode" : 5001, 3704 "operands" : [ 3705 { "kind" : "IdResultType" }, 3706 { "kind" : "IdResult" }, 3707 { "kind" : "IdScope", "name" : "'Execution'" }, 3708 { "kind" : "GroupOperation", "name" : "'Operation'" }, 3709 { "kind" : "IdRef", "name" : "'X'" } 3710 ], 3711 "capabilities" : [ "Groups" ], 3712 "extensions" : [ "SPV_AMD_shader_ballot" ], 3713 "version" : "None" 3714 }, 3715 { 3716 "opname" : "OpGroupFMinNonUniformAMD", 3717 "opcode" : 5002, 3718 "operands" : [ 3719 { "kind" : "IdResultType" }, 3720 { "kind" : "IdResult" }, 3721 { "kind" : "IdScope", "name" : "'Execution'" }, 3722 { "kind" : "GroupOperation", "name" : "'Operation'" }, 3723 { "kind" : "IdRef", "name" : "'X'" } 3724 ], 3725 "capabilities" : [ "Groups" ], 3726 "extensions" : [ "SPV_AMD_shader_ballot" ], 3727 "version" : "None" 3728 }, 3729 { 3730 "opname" : "OpGroupUMinNonUniformAMD", 3731 "opcode" : 5003, 3732 "operands" : [ 3733 { "kind" : "IdResultType" }, 3734 { "kind" : "IdResult" }, 3735 { "kind" : "IdScope", "name" : "'Execution'" }, 3736 { "kind" : "GroupOperation", "name" : "'Operation'" }, 3737 { "kind" : "IdRef", "name" : "'X'" } 3738 ], 3739 "capabilities" : [ "Groups" ], 3740 "extensions" : [ "SPV_AMD_shader_ballot" ], 3741 "version" : "None" 3742 }, 3743 { 3744 "opname" : "OpGroupSMinNonUniformAMD", 3745 "opcode" : 5004, 3746 "operands" : [ 3747 { "kind" : "IdResultType" }, 3748 { "kind" : "IdResult" }, 3749 { "kind" : "IdScope", "name" : "'Execution'" }, 3750 { "kind" : "GroupOperation", "name" : "'Operation'" }, 3751 { "kind" : "IdRef", "name" : "'X'" } 3752 ], 3753 "capabilities" : [ "Groups" ], 3754 "extensions" : [ "SPV_AMD_shader_ballot" ], 3755 "version" : "None" 3756 }, 3757 { 3758 "opname" : "OpGroupFMaxNonUniformAMD", 3759 "opcode" : 5005, 3760 "operands" : [ 3761 { "kind" : "IdResultType" }, 3762 { "kind" : "IdResult" }, 3763 { "kind" : "IdScope", "name" : "'Execution'" }, 3764 { "kind" : "GroupOperation", "name" : "'Operation'" }, 3765 { "kind" : "IdRef", "name" : "'X'" } 3766 ], 3767 "capabilities" : [ "Groups" ], 3768 "extensions" : [ "SPV_AMD_shader_ballot" ], 3769 "version" : "None" 3770 }, 3771 { 3772 "opname" : "OpGroupUMaxNonUniformAMD", 3773 "opcode" : 5006, 3774 "operands" : [ 3775 { "kind" : "IdResultType" }, 3776 { "kind" : "IdResult" }, 3777 { "kind" : "IdScope", "name" : "'Execution'" }, 3778 { "kind" : "GroupOperation", "name" : "'Operation'" }, 3779 { "kind" : "IdRef", "name" : "'X'" } 3780 ], 3781 "capabilities" : [ "Groups" ], 3782 "extensions" : [ "SPV_AMD_shader_ballot" ], 3783 "version" : "None" 3784 }, 3785 { 3786 "opname" : "OpGroupSMaxNonUniformAMD", 3787 "opcode" : 5007, 3788 "operands" : [ 3789 { "kind" : "IdResultType" }, 3790 { "kind" : "IdResult" }, 3791 { "kind" : "IdScope", "name" : "'Execution'" }, 3792 { "kind" : "GroupOperation", "name" : "'Operation'" }, 3793 { "kind" : "IdRef", "name" : "'X'" } 3794 ], 3795 "capabilities" : [ "Groups" ], 3796 "extensions" : [ "SPV_AMD_shader_ballot" ], 3797 "version" : "None" 3798 }, 3799 { 3800 "opname" : "OpFragmentMaskFetchAMD", 3801 "opcode" : 5011, 3802 "operands" : [ 3803 { "kind" : "IdResultType" }, 3804 { "kind" : "IdResult" }, 3805 { "kind" : "IdRef", "name" : "'Image'" }, 3806 { "kind" : "IdRef", "name" : "'Coordinate'" } 3807 ], 3808 "capabilities" : [ "FragmentMaskAMD" ], 3809 "extensions" : [ "SPV_AMD_shader_fragment_mask" ], 3810 "version" : "None" 3811 }, 3812 { 3813 "opname" : "OpFragmentFetchAMD", 3814 "opcode" : 5012, 3815 "operands" : [ 3816 { "kind" : "IdResultType" }, 3817 { "kind" : "IdResult" }, 3818 { "kind" : "IdRef", "name" : "'Image'" }, 3819 { "kind" : "IdRef", "name" : "'Coordinate'" }, 3820 { "kind" : "IdRef", "name" : "'Fragment Index'" } 3821 ], 3822 "capabilities" : [ "FragmentMaskAMD" ], 3823 "extensions" : [ "SPV_AMD_shader_fragment_mask" ], 3824 "version" : "None" 3825 }, 3826 { 3827 "opname" : "OpWritePackedPrimitiveIndices4x8NV", 3828 "opcode" : 5299, 3829 "operands" : [ 3830 { "kind" : "IdRef", "name" : "'Index Offset'" }, 3831 { "kind" : "IdRef", "name" : "'Packed Indices'" } 3832 ], 3833 "capabilities" : [ "MeshShadingNV" ], 3834 "extensions" : [ "SPV_NV_mesh_shader" ], 3835 "version" : "None" 3836 }, 3837 { 3838 "opname" : "OpReportIntersectionNV", 3839 "opcode" : 5334, 3840 "operands" : [ 3841 { "kind" : "IdResultType" }, 3842 { "kind" : "IdResult" }, 3843 { "kind" : "IdRef", "name" : "'Hit'" }, 3844 { "kind" : "IdRef", "name" : "'HitKind'" } 3845 ], 3846 "capabilities" : [ "RayTracingNV" ], 3847 "extensions" : [ "SPV_NV_ray_tracing" ] 3848 }, 3849 { 3850 "opname" : "OpIgnoreIntersectionNV", 3851 "opcode" : 5335, 3852 3853 "capabilities" : [ "RayTracingNV" ], 3854 "extensions" : [ "SPV_NV_ray_tracing" ] 3855 }, 3856 { 3857 "opname" : "OpTerminateRayNV", 3858 "opcode" : 5336, 3859 3860 "capabilities" : [ "RayTracingNV" ], 3861 "extensions" : [ "SPV_NV_ray_tracing" ] 3862 }, 3863 { 3864 "opname" : "OpTraceNV", 3865 "opcode" : 5337, 3866 "operands" : [ 3867 3868 { "kind" : "IdRef", "name" : "'Accel'" }, 3869 { "kind" : "IdRef", "name" : "'Ray Flags'" }, 3870 { "kind" : "IdRef", "name" : "'Cull Mask'" }, 3871 { "kind" : "IdRef", "name" : "'SBT Offset'" }, 3872 { "kind" : "IdRef", "name" : "'SBT Stride'" }, 3873 { "kind" : "IdRef", "name" : "'Miss Index'" }, 3874 { "kind" : "IdRef", "name" : "'Ray Origin'" }, 3875 { "kind" : "IdRef", "name" : "'Ray Tmin'" }, 3876 { "kind" : "IdRef", "name" : "'Ray Direction'" }, 3877 { "kind" : "IdRef", "name" : "'Ray Tmax'" }, 3878 { "kind" : "IdRef", "name" : "'PayloadId'" } 3879 ], 3880 "capabilities" : [ "RayTracingNV" ], 3881 "extensions" : [ "SPV_NV_ray_tracing" ] 3882 }, 3883 { 3884 "opname" : "OpTypeAccelerationStructureNV", 3885 "opcode" : 5341, 3886 "operands" : [ 3887 { "kind" : "IdResult" } 3888 ], 3889 "capabilities" : [ "RayTracingNV" ], 3890 "extensions" : [ "SPV_NV_ray_tracing" ] 3891 }, 3892 { 3893 "opname" : "OpExecuteCallableNV", 3894 "opcode" : 5344, 3895 "operands" : [ 3896 3897 { "kind" : "IdRef", "name" : "'SBT Index'" }, 3898 { "kind" : "IdRef", "name" : "'Callable DataId'" } 3899 ], 3900 "capabilities" : [ "RayTracingNV" ], 3901 "extensions" : [ "SPV_NV_ray_tracing" ] 3902 }, 3903 { 3904 "opname" : "OpSubgroupShuffleINTEL", 3905 "opcode" : 5571, 3906 "operands" : [ 3907 { "kind" : "IdResultType" }, 3908 { "kind" : "IdResult" }, 3909 { "kind" : "IdRef", "name" : "'Data'" }, 3910 { "kind" : "IdRef", "name" : "'InvocationId'" } 3911 ], 3912 "capabilities" : [ "SubgroupShuffleINTEL" ], 3913 "version" : "None" 3914 }, 3915 { 3916 "opname" : "OpSubgroupShuffleDownINTEL", 3917 "opcode" : 5572, 3918 "operands" : [ 3919 { "kind" : "IdResultType" }, 3920 { "kind" : "IdResult" }, 3921 { "kind" : "IdRef", "name" : "'Current'" }, 3922 { "kind" : "IdRef", "name" : "'Next'" }, 3923 { "kind" : "IdRef", "name" : "'Delta'" } 3924 ], 3925 "capabilities" : [ "SubgroupShuffleINTEL" ], 3926 "version" : "None" 3927 }, 3928 { 3929 "opname" : "OpSubgroupShuffleUpINTEL", 3930 "opcode" : 5573, 3931 "operands" : [ 3932 { "kind" : "IdResultType" }, 3933 { "kind" : "IdResult" }, 3934 { "kind" : "IdRef", "name" : "'Previous'" }, 3935 { "kind" : "IdRef", "name" : "'Current'" }, 3936 { "kind" : "IdRef", "name" : "'Delta'" } 3937 ], 3938 "capabilities" : [ "SubgroupShuffleINTEL" ], 3939 "version" : "None" 3940 }, 3941 { 3942 "opname" : "OpSubgroupShuffleXorINTEL", 3943 "opcode" : 5574, 3944 "operands" : [ 3945 { "kind" : "IdResultType" }, 3946 { "kind" : "IdResult" }, 3947 { "kind" : "IdRef", "name" : "'Data'" }, 3948 { "kind" : "IdRef", "name" : "'Value'" } 3949 ], 3950 "capabilities" : [ "SubgroupShuffleINTEL" ], 3951 "version" : "None" 3952 }, 3953 { 3954 "opname" : "OpSubgroupBlockReadINTEL", 3955 "opcode" : 5575, 3956 "operands" : [ 3957 { "kind" : "IdResultType" }, 3958 { "kind" : "IdResult" }, 3959 { "kind" : "IdRef", "name" : "'Ptr'" } 3960 ], 3961 "capabilities" : [ "SubgroupBufferBlockIOINTEL" ], 3962 "version" : "None" 3963 }, 3964 { 3965 "opname" : "OpSubgroupBlockWriteINTEL", 3966 "opcode" : 5576, 3967 "operands" : [ 3968 { "kind" : "IdRef", "name" : "'Ptr'" }, 3969 { "kind" : "IdRef", "name" : "'Data'" } 3970 ], 3971 "capabilities" : [ "SubgroupBufferBlockIOINTEL" ], 3972 "version" : "None" 3973 }, 3974 { 3975 "opname" : "OpSubgroupImageBlockReadINTEL", 3976 "opcode" : 5577, 3977 "operands" : [ 3978 { "kind" : "IdResultType" }, 3979 { "kind" : "IdResult" }, 3980 { "kind" : "IdRef", "name" : "'Image'" }, 3981 { "kind" : "IdRef", "name" : "'Coordinate'" } 3982 ], 3983 "capabilities" : [ "SubgroupImageBlockIOINTEL" ], 3984 "version" : "None" 3985 }, 3986 { 3987 "opname" : "OpSubgroupImageBlockWriteINTEL", 3988 "opcode" : 5578, 3989 "operands" : [ 3990 { "kind" : "IdRef", "name" : "'Image'" }, 3991 { "kind" : "IdRef", "name" : "'Coordinate'" }, 3992 { "kind" : "IdRef", "name" : "'Data'" } 3993 ], 3994 "capabilities" : [ "SubgroupImageBlockIOINTEL" ], 3995 "version" : "None" 3996 }, 3997 { 3998 "opname" : "OpDecorateStringGOOGLE", 3999 "opcode" : 5632, 4000 "operands" : [ 4001 { "kind" : "IdRef", "name" : "'Target'" }, 4002 { "kind" : "Decoration" } 4003 ], 4004 "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ], 4005 "version" : "None" 4006 }, 4007 { 4008 "opname" : "OpMemberDecorateStringGOOGLE", 4009 "opcode" : 5633, 4010 "operands" : [ 4011 { "kind" : "IdRef", "name" : "'Struct Type'" }, 4012 { "kind" : "LiteralInteger", "name" : "'Member'" }, 4013 { "kind" : "Decoration" } 4014 ], 4015 "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ], 4016 "version" : "None" 4017 }, 4018 { 4019 "opname" : "OpGroupNonUniformPartitionNV", 4020 "opcode" : 5296, 4021 "operands" : [ 4022 { "kind" : "IdResultType" }, 4023 { "kind" : "IdResult" }, 4024 { "kind" : "IdRef", "name" : "'Value'" } 4025 ], 4026 "capabilities" : [ "GroupNonUniformPartitionedNV" ], 4027 "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ], 4028 "version" : "None" 4029 }, 4030 { 4031 "opname" : "OpImageSampleFootprintNV", 4032 "opcode" : 5283, 4033 "operands" : [ 4034 { "kind" : "IdResultType" }, 4035 { "kind" : "IdResult" }, 4036 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 4037 { "kind" : "IdRef", "name" : "'Coordinate'" }, 4038 { "kind" : "IdRef", "name" : "'Granularity'" }, 4039 { "kind" : "IdRef", "name" : "'Coarse'" }, 4040 { "kind" : "ImageOperands", "quantifier" : "?" } 4041 ], 4042 "capabilities" : [ "ImageFootprintNV" ], 4043 "extensions" : [ "SPV_NV_shader_image_footprint" ], 4044 "version" : "None" 4045 } 4046 ], 4047 "operand_kinds" : [ 4048 { 4049 "category" : "BitEnum", 4050 "kind" : "ImageOperands", 4051 "enumerants" : [ 4052 { 4053 "enumerant" : "None", 4054 "value" : "0x0000" 4055 }, 4056 { 4057 "enumerant" : "Bias", 4058 "value" : "0x0001", 4059 "capabilities" : [ "Shader" ], 4060 "parameters" : [ 4061 { "kind" : "IdRef" } 4062 ] 4063 }, 4064 { 4065 "enumerant" : "Lod", 4066 "value" : "0x0002", 4067 "parameters" : [ 4068 { "kind" : "IdRef" } 4069 ] 4070 }, 4071 { 4072 "enumerant" : "Grad", 4073 "value" : "0x0004", 4074 "parameters" : [ 4075 { "kind" : "IdRef" }, 4076 { "kind" : "IdRef" } 4077 ] 4078 }, 4079 { 4080 "enumerant" : "ConstOffset", 4081 "value" : "0x0008", 4082 "parameters" : [ 4083 { "kind" : "IdRef" } 4084 ] 4085 }, 4086 { 4087 "enumerant" : "Offset", 4088 "value" : "0x0010", 4089 "capabilities" : [ "ImageGatherExtended" ], 4090 "parameters" : [ 4091 { "kind" : "IdRef" } 4092 ] 4093 }, 4094 { 4095 "enumerant" : "ConstOffsets", 4096 "value" : "0x0020", 4097 "capabilities" : [ "ImageGatherExtended" ], 4098 "parameters" : [ 4099 { "kind" : "IdRef" } 4100 ] 4101 }, 4102 { 4103 "enumerant" : "Sample", 4104 "value" : "0x0040", 4105 "parameters" : [ 4106 { "kind" : "IdRef" } 4107 ] 4108 }, 4109 { 4110 "enumerant" : "MinLod", 4111 "value" : "0x0080", 4112 "capabilities" : [ "MinLod" ], 4113 "parameters" : [ 4114 { "kind" : "IdRef" } 4115 ] 4116 }, 4117 { 4118 "enumerant" : "MakeTexelAvailableKHR", 4119 "value" : "0x0100", 4120 "capabilities" : [ "VulkanMemoryModelKHR" ], 4121 "parameters" : [ 4122 { "kind" : "IdScope" } 4123 ] 4124 }, 4125 { 4126 "enumerant" : "MakeTexelVisibleKHR", 4127 "value" : "0x0200", 4128 "capabilities" : [ "VulkanMemoryModelKHR" ], 4129 "parameters" : [ 4130 { "kind" : "IdScope" } 4131 ] 4132 }, 4133 { 4134 "enumerant" : "NonPrivateTexelKHR", 4135 "value" : "0x0400", 4136 "capabilities" : [ "VulkanMemoryModelKHR" ] 4137 }, 4138 { 4139 "enumerant" : "VolatileTexelKHR", 4140 "value" : "0x0800", 4141 "capabilities" : [ "VulkanMemoryModelKHR" ] 4142 } 4143 ] 4144 }, 4145 { 4146 "category" : "BitEnum", 4147 "kind" : "FPFastMathMode", 4148 "enumerants" : [ 4149 { 4150 "enumerant" : "None", 4151 "value" : "0x0000" 4152 }, 4153 { 4154 "enumerant" : "NotNaN", 4155 "value" : "0x0001", 4156 "capabilities" : [ "Kernel" ] 4157 }, 4158 { 4159 "enumerant" : "NotInf", 4160 "value" : "0x0002", 4161 "capabilities" : [ "Kernel" ] 4162 }, 4163 { 4164 "enumerant" : "NSZ", 4165 "value" : "0x0004", 4166 "capabilities" : [ "Kernel" ] 4167 }, 4168 { 4169 "enumerant" : "AllowRecip", 4170 "value" : "0x0008", 4171 "capabilities" : [ "Kernel" ] 4172 }, 4173 { 4174 "enumerant" : "Fast", 4175 "value" : "0x0010", 4176 "capabilities" : [ "Kernel" ] 4177 } 4178 ] 4179 }, 4180 { 4181 "category" : "BitEnum", 4182 "kind" : "SelectionControl", 4183 "enumerants" : [ 4184 { 4185 "enumerant" : "None", 4186 "value" : "0x0000" 4187 }, 4188 { 4189 "enumerant" : "Flatten", 4190 "value" : "0x0001" 4191 }, 4192 { 4193 "enumerant" : "DontFlatten", 4194 "value" : "0x0002" 4195 } 4196 ] 4197 }, 4198 { 4199 "category" : "BitEnum", 4200 "kind" : "LoopControl", 4201 "enumerants" : [ 4202 { 4203 "enumerant" : "None", 4204 "value" : "0x0000" 4205 }, 4206 { 4207 "enumerant" : "Unroll", 4208 "value" : "0x0001" 4209 }, 4210 { 4211 "enumerant" : "DontUnroll", 4212 "value" : "0x0002" 4213 }, 4214 { 4215 "enumerant" : "DependencyInfinite", 4216 "value" : "0x0004", 4217 "version" : "1.1" 4218 }, 4219 { 4220 "enumerant" : "DependencyLength", 4221 "value" : "0x0008", 4222 "parameters" : [ 4223 { "kind" : "LiteralInteger" } 4224 ], 4225 "version" : "1.1" 4226 } 4227 ] 4228 }, 4229 { 4230 "category" : "BitEnum", 4231 "kind" : "FunctionControl", 4232 "enumerants" : [ 4233 { 4234 "enumerant" : "None", 4235 "value" : "0x0000" 4236 }, 4237 { 4238 "enumerant" : "Inline", 4239 "value" : "0x0001" 4240 }, 4241 { 4242 "enumerant" : "DontInline", 4243 "value" : "0x0002" 4244 }, 4245 { 4246 "enumerant" : "Pure", 4247 "value" : "0x0004" 4248 }, 4249 { 4250 "enumerant" : "Const", 4251 "value" : "0x0008" 4252 } 4253 ] 4254 }, 4255 { 4256 "category" : "BitEnum", 4257 "kind" : "MemorySemantics", 4258 "enumerants" : [ 4259 { 4260 "enumerant" : "Relaxed", 4261 "value" : "0x0000" 4262 }, 4263 { 4264 "enumerant" : "None", 4265 "value" : "0x0000" 4266 }, 4267 { 4268 "enumerant" : "Acquire", 4269 "value" : "0x0002" 4270 }, 4271 { 4272 "enumerant" : "Release", 4273 "value" : "0x0004" 4274 }, 4275 { 4276 "enumerant" : "AcquireRelease", 4277 "value" : "0x0008" 4278 }, 4279 { 4280 "enumerant" : "SequentiallyConsistent", 4281 "value" : "0x0010" 4282 }, 4283 { 4284 "enumerant" : "UniformMemory", 4285 "value" : "0x0040", 4286 "capabilities" : [ "Shader" ] 4287 }, 4288 { 4289 "enumerant" : "SubgroupMemory", 4290 "value" : "0x0080" 4291 }, 4292 { 4293 "enumerant" : "WorkgroupMemory", 4294 "value" : "0x0100" 4295 }, 4296 { 4297 "enumerant" : "CrossWorkgroupMemory", 4298 "value" : "0x0200" 4299 }, 4300 { 4301 "enumerant" : "AtomicCounterMemory", 4302 "value" : "0x0400", 4303 "capabilities" : [ "AtomicStorage" ] 4304 }, 4305 { 4306 "enumerant" : "ImageMemory", 4307 "value" : "0x0800" 4308 }, 4309 { 4310 "enumerant" : "OutputMemoryKHR", 4311 "value" : "0x1000", 4312 "capabilities" : [ "VulkanMemoryModelKHR" ] 4313 }, 4314 { 4315 "enumerant" : "MakeAvailableKHR", 4316 "value" : "0x2000", 4317 "capabilities" : [ "VulkanMemoryModelKHR" ] 4318 }, 4319 { 4320 "enumerant" : "MakeVisibleKHR", 4321 "value" : "0x4000", 4322 "capabilities" : [ "VulkanMemoryModelKHR" ] 4323 } 4324 ] 4325 }, 4326 { 4327 "category" : "BitEnum", 4328 "kind" : "MemoryAccess", 4329 "enumerants" : [ 4330 { 4331 "enumerant" : "None", 4332 "value" : "0x0000" 4333 }, 4334 { 4335 "enumerant" : "Volatile", 4336 "value" : "0x0001" 4337 }, 4338 { 4339 "enumerant" : "Aligned", 4340 "value" : "0x0002", 4341 "parameters" : [ 4342 { "kind" : "LiteralInteger" } 4343 ] 4344 }, 4345 { 4346 "enumerant" : "Nontemporal", 4347 "value" : "0x0004" 4348 }, 4349 { 4350 "enumerant" : "MakePointerAvailableKHR", 4351 "value" : "0x0008", 4352 "parameters" : [ 4353 { "kind" : "IdScope" } 4354 ], 4355 "capabilities" : [ "VulkanMemoryModelKHR" ] 4356 }, 4357 { 4358 "enumerant" : "MakePointerVisibleKHR", 4359 "value" : "0x0010", 4360 "parameters" : [ 4361 { "kind" : "IdScope" } 4362 ], 4363 "capabilities" : [ "VulkanMemoryModelKHR" ] 4364 }, 4365 { 4366 "enumerant" : "NonPrivatePointerKHR", 4367 "value" : "0x0020", 4368 "capabilities" : [ "VulkanMemoryModelKHR" ] 4369 } 4370 ] 4371 }, 4372 { 4373 "category" : "BitEnum", 4374 "kind" : "KernelProfilingInfo", 4375 "enumerants" : [ 4376 { 4377 "enumerant" : "None", 4378 "value" : "0x0000" 4379 }, 4380 { 4381 "enumerant" : "CmdExecTime", 4382 "value" : "0x0001", 4383 "capabilities" : [ "Kernel" ] 4384 } 4385 ] 4386 }, 4387 { 4388 "category" : "ValueEnum", 4389 "kind" : "SourceLanguage", 4390 "enumerants" : [ 4391 { 4392 "enumerant" : "Unknown", 4393 "value" : 0 4394 }, 4395 { 4396 "enumerant" : "ESSL", 4397 "value" : 1 4398 }, 4399 { 4400 "enumerant" : "GLSL", 4401 "value" : 2 4402 }, 4403 { 4404 "enumerant" : "OpenCL_C", 4405 "value" : 3 4406 }, 4407 { 4408 "enumerant" : "OpenCL_CPP", 4409 "value" : 4 4410 }, 4411 { 4412 "enumerant" : "HLSL", 4413 "value" : 5 4414 } 4415 ] 4416 }, 4417 { 4418 "category" : "ValueEnum", 4419 "kind" : "ExecutionModel", 4420 "enumerants" : [ 4421 { 4422 "enumerant" : "Vertex", 4423 "value" : 0, 4424 "capabilities" : [ "Shader" ] 4425 }, 4426 { 4427 "enumerant" : "TessellationControl", 4428 "value" : 1, 4429 "capabilities" : [ "Tessellation" ] 4430 }, 4431 { 4432 "enumerant" : "TessellationEvaluation", 4433 "value" : 2, 4434 "capabilities" : [ "Tessellation" ] 4435 }, 4436 { 4437 "enumerant" : "Geometry", 4438 "value" : 3, 4439 "capabilities" : [ "Geometry" ] 4440 }, 4441 { 4442 "enumerant" : "Fragment", 4443 "value" : 4, 4444 "capabilities" : [ "Shader" ] 4445 }, 4446 { 4447 "enumerant" : "GLCompute", 4448 "value" : 5, 4449 "capabilities" : [ "Shader" ] 4450 }, 4451 { 4452 "enumerant" : "Kernel", 4453 "value" : 6, 4454 "capabilities" : [ "Kernel" ] 4455 }, 4456 { 4457 "enumerant" : "TaskNV", 4458 "value" : 5267, 4459 "capabilities" : [ "MeshShadingNV" ] 4460 }, 4461 { 4462 "enumerant" : "MeshNV", 4463 "value" : 5268, 4464 "capabilities" : [ "MeshShadingNV" ] 4465 }, 4466 { 4467 "enumerant" : "RayGenerationNV", 4468 "value" : 5313, 4469 "capabilities" : [ "RayTracingNV" ] 4470 }, 4471 { 4472 "enumerant" : "IntersectionNV", 4473 "value" : 5314, 4474 "capabilities" : [ "RayTracingNV" ] 4475 }, 4476 { 4477 "enumerant" : "AnyHitNV", 4478 "value" : 5315, 4479 "capabilities" : [ "RayTracingNV" ] 4480 }, 4481 { 4482 "enumerant" : "ClosestHitNV", 4483 "value" : 5316, 4484 "capabilities" : [ "RayTracingNV" ] 4485 }, 4486 { 4487 "enumerant" : "MissNV", 4488 "value" : 5317, 4489 "capabilities" : [ "RayTracingNV" ] 4490 }, 4491 { 4492 "enumerant" : "CallableNV", 4493 "value" : 5318, 4494 "capabilities" : [ "RayTracingNV" ] 4495 } 4496 ] 4497 }, 4498 { 4499 "category" : "ValueEnum", 4500 "kind" : "AddressingModel", 4501 "enumerants" : [ 4502 { 4503 "enumerant" : "Logical", 4504 "value" : 0 4505 }, 4506 { 4507 "enumerant" : "Physical32", 4508 "value" : 1, 4509 "capabilities" : [ "Addresses" ] 4510 }, 4511 { 4512 "enumerant" : "Physical64", 4513 "value" : 2, 4514 "capabilities" : [ "Addresses" ] 4515 }, 4516 { 4517 "enumerant" : "PhysicalStorageBuffer64EXT", 4518 "value" : 5348, 4519 "extensions" : [ "SPV_EXT_physical_storage_buffer" ], 4520 "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ] 4521 } 4522 ] 4523 }, 4524 { 4525 "category" : "ValueEnum", 4526 "kind" : "MemoryModel", 4527 "enumerants" : [ 4528 { 4529 "enumerant" : "Simple", 4530 "value" : 0, 4531 "capabilities" : [ "Shader" ] 4532 }, 4533 { 4534 "enumerant" : "GLSL450", 4535 "value" : 1, 4536 "capabilities" : [ "Shader" ] 4537 }, 4538 { 4539 "enumerant" : "OpenCL", 4540 "value" : 2, 4541 "capabilities" : [ "Kernel" ] 4542 }, 4543 { 4544 "enumerant" : "VulkanKHR", 4545 "value" : 3, 4546 "capabilities" : [ "VulkanMemoryModelKHR" ] 4547 } 4548 ] 4549 }, 4550 { 4551 "category" : "ValueEnum", 4552 "kind" : "ExecutionMode", 4553 "enumerants" : [ 4554 { 4555 "enumerant" : "Invocations", 4556 "value" : 0, 4557 "capabilities" : [ "Geometry" ], 4558 "parameters" : [ 4559 { "kind" : "LiteralInteger", "name" : "'Number of <<Invocation,invocations>>'" } 4560 ] 4561 }, 4562 { 4563 "enumerant" : "SpacingEqual", 4564 "value" : 1, 4565 "capabilities" : [ "Tessellation" ] 4566 }, 4567 { 4568 "enumerant" : "SpacingFractionalEven", 4569 "value" : 2, 4570 "capabilities" : [ "Tessellation" ] 4571 }, 4572 { 4573 "enumerant" : "SpacingFractionalOdd", 4574 "value" : 3, 4575 "capabilities" : [ "Tessellation" ] 4576 }, 4577 { 4578 "enumerant" : "VertexOrderCw", 4579 "value" : 4, 4580 "capabilities" : [ "Tessellation" ] 4581 }, 4582 { 4583 "enumerant" : "VertexOrderCcw", 4584 "value" : 5, 4585 "capabilities" : [ "Tessellation" ] 4586 }, 4587 { 4588 "enumerant" : "PixelCenterInteger", 4589 "value" : 6, 4590 "capabilities" : [ "Shader" ] 4591 }, 4592 { 4593 "enumerant" : "OriginUpperLeft", 4594 "value" : 7, 4595 "capabilities" : [ "Shader" ] 4596 }, 4597 { 4598 "enumerant" : "OriginLowerLeft", 4599 "value" : 8, 4600 "capabilities" : [ "Shader" ] 4601 }, 4602 { 4603 "enumerant" : "EarlyFragmentTests", 4604 "value" : 9, 4605 "capabilities" : [ "Shader" ] 4606 }, 4607 { 4608 "enumerant" : "PointMode", 4609 "value" : 10, 4610 "capabilities" : [ "Tessellation" ] 4611 }, 4612 { 4613 "enumerant" : "Xfb", 4614 "value" : 11, 4615 "capabilities" : [ "TransformFeedback" ] 4616 }, 4617 { 4618 "enumerant" : "DepthReplacing", 4619 "value" : 12, 4620 "capabilities" : [ "Shader" ] 4621 }, 4622 { 4623 "enumerant" : "DepthGreater", 4624 "value" : 14, 4625 "capabilities" : [ "Shader" ] 4626 }, 4627 { 4628 "enumerant" : "DepthLess", 4629 "value" : 15, 4630 "capabilities" : [ "Shader" ] 4631 }, 4632 { 4633 "enumerant" : "DepthUnchanged", 4634 "value" : 16, 4635 "capabilities" : [ "Shader" ] 4636 }, 4637 { 4638 "enumerant" : "LocalSize", 4639 "value" : 17, 4640 "parameters" : [ 4641 { "kind" : "LiteralInteger", "name" : "'x size'" }, 4642 { "kind" : "LiteralInteger", "name" : "'y size'" }, 4643 { "kind" : "LiteralInteger", "name" : "'z size'" } 4644 ] 4645 }, 4646 { 4647 "enumerant" : "LocalSizeHint", 4648 "value" : 18, 4649 "capabilities" : [ "Kernel" ], 4650 "parameters" : [ 4651 { "kind" : "LiteralInteger", "name" : "'x size'" }, 4652 { "kind" : "LiteralInteger", "name" : "'y size'" }, 4653 { "kind" : "LiteralInteger", "name" : "'z size'" } 4654 ] 4655 }, 4656 { 4657 "enumerant" : "InputPoints", 4658 "value" : 19, 4659 "capabilities" : [ "Geometry" ] 4660 }, 4661 { 4662 "enumerant" : "InputLines", 4663 "value" : 20, 4664 "capabilities" : [ "Geometry" ] 4665 }, 4666 { 4667 "enumerant" : "InputLinesAdjacency", 4668 "value" : 21, 4669 "capabilities" : [ "Geometry" ] 4670 }, 4671 { 4672 "enumerant" : "Triangles", 4673 "value" : 22, 4674 "capabilities" : [ "Geometry", "Tessellation" ] 4675 }, 4676 { 4677 "enumerant" : "InputTrianglesAdjacency", 4678 "value" : 23, 4679 "capabilities" : [ "Geometry" ] 4680 }, 4681 { 4682 "enumerant" : "Quads", 4683 "value" : 24, 4684 "capabilities" : [ "Tessellation" ] 4685 }, 4686 { 4687 "enumerant" : "Isolines", 4688 "value" : 25, 4689 "capabilities" : [ "Tessellation" ] 4690 }, 4691 { 4692 "enumerant" : "OutputVertices", 4693 "value" : 26, 4694 "capabilities" : [ "Geometry", "Tessellation", "MeshShadingNV" ], 4695 "parameters" : [ 4696 { "kind" : "LiteralInteger", "name" : "'Vertex count'" } 4697 ] 4698 }, 4699 { 4700 "enumerant" : "OutputPoints", 4701 "value" : 27, 4702 "capabilities" : [ "Geometry", "MeshShadingNV" ] 4703 }, 4704 { 4705 "enumerant" : "OutputLineStrip", 4706 "value" : 28, 4707 "capabilities" : [ "Geometry" ] 4708 }, 4709 { 4710 "enumerant" : "OutputTriangleStrip", 4711 "value" : 29, 4712 "capabilities" : [ "Geometry" ] 4713 }, 4714 { 4715 "enumerant" : "VecTypeHint", 4716 "value" : 30, 4717 "capabilities" : [ "Kernel" ], 4718 "parameters" : [ 4719 { "kind" : "LiteralInteger", "name" : "'Vector type'" } 4720 ] 4721 }, 4722 { 4723 "enumerant" : "ContractionOff", 4724 "value" : 31, 4725 "capabilities" : [ "Kernel" ] 4726 }, 4727 { 4728 "enumerant" : "Initializer", 4729 "value" : 33, 4730 "capabilities" : [ "Kernel" ], 4731 "version" : "1.1" 4732 }, 4733 { 4734 "enumerant" : "Finalizer", 4735 "value" : 34, 4736 "capabilities" : [ "Kernel" ], 4737 "version" : "1.1" 4738 }, 4739 { 4740 "enumerant" : "SubgroupSize", 4741 "value" : 35, 4742 "capabilities" : [ "SubgroupDispatch" ], 4743 "parameters" : [ 4744 { "kind" : "LiteralInteger", "name" : "'Subgroup Size'" } 4745 ], 4746 "version" : "1.1" 4747 }, 4748 { 4749 "enumerant" : "SubgroupsPerWorkgroup", 4750 "value" : 36, 4751 "capabilities" : [ "SubgroupDispatch" ], 4752 "parameters" : [ 4753 { "kind" : "LiteralInteger", "name" : "'Subgroups Per Workgroup'" } 4754 ], 4755 "version" : "1.1" 4756 }, 4757 { 4758 "enumerant" : "SubgroupsPerWorkgroupId", 4759 "value" : 37, 4760 "capabilities" : [ "SubgroupDispatch" ], 4761 "parameters" : [ 4762 { "kind" : "IdRef", "name" : "'Subgroups Per Workgroup'" } 4763 ], 4764 "version" : "1.2" 4765 }, 4766 { 4767 "enumerant" : "LocalSizeId", 4768 "value" : 38, 4769 "parameters" : [ 4770 { "kind" : "IdRef", "name" : "'x size'" }, 4771 { "kind" : "IdRef", "name" : "'y size'" }, 4772 { "kind" : "IdRef", "name" : "'z size'" } 4773 ], 4774 "version" : "1.2" 4775 }, 4776 { 4777 "enumerant" : "LocalSizeHintId", 4778 "value" : 39, 4779 "capabilities" : [ "Kernel" ], 4780 "parameters" : [ 4781 { "kind" : "IdRef", "name" : "'Local Size Hint'" } 4782 ], 4783 "version" : "1.2" 4784 }, 4785 { 4786 "enumerant" : "PostDepthCoverage", 4787 "value" : 4446, 4788 "capabilities" : [ "SampleMaskPostDepthCoverage" ], 4789 "extensions" : [ "SPV_KHR_post_depth_coverage" ], 4790 "version" : "None" 4791 }, 4792{ 4793 "enumerant" : "DenormPreserve", 4794 "value" : 4459, 4795 "capabilities" : [ "DenormPreserve"], 4796 "extensions" : [ "SPV_KHR_float_controls" ], 4797 "parameters" : [ 4798 { "kind" : "LiteralInteger", "name" : "'Target Width'" } 4799 ], 4800 "version" : "None" 4801 }, 4802 { 4803 "enumerant" : "DenormFlushToZero", 4804 "value" : 4460, 4805 "capabilities" : [ "DenormFlushToZero"], 4806 "extensions" : [ "SPV_KHR_float_controls" ], 4807 "parameters" : [ 4808 { "kind" : "LiteralInteger", "name" : "'Target Width'" } 4809 ], 4810 "version" : "None" 4811 }, 4812 { 4813 "enumerant" : "SignedZeroInfNanPreserve", 4814 "value" : 4461, 4815 "capabilities" : [ "SignedZeroInfNanPreserve"], 4816 "extensions" : [ "SPV_KHR_float_controls" ], 4817 "parameters" : [ 4818 { "kind" : "LiteralInteger", "name" : "'Target Width'" } 4819 ], 4820 "version" : "None" 4821 }, 4822 { 4823 "enumerant" : "RoundingModeRTE", 4824 "value" : 4462, 4825 "capabilities" : [ "RoundingModeRTE"], 4826 "extensions" : [ "SPV_KHR_float_controls" ], 4827 "parameters" : [ 4828 { "kind" : "LiteralInteger", "name" : "'Target Width'" } 4829 ], 4830 "version" : "None" 4831 }, 4832 { 4833 "enumerant" : "RoundingModeRTZ", 4834 "value" : 4463, 4835 "capabilities" : [ "RoundingModeRTZ"], 4836 "extensions" : [ "SPV_KHR_float_controls" ], 4837 "parameters" : [ 4838 { "kind" : "LiteralInteger", "name" : "'Target Width'" } 4839 ], 4840 "version" : "None" 4841 }, 4842 { 4843 "enumerant" : "StencilRefReplacingEXT", 4844 "value" : 5027, 4845 "capabilities" : [ "StencilExportEXT" ], 4846 "extensions" : [ "SPV_EXT_shader_stencil_export" ], 4847 "version" : "None" 4848 }, 4849 { 4850 "enumerant" : "OutputLinesNV", 4851 "value" : 5269, 4852 "capabilities" : [ "MeshShadingNV" ], 4853 "extensions" : [ "SPV_NV_mesh_shader" ], 4854 "version" : "None" 4855 }, 4856 { 4857 "enumerant" : "OutputPrimitivesNV", 4858 "value" : 5270, 4859 "capabilities" : [ "MeshShadingNV" ], 4860 "parameters" : [ 4861 { "kind" : "LiteralInteger", "name" : "'Primitive count'" } 4862 ], 4863 "extensions" : [ "SPV_NV_mesh_shader" ], 4864 "version" : "None" 4865 }, 4866 { 4867 "enumerant" : "DerivativeGroupQuadsNV", 4868 "value" : 5289, 4869 "capabilities" : [ "ComputeDerivativeGroupQuadsNV" ], 4870 "extensions" : [ "SPV_NV_compute_shader_derivatives" ], 4871 "version" : "None" 4872 }, 4873 { 4874 "enumerant" : "DerivativeGroupLinearNV", 4875 "value" : 5290, 4876 "capabilities" : [ "ComputeDerivativeGroupLinearNV" ], 4877 "extensions" : [ "SPV_NV_compute_shader_derivatives" ], 4878 "version" : "None" 4879 }, 4880 { 4881 "enumerant" : "OutputTrianglesNV", 4882 "value" : 5298, 4883 "capabilities" : [ "MeshShadingNV" ], 4884 "extensions" : [ "SPV_NV_mesh_shader" ], 4885 "version" : "None" 4886 } 4887 ] 4888 }, 4889 { 4890 "category" : "ValueEnum", 4891 "kind" : "StorageClass", 4892 "enumerants" : [ 4893 { 4894 "enumerant" : "UniformConstant", 4895 "value" : 0 4896 }, 4897 { 4898 "enumerant" : "Input", 4899 "value" : 1 4900 }, 4901 { 4902 "enumerant" : "Uniform", 4903 "value" : 2, 4904 "capabilities" : [ "Shader" ] 4905 }, 4906 { 4907 "enumerant" : "Output", 4908 "value" : 3, 4909 "capabilities" : [ "Shader" ] 4910 }, 4911 { 4912 "enumerant" : "Workgroup", 4913 "value" : 4 4914 }, 4915 { 4916 "enumerant" : "CrossWorkgroup", 4917 "value" : 5 4918 }, 4919 { 4920 "enumerant" : "Private", 4921 "value" : 6, 4922 "capabilities" : [ "Shader" ] 4923 }, 4924 { 4925 "enumerant" : "Function", 4926 "value" : 7 4927 }, 4928 { 4929 "enumerant" : "Generic", 4930 "value" : 8, 4931 "capabilities" : [ "GenericPointer" ] 4932 }, 4933 { 4934 "enumerant" : "PushConstant", 4935 "value" : 9, 4936 "capabilities" : [ "Shader" ] 4937 }, 4938 { 4939 "enumerant" : "AtomicCounter", 4940 "value" : 10, 4941 "capabilities" : [ "AtomicStorage" ] 4942 }, 4943 { 4944 "enumerant" : "Image", 4945 "value" : 11 4946 }, 4947 { 4948 "enumerant" : "StorageBuffer", 4949 "value" : 12, 4950 "extensions" : [ 4951 "SPV_KHR_storage_buffer_storage_class", 4952 "SPV_KHR_variable_pointers" 4953 ], 4954 "capabilities" : [ "Shader" ], 4955 "version" : "1.3" 4956 }, 4957 { 4958 "enumerant" : "CallableDataNV", 4959 "value" : 5328, 4960 "extensions" : [ "SPV_NV_ray_tracing" ], 4961 "capabilities" : [ "RayTracingNV" ] 4962 }, 4963 { 4964 "enumerant" : "IncomingCallableDataNV", 4965 "value" : 5329, 4966 "extensions" : [ "SPV_NV_ray_tracing" ], 4967 "capabilities" : [ "RayTracingNV" ] 4968 }, 4969 { 4970 "enumerant" : "RayPayloadNV", 4971 "value" : 5338, 4972 "extensions" : [ "SPV_NV_ray_tracing" ], 4973 "capabilities" : [ "RayTracingNV" ] 4974 }, 4975 { 4976 "enumerant" : "HitAttributeNV", 4977 "value" : 5339, 4978 "extensions" : [ "SPV_NV_ray_tracing" ], 4979 "capabilities" : [ "RayTracingNV" ] 4980 }, 4981 { 4982 "enumerant" : "IncomingRayPayloadNV", 4983 "value" : 5342, 4984 "extensions" : [ "SPV_NV_ray_tracing" ], 4985 "capabilities" : [ "RayTracingNV" ] 4986 }, 4987 { 4988 "enumerant" : "ShaderRecordBufferNV", 4989 "value" : 5343, 4990 "extensions" : [ "SPV_NV_ray_tracing" ], 4991 "capabilities" : [ "RayTracingNV" ] 4992 }, 4993 { 4994 "enumerant" : "PhysicalStorageBufferEXT", 4995 "value" : 5349, 4996 "extensions" : [ "SPV_EXT_physical_storage_buffer" ], 4997 "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ] 4998 } 4999 ] 5000 }, 5001 { 5002 "category" : "ValueEnum", 5003 "kind" : "Dim", 5004 "enumerants" : [ 5005 { 5006 "enumerant" : "1D", 5007 "value" : 0, 5008 "capabilities" : [ "Sampled1D", "Image1D" ] 5009 }, 5010 { 5011 "enumerant" : "2D", 5012 "value" : 1, 5013 "capabilities" : [ "Shader", "Kernel", "ImageMSArray" ] 5014 }, 5015 { 5016 "enumerant" : "3D", 5017 "value" : 2 5018 }, 5019 { 5020 "enumerant" : "Cube", 5021 "value" : 3, 5022 "capabilities" : [ "Shader", "ImageCubeArray" ] 5023 }, 5024 { 5025 "enumerant" : "Rect", 5026 "value" : 4, 5027 "capabilities" : [ "SampledRect", "ImageRect" ] 5028 }, 5029 { 5030 "enumerant" : "Buffer", 5031 "value" : 5, 5032 "capabilities" : [ "SampledBuffer", "ImageBuffer" ] 5033 }, 5034 { 5035 "enumerant" : "SubpassData", 5036 "value" : 6, 5037 "capabilities" : [ "InputAttachment" ] 5038 } 5039 ] 5040 }, 5041 { 5042 "category" : "ValueEnum", 5043 "kind" : "SamplerAddressingMode", 5044 "enumerants" : [ 5045 { 5046 "enumerant" : "None", 5047 "value" : 0, 5048 "capabilities" : [ "Kernel" ] 5049 }, 5050 { 5051 "enumerant" : "ClampToEdge", 5052 "value" : 1, 5053 "capabilities" : [ "Kernel" ] 5054 }, 5055 { 5056 "enumerant" : "Clamp", 5057 "value" : 2, 5058 "capabilities" : [ "Kernel" ] 5059 }, 5060 { 5061 "enumerant" : "Repeat", 5062 "value" : 3, 5063 "capabilities" : [ "Kernel" ] 5064 }, 5065 { 5066 "enumerant" : "RepeatMirrored", 5067 "value" : 4, 5068 "capabilities" : [ "Kernel" ] 5069 } 5070 ] 5071 }, 5072 { 5073 "category" : "ValueEnum", 5074 "kind" : "SamplerFilterMode", 5075 "enumerants" : [ 5076 { 5077 "enumerant" : "Nearest", 5078 "value" : 0, 5079 "capabilities" : [ "Kernel" ] 5080 }, 5081 { 5082 "enumerant" : "Linear", 5083 "value" : 1, 5084 "capabilities" : [ "Kernel" ] 5085 } 5086 ] 5087 }, 5088 { 5089 "category" : "ValueEnum", 5090 "kind" : "ImageFormat", 5091 "enumerants" : [ 5092 { 5093 "enumerant" : "Unknown", 5094 "value" : 0 5095 }, 5096 { 5097 "enumerant" : "Rgba32f", 5098 "value" : 1, 5099 "capabilities" : [ "Shader" ] 5100 }, 5101 { 5102 "enumerant" : "Rgba16f", 5103 "value" : 2, 5104 "capabilities" : [ "Shader" ] 5105 }, 5106 { 5107 "enumerant" : "R32f", 5108 "value" : 3, 5109 "capabilities" : [ "Shader" ] 5110 }, 5111 { 5112 "enumerant" : "Rgba8", 5113 "value" : 4, 5114 "capabilities" : [ "Shader" ] 5115 }, 5116 { 5117 "enumerant" : "Rgba8Snorm", 5118 "value" : 5, 5119 "capabilities" : [ "Shader" ] 5120 }, 5121 { 5122 "enumerant" : "Rg32f", 5123 "value" : 6, 5124 "capabilities" : [ "StorageImageExtendedFormats" ] 5125 }, 5126 { 5127 "enumerant" : "Rg16f", 5128 "value" : 7, 5129 "capabilities" : [ "StorageImageExtendedFormats" ] 5130 }, 5131 { 5132 "enumerant" : "R11fG11fB10f", 5133 "value" : 8, 5134 "capabilities" : [ "StorageImageExtendedFormats" ] 5135 }, 5136 { 5137 "enumerant" : "R16f", 5138 "value" : 9, 5139 "capabilities" : [ "StorageImageExtendedFormats" ] 5140 }, 5141 { 5142 "enumerant" : "Rgba16", 5143 "value" : 10, 5144 "capabilities" : [ "StorageImageExtendedFormats" ] 5145 }, 5146 { 5147 "enumerant" : "Rgb10A2", 5148 "value" : 11, 5149 "capabilities" : [ "StorageImageExtendedFormats" ] 5150 }, 5151 { 5152 "enumerant" : "Rg16", 5153 "value" : 12, 5154 "capabilities" : [ "StorageImageExtendedFormats" ] 5155 }, 5156 { 5157 "enumerant" : "Rg8", 5158 "value" : 13, 5159 "capabilities" : [ "StorageImageExtendedFormats" ] 5160 }, 5161 { 5162 "enumerant" : "R16", 5163 "value" : 14, 5164 "capabilities" : [ "StorageImageExtendedFormats" ] 5165 }, 5166 { 5167 "enumerant" : "R8", 5168 "value" : 15, 5169 "capabilities" : [ "StorageImageExtendedFormats" ] 5170 }, 5171 { 5172 "enumerant" : "Rgba16Snorm", 5173 "value" : 16, 5174 "capabilities" : [ "StorageImageExtendedFormats" ] 5175 }, 5176 { 5177 "enumerant" : "Rg16Snorm", 5178 "value" : 17, 5179 "capabilities" : [ "StorageImageExtendedFormats" ] 5180 }, 5181 { 5182 "enumerant" : "Rg8Snorm", 5183 "value" : 18, 5184 "capabilities" : [ "StorageImageExtendedFormats" ] 5185 }, 5186 { 5187 "enumerant" : "R16Snorm", 5188 "value" : 19, 5189 "capabilities" : [ "StorageImageExtendedFormats" ] 5190 }, 5191 { 5192 "enumerant" : "R8Snorm", 5193 "value" : 20, 5194 "capabilities" : [ "StorageImageExtendedFormats" ] 5195 }, 5196 { 5197 "enumerant" : "Rgba32i", 5198 "value" : 21, 5199 "capabilities" : [ "Shader" ] 5200 }, 5201 { 5202 "enumerant" : "Rgba16i", 5203 "value" : 22, 5204 "capabilities" : [ "Shader" ] 5205 }, 5206 { 5207 "enumerant" : "Rgba8i", 5208 "value" : 23, 5209 "capabilities" : [ "Shader" ] 5210 }, 5211 { 5212 "enumerant" : "R32i", 5213 "value" : 24, 5214 "capabilities" : [ "Shader" ] 5215 }, 5216 { 5217 "enumerant" : "Rg32i", 5218 "value" : 25, 5219 "capabilities" : [ "StorageImageExtendedFormats" ] 5220 }, 5221 { 5222 "enumerant" : "Rg16i", 5223 "value" : 26, 5224 "capabilities" : [ "StorageImageExtendedFormats" ] 5225 }, 5226 { 5227 "enumerant" : "Rg8i", 5228 "value" : 27, 5229 "capabilities" : [ "StorageImageExtendedFormats" ] 5230 }, 5231 { 5232 "enumerant" : "R16i", 5233 "value" : 28, 5234 "capabilities" : [ "StorageImageExtendedFormats" ] 5235 }, 5236 { 5237 "enumerant" : "R8i", 5238 "value" : 29, 5239 "capabilities" : [ "StorageImageExtendedFormats" ] 5240 }, 5241 { 5242 "enumerant" : "Rgba32ui", 5243 "value" : 30, 5244 "capabilities" : [ "Shader" ] 5245 }, 5246 { 5247 "enumerant" : "Rgba16ui", 5248 "value" : 31, 5249 "capabilities" : [ "Shader" ] 5250 }, 5251 { 5252 "enumerant" : "Rgba8ui", 5253 "value" : 32, 5254 "capabilities" : [ "Shader" ] 5255 }, 5256 { 5257 "enumerant" : "R32ui", 5258 "value" : 33, 5259 "capabilities" : [ "Shader" ] 5260 }, 5261 { 5262 "enumerant" : "Rgb10a2ui", 5263 "value" : 34, 5264 "capabilities" : [ "StorageImageExtendedFormats" ] 5265 }, 5266 { 5267 "enumerant" : "Rg32ui", 5268 "value" : 35, 5269 "capabilities" : [ "StorageImageExtendedFormats" ] 5270 }, 5271 { 5272 "enumerant" : "Rg16ui", 5273 "value" : 36, 5274 "capabilities" : [ "StorageImageExtendedFormats" ] 5275 }, 5276 { 5277 "enumerant" : "Rg8ui", 5278 "value" : 37, 5279 "capabilities" : [ "StorageImageExtendedFormats" ] 5280 }, 5281 { 5282 "enumerant" : "R16ui", 5283 "value" : 38, 5284 "capabilities" : [ "StorageImageExtendedFormats" ] 5285 }, 5286 { 5287 "enumerant" : "R8ui", 5288 "value" : 39, 5289 "capabilities" : [ "StorageImageExtendedFormats" ] 5290 } 5291 ] 5292 }, 5293 { 5294 "category" : "ValueEnum", 5295 "kind" : "ImageChannelOrder", 5296 "enumerants" : [ 5297 { 5298 "enumerant" : "R", 5299 "value" : 0, 5300 "capabilities" : [ "Kernel" ] 5301 }, 5302 { 5303 "enumerant" : "A", 5304 "value" : 1, 5305 "capabilities" : [ "Kernel" ] 5306 }, 5307 { 5308 "enumerant" : "RG", 5309 "value" : 2, 5310 "capabilities" : [ "Kernel" ] 5311 }, 5312 { 5313 "enumerant" : "RA", 5314 "value" : 3, 5315 "capabilities" : [ "Kernel" ] 5316 }, 5317 { 5318 "enumerant" : "RGB", 5319 "value" : 4, 5320 "capabilities" : [ "Kernel" ] 5321 }, 5322 { 5323 "enumerant" : "RGBA", 5324 "value" : 5, 5325 "capabilities" : [ "Kernel" ] 5326 }, 5327 { 5328 "enumerant" : "BGRA", 5329 "value" : 6, 5330 "capabilities" : [ "Kernel" ] 5331 }, 5332 { 5333 "enumerant" : "ARGB", 5334 "value" : 7, 5335 "capabilities" : [ "Kernel" ] 5336 }, 5337 { 5338 "enumerant" : "Intensity", 5339 "value" : 8, 5340 "capabilities" : [ "Kernel" ] 5341 }, 5342 { 5343 "enumerant" : "Luminance", 5344 "value" : 9, 5345 "capabilities" : [ "Kernel" ] 5346 }, 5347 { 5348 "enumerant" : "Rx", 5349 "value" : 10, 5350 "capabilities" : [ "Kernel" ] 5351 }, 5352 { 5353 "enumerant" : "RGx", 5354 "value" : 11, 5355 "capabilities" : [ "Kernel" ] 5356 }, 5357 { 5358 "enumerant" : "RGBx", 5359 "value" : 12, 5360 "capabilities" : [ "Kernel" ] 5361 }, 5362 { 5363 "enumerant" : "Depth", 5364 "value" : 13, 5365 "capabilities" : [ "Kernel" ] 5366 }, 5367 { 5368 "enumerant" : "DepthStencil", 5369 "value" : 14, 5370 "capabilities" : [ "Kernel" ] 5371 }, 5372 { 5373 "enumerant" : "sRGB", 5374 "value" : 15, 5375 "capabilities" : [ "Kernel" ] 5376 }, 5377 { 5378 "enumerant" : "sRGBx", 5379 "value" : 16, 5380 "capabilities" : [ "Kernel" ] 5381 }, 5382 { 5383 "enumerant" : "sRGBA", 5384 "value" : 17, 5385 "capabilities" : [ "Kernel" ] 5386 }, 5387 { 5388 "enumerant" : "sBGRA", 5389 "value" : 18, 5390 "capabilities" : [ "Kernel" ] 5391 }, 5392 { 5393 "enumerant" : "ABGR", 5394 "value" : 19, 5395 "capabilities" : [ "Kernel" ] 5396 } 5397 ] 5398 }, 5399 { 5400 "category" : "ValueEnum", 5401 "kind" : "ImageChannelDataType", 5402 "enumerants" : [ 5403 { 5404 "enumerant" : "SnormInt8", 5405 "value" : 0, 5406 "capabilities" : [ "Kernel" ] 5407 }, 5408 { 5409 "enumerant" : "SnormInt16", 5410 "value" : 1, 5411 "capabilities" : [ "Kernel" ] 5412 }, 5413 { 5414 "enumerant" : "UnormInt8", 5415 "value" : 2, 5416 "capabilities" : [ "Kernel" ] 5417 }, 5418 { 5419 "enumerant" : "UnormInt16", 5420 "value" : 3, 5421 "capabilities" : [ "Kernel" ] 5422 }, 5423 { 5424 "enumerant" : "UnormShort565", 5425 "value" : 4, 5426 "capabilities" : [ "Kernel" ] 5427 }, 5428 { 5429 "enumerant" : "UnormShort555", 5430 "value" : 5, 5431 "capabilities" : [ "Kernel" ] 5432 }, 5433 { 5434 "enumerant" : "UnormInt101010", 5435 "value" : 6, 5436 "capabilities" : [ "Kernel" ] 5437 }, 5438 { 5439 "enumerant" : "SignedInt8", 5440 "value" : 7, 5441 "capabilities" : [ "Kernel" ] 5442 }, 5443 { 5444 "enumerant" : "SignedInt16", 5445 "value" : 8, 5446 "capabilities" : [ "Kernel" ] 5447 }, 5448 { 5449 "enumerant" : "SignedInt32", 5450 "value" : 9, 5451 "capabilities" : [ "Kernel" ] 5452 }, 5453 { 5454 "enumerant" : "UnsignedInt8", 5455 "value" : 10, 5456 "capabilities" : [ "Kernel" ] 5457 }, 5458 { 5459 "enumerant" : "UnsignedInt16", 5460 "value" : 11, 5461 "capabilities" : [ "Kernel" ] 5462 }, 5463 { 5464 "enumerant" : "UnsignedInt32", 5465 "value" : 12, 5466 "capabilities" : [ "Kernel" ] 5467 }, 5468 { 5469 "enumerant" : "HalfFloat", 5470 "value" : 13, 5471 "capabilities" : [ "Kernel" ] 5472 }, 5473 { 5474 "enumerant" : "Float", 5475 "value" : 14, 5476 "capabilities" : [ "Kernel" ] 5477 }, 5478 { 5479 "enumerant" : "UnormInt24", 5480 "value" : 15, 5481 "capabilities" : [ "Kernel" ] 5482 }, 5483 { 5484 "enumerant" : "UnormInt101010_2", 5485 "value" : 16, 5486 "capabilities" : [ "Kernel" ] 5487 } 5488 ] 5489 }, 5490 { 5491 "category" : "ValueEnum", 5492 "kind" : "FPRoundingMode", 5493 "enumerants" : [ 5494 { 5495 "enumerant" : "RTE", 5496 "value" : 0 5497 }, 5498 { 5499 "enumerant" : "RTZ", 5500 "value" : 1 5501 }, 5502 { 5503 "enumerant" : "RTP", 5504 "value" : 2 5505 }, 5506 { 5507 "enumerant" : "RTN", 5508 "value" : 3 5509 } 5510 ] 5511 }, 5512 { 5513 "category" : "ValueEnum", 5514 "kind" : "LinkageType", 5515 "enumerants" : [ 5516 { 5517 "enumerant" : "Export", 5518 "value" : 0, 5519 "capabilities" : [ "Linkage" ] 5520 }, 5521 { 5522 "enumerant" : "Import", 5523 "value" : 1, 5524 "capabilities" : [ "Linkage" ] 5525 } 5526 ] 5527 }, 5528 { 5529 "category" : "ValueEnum", 5530 "kind" : "AccessQualifier", 5531 "enumerants" : [ 5532 { 5533 "enumerant" : "ReadOnly", 5534 "value" : 0, 5535 "capabilities" : [ "Kernel" ] 5536 }, 5537 { 5538 "enumerant" : "WriteOnly", 5539 "value" : 1, 5540 "capabilities" : [ "Kernel" ] 5541 }, 5542 { 5543 "enumerant" : "ReadWrite", 5544 "value" : 2, 5545 "capabilities" : [ "Kernel" ] 5546 } 5547 ] 5548 }, 5549 { 5550 "category" : "ValueEnum", 5551 "kind" : "FunctionParameterAttribute", 5552 "enumerants" : [ 5553 { 5554 "enumerant" : "Zext", 5555 "value" : 0, 5556 "capabilities" : [ "Kernel" ] 5557 }, 5558 { 5559 "enumerant" : "Sext", 5560 "value" : 1, 5561 "capabilities" : [ "Kernel" ] 5562 }, 5563 { 5564 "enumerant" : "ByVal", 5565 "value" : 2, 5566 "capabilities" : [ "Kernel" ] 5567 }, 5568 { 5569 "enumerant" : "Sret", 5570 "value" : 3, 5571 "capabilities" : [ "Kernel" ] 5572 }, 5573 { 5574 "enumerant" : "NoAlias", 5575 "value" : 4, 5576 "capabilities" : [ "Kernel" ] 5577 }, 5578 { 5579 "enumerant" : "NoCapture", 5580 "value" : 5, 5581 "capabilities" : [ "Kernel" ] 5582 }, 5583 { 5584 "enumerant" : "NoWrite", 5585 "value" : 6, 5586 "capabilities" : [ "Kernel" ] 5587 }, 5588 { 5589 "enumerant" : "NoReadWrite", 5590 "value" : 7, 5591 "capabilities" : [ "Kernel" ] 5592 } 5593 ] 5594 }, 5595 { 5596 "category" : "ValueEnum", 5597 "kind" : "Decoration", 5598 "enumerants" : [ 5599 { 5600 "enumerant" : "RelaxedPrecision", 5601 "value" : 0, 5602 "capabilities" : [ "Shader" ] 5603 }, 5604 { 5605 "enumerant" : "SpecId", 5606 "value" : 1, 5607 "capabilities" : [ "Shader", "Kernel" ], 5608 "parameters" : [ 5609 { "kind" : "LiteralInteger", "name" : "'Specialization Constant ID'" } 5610 ] 5611 }, 5612 { 5613 "enumerant" : "Block", 5614 "value" : 2, 5615 "capabilities" : [ "Shader" ] 5616 }, 5617 { 5618 "enumerant" : "BufferBlock", 5619 "value" : 3, 5620 "capabilities" : [ "Shader" ] 5621 }, 5622 { 5623 "enumerant" : "RowMajor", 5624 "value" : 4, 5625 "capabilities" : [ "Matrix" ] 5626 }, 5627 { 5628 "enumerant" : "ColMajor", 5629 "value" : 5, 5630 "capabilities" : [ "Matrix" ] 5631 }, 5632 { 5633 "enumerant" : "ArrayStride", 5634 "value" : 6, 5635 "capabilities" : [ "Shader" ], 5636 "parameters" : [ 5637 { "kind" : "LiteralInteger", "name" : "'Array Stride'" } 5638 ] 5639 }, 5640 { 5641 "enumerant" : "MatrixStride", 5642 "value" : 7, 5643 "capabilities" : [ "Matrix" ], 5644 "parameters" : [ 5645 { "kind" : "LiteralInteger", "name" : "'Matrix Stride'" } 5646 ] 5647 }, 5648 { 5649 "enumerant" : "GLSLShared", 5650 "value" : 8, 5651 "capabilities" : [ "Shader" ] 5652 }, 5653 { 5654 "enumerant" : "GLSLPacked", 5655 "value" : 9, 5656 "capabilities" : [ "Shader" ] 5657 }, 5658 { 5659 "enumerant" : "CPacked", 5660 "value" : 10, 5661 "capabilities" : [ "Kernel" ] 5662 }, 5663 { 5664 "enumerant" : "BuiltIn", 5665 "value" : 11, 5666 "parameters" : [ 5667 { "kind" : "BuiltIn" } 5668 ] 5669 }, 5670 { 5671 "enumerant" : "NoPerspective", 5672 "value" : 13, 5673 "capabilities" : [ "Shader" ] 5674 }, 5675 { 5676 "enumerant" : "Flat", 5677 "value" : 14, 5678 "capabilities" : [ "Shader" ] 5679 }, 5680 { 5681 "enumerant" : "Patch", 5682 "value" : 15, 5683 "capabilities" : [ "Tessellation" ] 5684 }, 5685 { 5686 "enumerant" : "Centroid", 5687 "value" : 16, 5688 "capabilities" : [ "Shader" ] 5689 }, 5690 { 5691 "enumerant" : "Sample", 5692 "value" : 17, 5693 "capabilities" : [ "SampleRateShading" ] 5694 }, 5695 { 5696 "enumerant" : "Invariant", 5697 "value" : 18, 5698 "capabilities" : [ "Shader" ] 5699 }, 5700 { 5701 "enumerant" : "Restrict", 5702 "value" : 19 5703 }, 5704 { 5705 "enumerant" : "Aliased", 5706 "value" : 20 5707 }, 5708 { 5709 "enumerant" : "Volatile", 5710 "value" : 21 5711 }, 5712 { 5713 "enumerant" : "Constant", 5714 "value" : 22, 5715 "capabilities" : [ "Kernel" ] 5716 }, 5717 { 5718 "enumerant" : "Coherent", 5719 "value" : 23 5720 }, 5721 { 5722 "enumerant" : "NonWritable", 5723 "value" : 24 5724 }, 5725 { 5726 "enumerant" : "NonReadable", 5727 "value" : 25 5728 }, 5729 { 5730 "enumerant" : "Uniform", 5731 "value" : 26, 5732 "capabilities" : [ "Shader" ] 5733 }, 5734 { 5735 "enumerant" : "SaturatedConversion", 5736 "value" : 28, 5737 "capabilities" : [ "Kernel" ] 5738 }, 5739 { 5740 "enumerant" : "Stream", 5741 "value" : 29, 5742 "capabilities" : [ "GeometryStreams" ], 5743 "parameters" : [ 5744 { "kind" : "LiteralInteger", "name" : "'Stream Number'" } 5745 ] 5746 }, 5747 { 5748 "enumerant" : "Location", 5749 "value" : 30, 5750 "capabilities" : [ "Shader" ], 5751 "parameters" : [ 5752 { "kind" : "LiteralInteger", "name" : "'Location'" } 5753 ] 5754 }, 5755 { 5756 "enumerant" : "Component", 5757 "value" : 31, 5758 "capabilities" : [ "Shader" ], 5759 "parameters" : [ 5760 { "kind" : "LiteralInteger", "name" : "'Component'" } 5761 ] 5762 }, 5763 { 5764 "enumerant" : "Index", 5765 "value" : 32, 5766 "capabilities" : [ "Shader" ], 5767 "parameters" : [ 5768 { "kind" : "LiteralInteger", "name" : "'Index'" } 5769 ] 5770 }, 5771 { 5772 "enumerant" : "Binding", 5773 "value" : 33, 5774 "capabilities" : [ "Shader" ], 5775 "parameters" : [ 5776 { "kind" : "LiteralInteger", "name" : "'Binding Point'" } 5777 ] 5778 }, 5779 { 5780 "enumerant" : "DescriptorSet", 5781 "value" : 34, 5782 "capabilities" : [ "Shader" ], 5783 "parameters" : [ 5784 { "kind" : "LiteralInteger", "name" : "'Descriptor Set'" } 5785 ] 5786 }, 5787 { 5788 "enumerant" : "Offset", 5789 "value" : 35, 5790 "capabilities" : [ "Shader" ], 5791 "parameters" : [ 5792 { "kind" : "LiteralInteger", "name" : "'Byte Offset'" } 5793 ] 5794 }, 5795 { 5796 "enumerant" : "XfbBuffer", 5797 "value" : 36, 5798 "capabilities" : [ "TransformFeedback" ], 5799 "parameters" : [ 5800 { "kind" : "LiteralInteger", "name" : "'XFB Buffer Number'" } 5801 ] 5802 }, 5803 { 5804 "enumerant" : "XfbStride", 5805 "value" : 37, 5806 "capabilities" : [ "TransformFeedback" ], 5807 "parameters" : [ 5808 { "kind" : "LiteralInteger", "name" : "'XFB Stride'" } 5809 ] 5810 }, 5811 { 5812 "enumerant" : "FuncParamAttr", 5813 "value" : 38, 5814 "capabilities" : [ "Kernel" ], 5815 "parameters" : [ 5816 { "kind" : "FunctionParameterAttribute", "name" : "'Function Parameter Attribute'" } 5817 ] 5818 }, 5819 { 5820 "enumerant" : "FPRoundingMode", 5821 "value" : 39, 5822 "parameters" : [ 5823 { "kind" : "FPRoundingMode", "name" : "'Floating-Point Rounding Mode'" } 5824 ] 5825 }, 5826 { 5827 "enumerant" : "FPFastMathMode", 5828 "value" : 40, 5829 "capabilities" : [ "Kernel" ], 5830 "parameters" : [ 5831 { "kind" : "FPFastMathMode", "name" : "'Fast-Math Mode'" } 5832 ] 5833 }, 5834 { 5835 "enumerant" : "LinkageAttributes", 5836 "value" : 41, 5837 "capabilities" : [ "Linkage" ], 5838 "parameters" : [ 5839 { "kind" : "LiteralString", "name" : "'Name'" }, 5840 { "kind" : "LinkageType", "name" : "'Linkage Type'" } 5841 ] 5842 }, 5843 { 5844 "enumerant" : "NoContraction", 5845 "value" : 42, 5846 "capabilities" : [ "Shader" ] 5847 }, 5848 { 5849 "enumerant" : "InputAttachmentIndex", 5850 "value" : 43, 5851 "capabilities" : [ "InputAttachment" ], 5852 "parameters" : [ 5853 { "kind" : "LiteralInteger", "name" : "'Attachment Index'" } 5854 ] 5855 }, 5856 { 5857 "enumerant" : "Alignment", 5858 "value" : 44, 5859 "capabilities" : [ "Kernel" ], 5860 "parameters" : [ 5861 { "kind" : "LiteralInteger", "name" : "'Alignment'" } 5862 ] 5863 }, 5864 { 5865 "enumerant" : "MaxByteOffset", 5866 "value" : 45, 5867 "capabilities" : [ "Addresses" ], 5868 "parameters" : [ 5869 { "kind" : "LiteralInteger", "name" : "'Max Byte Offset'" } 5870 ], 5871 "version" : "1.1" 5872 }, 5873 { 5874 "enumerant" : "AlignmentId", 5875 "value" : 46, 5876 "capabilities" : [ "Kernel" ], 5877 "parameters" : [ 5878 { "kind" : "IdRef", "name" : "'Alignment'" } 5879 ], 5880 "version" : "1.2" 5881 }, 5882 { 5883 "enumerant" : "MaxByteOffsetId", 5884 "value" : 47, 5885 "capabilities" : [ "Addresses" ], 5886 "parameters" : [ 5887 { "kind" : "IdRef", "name" : "'Max Byte Offset'" } 5888 ], 5889 "version" : "1.2" 5890 }, 5891 { 5892 "enumerant" : "NoSignedWrap", 5893 "value" : 4469, 5894 "extensions" : [ "SPV_KHR_no_integer_wrap_decoration" ], 5895 "version" : "None" 5896 }, 5897 { 5898 "enumerant" : "NoUnsignedWrap", 5899 "value" : 4470, 5900 "extensions" : [ "SPV_KHR_no_integer_wrap_decoration" ], 5901 "version" : "None" 5902 }, 5903 { 5904 "enumerant" : "ExplicitInterpAMD", 5905 "value" : 4999, 5906 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ], 5907 "version" : "None" 5908 }, 5909 { 5910 "enumerant" : "OverrideCoverageNV", 5911 "value" : 5248, 5912 "capabilities" : [ "SampleMaskOverrideCoverageNV" ], 5913 "extensions" : [ "SPV_NV_sample_mask_override_coverage" ], 5914 "version" : "None" 5915 }, 5916 { 5917 "enumerant" : "PassthroughNV", 5918 "value" : 5250, 5919 "capabilities" : [ "GeometryShaderPassthroughNV" ], 5920 "extensions" : [ "SPV_NV_geometry_shader_passthrough" ], 5921 "version" : "None" 5922 }, 5923 { 5924 "enumerant" : "ViewportRelativeNV", 5925 "value" : 5252, 5926 "capabilities" : [ "ShaderViewportMaskNV" ], 5927 "version" : "None" 5928 }, 5929 { 5930 "enumerant" : "SecondaryViewportRelativeNV", 5931 "value" : 5256, 5932 "capabilities" : [ "ShaderStereoViewNV" ], 5933 "extensions" : [ "SPV_NV_stereo_view_rendering" ], 5934 "version" : "None", 5935 "parameters" : [ 5936 { "kind" : "LiteralInteger", "name" : "'Offset'" } 5937 ] 5938 }, 5939 { 5940 "enumerant" : "PerPrimitiveNV", 5941 "value" : 5271, 5942 "capabilities" : [ "MeshShadingNV" ], 5943 "extensions" : [ "SPV_NV_mesh_shader" ], 5944 "version" : "None" 5945 }, 5946 { 5947 "enumerant" : "PerViewNV", 5948 "value" : 5272, 5949 "capabilities" : [ "MeshShadingNV" ], 5950 "extensions" : [ "SPV_NV_mesh_shader" ], 5951 "version" : "None" 5952 }, 5953 { 5954 "enumerant" : "PerTaskNV", 5955 "value" : 5273, 5956 "capabilities" : [ "MeshShadingNV" ], 5957 "extensions" : [ "SPV_NV_mesh_shader" ], 5958 "version" : "None" 5959 }, 5960 { 5961 "enumerant" : "PerVertexNV", 5962 "value" : 5285, 5963 "capabilities" : [ "FragmentBarycentricNV" ], 5964 "extensions" : [ "SPV_NV_fragment_shader_barycentric" ], 5965 "version" : "None" 5966 }, 5967 { 5968 "enumerant" : "NonUniformEXT", 5969 "value" : 5300, 5970 "capabilities" : [ "ShaderNonUniformEXT" ] 5971 }, 5972 { 5973 "enumerant" : "HlslCounterBufferGOOGLE", 5974 "value" : 5634, 5975 "parameters" : [ 5976 { "kind" : "IdRef", "name" : "'Counter Buffer'" } 5977 ], 5978 "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ], 5979 "version" : "None" 5980 }, 5981 { 5982 "enumerant" : "HlslSemanticGOOGLE", 5983 "value" : 5635, 5984 "parameters" : [ 5985 { "kind" : "LiteralString", "name" : "'Semantic'" } 5986 ], 5987 "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ], 5988 "version" : "None" 5989 }, 5990 { 5991 "enumerant" : "RestrictPointerEXT", 5992 "value" : 5355, 5993 "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ], 5994 "extensions" : [ "SPV_EXT_physical_storage_buffer" ], 5995 "version" : "None" 5996 }, 5997 { 5998 "enumerant" : "AliasedPointerEXT", 5999 "value" : 5356, 6000 "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ], 6001 "extensions" : [ "SPV_EXT_physical_storage_buffer" ], 6002 "version" : "None" 6003 } 6004 ] 6005 }, 6006 { 6007 "category" : "ValueEnum", 6008 "kind" : "BuiltIn", 6009 "enumerants" : [ 6010 { 6011 "enumerant" : "Position", 6012 "value" : 0, 6013 "capabilities" : [ "Shader" ] 6014 }, 6015 { 6016 "enumerant" : "PointSize", 6017 "value" : 1, 6018 "capabilities" : [ "Shader" ] 6019 }, 6020 { 6021 "enumerant" : "ClipDistance", 6022 "value" : 3, 6023 "capabilities" : [ "ClipDistance" ] 6024 }, 6025 { 6026 "enumerant" : "CullDistance", 6027 "value" : 4, 6028 "capabilities" : [ "CullDistance" ] 6029 }, 6030 { 6031 "enumerant" : "VertexId", 6032 "value" : 5, 6033 "capabilities" : [ "Shader" ] 6034 }, 6035 { 6036 "enumerant" : "InstanceId", 6037 "value" : 6, 6038 "capabilities" : [ "Shader" ] 6039 }, 6040 { 6041 "enumerant" : "PrimitiveId", 6042 "value" : 7, 6043 "capabilities" : [ "Geometry", "Tessellation", "RayTracingNV" ] 6044 }, 6045 { 6046 "enumerant" : "InvocationId", 6047 "value" : 8, 6048 "capabilities" : [ "Geometry", "Tessellation" ] 6049 }, 6050 { 6051 "enumerant" : "Layer", 6052 "value" : 9, 6053 "capabilities" : [ "Geometry" ] 6054 }, 6055 { 6056 "enumerant" : "ViewportIndex", 6057 "value" : 10, 6058 "capabilities" : [ "MultiViewport" ] 6059 }, 6060 { 6061 "enumerant" : "TessLevelOuter", 6062 "value" : 11, 6063 "capabilities" : [ "Tessellation" ] 6064 }, 6065 { 6066 "enumerant" : "TessLevelInner", 6067 "value" : 12, 6068 "capabilities" : [ "Tessellation" ] 6069 }, 6070 { 6071 "enumerant" : "TessCoord", 6072 "value" : 13, 6073 "capabilities" : [ "Tessellation" ] 6074 }, 6075 { 6076 "enumerant" : "PatchVertices", 6077 "value" : 14, 6078 "capabilities" : [ "Tessellation" ] 6079 }, 6080 { 6081 "enumerant" : "FragCoord", 6082 "value" : 15, 6083 "capabilities" : [ "Shader" ] 6084 }, 6085 { 6086 "enumerant" : "PointCoord", 6087 "value" : 16, 6088 "capabilities" : [ "Shader" ] 6089 }, 6090 { 6091 "enumerant" : "FrontFacing", 6092 "value" : 17, 6093 "capabilities" : [ "Shader" ] 6094 }, 6095 { 6096 "enumerant" : "SampleId", 6097 "value" : 18, 6098 "capabilities" : [ "SampleRateShading" ] 6099 }, 6100 { 6101 "enumerant" : "SamplePosition", 6102 "value" : 19, 6103 "capabilities" : [ "SampleRateShading" ] 6104 }, 6105 { 6106 "enumerant" : "SampleMask", 6107 "value" : 20, 6108 "capabilities" : [ "Shader" ] 6109 }, 6110 { 6111 "enumerant" : "FragDepth", 6112 "value" : 22, 6113 "capabilities" : [ "Shader" ] 6114 }, 6115 { 6116 "enumerant" : "HelperInvocation", 6117 "value" : 23, 6118 "capabilities" : [ "Shader" ] 6119 }, 6120 { 6121 "enumerant" : "NumWorkgroups", 6122 "value" : 24 6123 }, 6124 { 6125 "enumerant" : "WorkgroupSize", 6126 "value" : 25 6127 }, 6128 { 6129 "enumerant" : "WorkgroupId", 6130 "value" : 26 6131 }, 6132 { 6133 "enumerant" : "LocalInvocationId", 6134 "value" : 27 6135 }, 6136 { 6137 "enumerant" : "GlobalInvocationId", 6138 "value" : 28 6139 }, 6140 { 6141 "enumerant" : "LocalInvocationIndex", 6142 "value" : 29 6143 }, 6144 { 6145 "enumerant" : "WorkDim", 6146 "value" : 30, 6147 "capabilities" : [ "Kernel" ] 6148 }, 6149 { 6150 "enumerant" : "GlobalSize", 6151 "value" : 31, 6152 "capabilities" : [ "Kernel" ] 6153 }, 6154 { 6155 "enumerant" : "EnqueuedWorkgroupSize", 6156 "value" : 32, 6157 "capabilities" : [ "Kernel" ] 6158 }, 6159 { 6160 "enumerant" : "GlobalOffset", 6161 "value" : 33, 6162 "capabilities" : [ "Kernel" ] 6163 }, 6164 { 6165 "enumerant" : "GlobalLinearId", 6166 "value" : 34, 6167 "capabilities" : [ "Kernel" ] 6168 }, 6169 { 6170 "enumerant" : "SubgroupSize", 6171 "value" : 36, 6172 "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ] 6173 }, 6174 { 6175 "enumerant" : "SubgroupMaxSize", 6176 "value" : 37, 6177 "capabilities" : [ "Kernel" ] 6178 }, 6179 { 6180 "enumerant" : "NumSubgroups", 6181 "value" : 38, 6182 "capabilities" : [ "Kernel", "GroupNonUniform" ] 6183 }, 6184 { 6185 "enumerant" : "NumEnqueuedSubgroups", 6186 "value" : 39, 6187 "capabilities" : [ "Kernel" ] 6188 }, 6189 { 6190 "enumerant" : "SubgroupId", 6191 "value" : 40, 6192 "capabilities" : [ "Kernel", "GroupNonUniform" ] 6193 }, 6194 { 6195 "enumerant" : "SubgroupLocalInvocationId", 6196 "value" : 41, 6197 "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ] 6198 }, 6199 { 6200 "enumerant" : "VertexIndex", 6201 "value" : 42, 6202 "capabilities" : [ "Shader" ] 6203 }, 6204 { 6205 "enumerant" : "InstanceIndex", 6206 "value" : 43, 6207 "capabilities" : [ "Shader" ] 6208 }, 6209 { 6210 "enumerant" : "SubgroupEqMask", 6211 "value" : 4416, 6212 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ], 6213 "version" : "1.3" 6214 }, 6215 { 6216 "enumerant" : "SubgroupGeMask", 6217 "value" : 4417, 6218 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ], 6219 "version" : "1.3" 6220 }, 6221 { 6222 "enumerant" : "SubgroupGtMask", 6223 "value" : 4418, 6224 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ], 6225 "version" : "1.3" 6226 }, 6227 { 6228 "enumerant" : "SubgroupLeMask", 6229 "value" : 4419, 6230 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ], 6231 "version" : "1.3" 6232 }, 6233 { 6234 "enumerant" : "SubgroupLtMask", 6235 "value" : 4420, 6236 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ], 6237 "version" : "1.3" 6238 }, 6239 { 6240 "enumerant" : "SubgroupEqMaskKHR", 6241 "value" : 4416, 6242 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ], 6243 "extensions" : [ "SPV_KHR_shader_ballot" ], 6244 "version" : "1.3" 6245 }, 6246 { 6247 "enumerant" : "SubgroupGeMaskKHR", 6248 "value" : 4417, 6249 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ], 6250 "extensions" : [ "SPV_KHR_shader_ballot" ], 6251 "version" : "1.3" 6252 }, 6253 { 6254 "enumerant" : "SubgroupGtMaskKHR", 6255 "value" : 4418, 6256 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ], 6257 "extensions" : [ "SPV_KHR_shader_ballot" ], 6258 "version" : "1.3" 6259 }, 6260 { 6261 "enumerant" : "SubgroupLeMaskKHR", 6262 "value" : 4419, 6263 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ], 6264 "extensions" : [ "SPV_KHR_shader_ballot" ], 6265 "version" : "1.3" 6266 }, 6267 { 6268 "enumerant" : "SubgroupLtMaskKHR", 6269 "value" : 4420, 6270 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ], 6271 "extensions" : [ "SPV_KHR_shader_ballot" ], 6272 "version" : "1.3" 6273 }, 6274 { 6275 "enumerant" : "BaseVertex", 6276 "value" : 4424, 6277 "capabilities" : [ "DrawParameters" ], 6278 "extensions" : [ "SPV_KHR_shader_draw_parameters" ], 6279 "version" : "1.3" 6280 }, 6281 { 6282 "enumerant" : "BaseInstance", 6283 "value" : 4425, 6284 "capabilities" : [ "DrawParameters" ], 6285 "extensions" : [ "SPV_KHR_shader_draw_parameters" ], 6286 "version" : "1.3" 6287 }, 6288 { 6289 "enumerant" : "DrawIndex", 6290 "value" : 4426, 6291 "capabilities" : [ "DrawParameters", "MeshShadingNV" ], 6292 "extensions" : [ "SPV_KHR_shader_draw_parameters", "SPV_NV_mesh_shader" ], 6293 "version" : "1.3" 6294 }, 6295 { 6296 "enumerant" : "DeviceIndex", 6297 "value" : 4438, 6298 "capabilities" : [ "DeviceGroup" ], 6299 "extensions" : [ "SPV_KHR_device_group" ], 6300 "version" : "1.3" 6301 }, 6302 { 6303 "enumerant" : "ViewIndex", 6304 "value" : 4440, 6305 "capabilities" : [ "MultiView" ], 6306 "extensions" : [ "SPV_KHR_multiview" ], 6307 "version" : "1.3" 6308 }, 6309 { 6310 "enumerant" : "BaryCoordNoPerspAMD", 6311 "value" : 4992, 6312 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ], 6313 "version" : "None" 6314 }, 6315 { 6316 "enumerant" : "BaryCoordNoPerspCentroidAMD", 6317 "value" : 4993, 6318 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ], 6319 "version" : "None" 6320 }, 6321 { 6322 "enumerant" : "BaryCoordNoPerspSampleAMD", 6323 "value" : 4994, 6324 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ], 6325 "version" : "None" 6326 }, 6327 { 6328 "enumerant" : "BaryCoordSmoothAMD", 6329 "value" : 4995, 6330 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ], 6331 "version" : "None" 6332 }, 6333 { 6334 "enumerant" : "BaryCoordSmoothCentroidAMD", 6335 "value" : 4996, 6336 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ], 6337 "version" : "None" 6338 }, 6339 { 6340 "enumerant" : "BaryCoordSmoothSampleAMD", 6341 "value" : 4997, 6342 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ], 6343 "version" : "None" 6344 }, 6345 { 6346 "enumerant" : "BaryCoordPullModelAMD", 6347 "value" : 4998, 6348 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ], 6349 "version" : "None" 6350 }, 6351 { 6352 "enumerant" : "FragStencilRefEXT", 6353 "value" : 5014, 6354 "capabilities" : [ "StencilExportEXT" ], 6355 "extensions" : [ "SPV_EXT_shader_stencil_export" ], 6356 "version" : "None" 6357 }, 6358 { 6359 "enumerant" : "ViewportMaskNV", 6360 "value" : 5253, 6361 "capabilities" : [ "ShaderViewportMaskNV", "MeshShadingNV" ], 6362 "extensions" : [ "SPV_NV_viewport_array2", "SPV_NV_mesh_shader" ], 6363 "version" : "None" 6364 }, 6365 { 6366 "enumerant" : "SecondaryPositionNV", 6367 "value" : 5257, 6368 "capabilities" : [ "ShaderStereoViewNV" ], 6369 "extensions" : [ "SPV_NV_stereo_view_rendering" ], 6370 "version" : "None" 6371 }, 6372 { 6373 "enumerant" : "SecondaryViewportMaskNV", 6374 "value" : 5258, 6375 "capabilities" : [ "ShaderStereoViewNV" ], 6376 "extensions" : [ "SPV_NV_stereo_view_rendering" ], 6377 "version" : "None" 6378 }, 6379 { 6380 "enumerant" : "PositionPerViewNV", 6381 "value" : 5261, 6382 "capabilities" : [ "PerViewAttributesNV", "MeshShadingNV" ], 6383 "extensions" : [ "SPV_NVX_multiview_per_view_attributes", "SPV_NV_mesh_shader" ], 6384 "version" : "None" 6385 }, 6386 { 6387 "enumerant" : "ViewportMaskPerViewNV", 6388 "value" : 5262, 6389 "capabilities" : [ "PerViewAttributesNV", "MeshShadingNV" ], 6390 "extensions" : [ "SPV_NVX_multiview_per_view_attributes", "SPV_NV_mesh_shader" ], 6391 "version" : "None" 6392 }, 6393 { 6394 "enumerant" : "FullyCoveredEXT", 6395 "value" : 5264, 6396 "capabilities" : [ "FragmentFullyCoveredEXT" ], 6397 "extensions" : [ "SPV_EXT_fragment_fully_covered" ], 6398 "version" : "None" 6399 }, 6400 { 6401 "enumerant" : "TaskCountNV", 6402 "value" : 5274, 6403 "capabilities" : [ "MeshShadingNV" ], 6404 "extensions" : [ "SPV_NV_mesh_shader" ], 6405 "version" : "None" 6406 }, 6407 { 6408 "enumerant" : "PrimitiveCountNV", 6409 "value" : 5275, 6410 "capabilities" : [ "MeshShadingNV" ], 6411 "extensions" : [ "SPV_NV_mesh_shader" ], 6412 "version" : "None" 6413 }, 6414 { 6415 "enumerant" : "PrimitiveIndicesNV", 6416 "value" : 5276, 6417 "capabilities" : [ "MeshShadingNV" ], 6418 "extensions" : [ "SPV_NV_mesh_shader" ], 6419 "version" : "None" 6420 }, 6421 { 6422 "enumerant" : "ClipDistancePerViewNV", 6423 "value" : 5277, 6424 "capabilities" : [ "MeshShadingNV" ], 6425 "extensions" : [ "SPV_NV_mesh_shader" ], 6426 "version" : "None" 6427 }, 6428 { 6429 "enumerant" : "CullDistancePerViewNV", 6430 "value" : 5278, 6431 "capabilities" : [ "MeshShadingNV" ], 6432 "extensions" : [ "SPV_NV_mesh_shader" ], 6433 "version" : "None" 6434 }, 6435 { 6436 "enumerant" : "LayerPerViewNV", 6437 "value" : 5279, 6438 "capabilities" : [ "MeshShadingNV" ], 6439 "extensions" : [ "SPV_NV_mesh_shader" ], 6440 "version" : "None" 6441 }, 6442 { 6443 "enumerant" : "MeshViewCountNV", 6444 "value" : 5280, 6445 "capabilities" : [ "MeshShadingNV" ], 6446 "extensions" : [ "SPV_NV_mesh_shader" ], 6447 "version" : "None" 6448 }, 6449 { 6450 "enumerant" : "MeshViewIndicesNV", 6451 "value" : 5281, 6452 "capabilities" : [ "MeshShadingNV" ], 6453 "extensions" : [ "SPV_NV_mesh_shader" ], 6454 "version" : "None" 6455 }, 6456 { 6457 "enumerant" : "BaryCoordNV", 6458 "value" : 5286, 6459 "capabilities" : [ "FragmentBarycentricNV" ], 6460 "extensions" : [ "SPV_NV_fragment_shader_barycentric" ], 6461 "version" : "None" 6462 }, 6463 { 6464 "enumerant" : "BaryCoordNoPerspNV", 6465 "value" : 5287, 6466 "capabilities" : [ "FragmentBarycentricNV" ], 6467 "extensions" : [ "SPV_NV_fragment_shader_barycentric" ], 6468 "version" : "None" 6469 }, 6470 { 6471 "enumerant" : "FragSizeEXT", 6472 "value" : 5292 , 6473 "capabilities" : [ "FragmentDensityEXT", "ShadingRateNV" ], 6474 "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ], 6475 "version" : "None" 6476 }, 6477 { 6478 "enumerant" : "FragmentSizeNV", 6479 "value" : 5292 , 6480 "capabilities" : [ "ShadingRateNV", "FragmentDensityEXT" ], 6481 "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ], 6482 "version" : "None" 6483 }, 6484 { 6485 "enumerant" : "FragInvocationCountEXT", 6486 "value" : 5293, 6487 "capabilities" : [ "FragmentDensityEXT", "ShadingRateNV" ], 6488 "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ], 6489 "version" : "None" 6490 }, 6491 { 6492 "enumerant" : "InvocationsPerPixelNV", 6493 "value" : 5293, 6494 "capabilities" : [ "ShadingRateNV", "FragmentDensityEXT" ], 6495 "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ], 6496 "version" : "None" 6497 }, 6498 { 6499 "enumerant" : "LaunchIdNV", 6500 "value" : 5319, 6501 "capabilities" : [ "RayTracingNV" ], 6502 "extensions" : [ "SPV_NV_ray_tracing" ] 6503 }, 6504 { 6505 "enumerant" : "LaunchSizeNV", 6506 "value" : 5320, 6507 "capabilities" : [ "RayTracingNV" ], 6508 "extensions" : [ "SPV_NV_ray_tracing" ] 6509 }, 6510 { 6511 "enumerant" : "WorldRayOriginNV", 6512 "value" : 5321, 6513 "capabilities" : [ "RayTracingNV" ], 6514 "extensions" : [ "SPV_NV_ray_tracing" ] 6515 }, 6516 { 6517 "enumerant" : "WorldRayDirectionNV", 6518 "value" : 5322, 6519 "capabilities" : [ "RayTracingNV" ], 6520 "extensions" : [ "SPV_NV_ray_tracing" ] 6521 }, 6522 { 6523 "enumerant" : "ObjectRayOriginNV", 6524 "value" : 5323, 6525 "capabilities" : [ "RayTracingNV" ], 6526 "extensions" : [ "SPV_NV_ray_tracing" ] 6527 }, 6528 { 6529 "enumerant" : "ObjectRayDirectionNV", 6530 "value" : 5324, 6531 "capabilities" : [ "RayTracingNV" ], 6532 "extensions" : [ "SPV_NV_ray_tracing" ] 6533 }, 6534 { 6535 "enumerant" : "RayTminNV", 6536 "value" : 5325, 6537 "capabilities" : [ "RayTracingNV" ], 6538 "extensions" : [ "SPV_NV_ray_tracing" ] 6539 }, 6540 { 6541 "enumerant" : "RayTmaxNV", 6542 "value" : 5326, 6543 "capabilities" : [ "RayTracingNV" ], 6544 "extensions" : [ "SPV_NV_ray_tracing" ] 6545 }, 6546 { 6547 "enumerant" : "InstanceCustomIndexNV", 6548 "value" : 5327, 6549 "capabilities" : [ "RayTracingNV" ], 6550 "extensions" : [ "SPV_NV_ray_tracing" ] 6551 }, 6552 { 6553 "enumerant" : "ObjectToWorldNV", 6554 "value" : 5330, 6555 "capabilities" : [ "RayTracingNV" ], 6556 "extensions" : [ "SPV_NV_ray_tracing" ] 6557 }, 6558 { 6559 "enumerant" : "WorldToObjectNV", 6560 "value" : 5331, 6561 "capabilities" : [ "RayTracingNV" ], 6562 "extensions" : [ "SPV_NV_ray_tracing" ] 6563 }, 6564 { 6565 "enumerant" : "HitTNV", 6566 "value" : 5332, 6567 "capabilities" : [ "RayTracingNV" ], 6568 "extensions" : [ "SPV_NV_ray_tracing" ] 6569 }, 6570 { 6571 "enumerant" : "HitKindNV", 6572 "value" : 5333, 6573 "capabilities" : [ "RayTracingNV" ], 6574 "extensions" : [ "SPV_NV_ray_tracing" ] 6575 }, 6576 { 6577 "enumerant" : "IncomingRayFlagsNV", 6578 "value" : 5351, 6579 "capabilities" : [ "RayTracingNV" ], 6580 "extensions" : [ "SPV_NV_ray_tracing" ] 6581 } 6582 ] 6583 }, 6584 { 6585 "category" : "ValueEnum", 6586 "kind" : "Scope", 6587 "enumerants" : [ 6588 { 6589 "enumerant" : "CrossDevice", 6590 "value" : 0 6591 }, 6592 { 6593 "enumerant" : "Device", 6594 "value" : 1 6595 }, 6596 { 6597 "enumerant" : "Workgroup", 6598 "value" : 2 6599 }, 6600 { 6601 "enumerant" : "Subgroup", 6602 "value" : 3 6603 }, 6604 { 6605 "enumerant" : "Invocation", 6606 "value" : 4 6607 }, 6608 { 6609 "enumerant" : "QueueFamilyKHR", 6610 "value" : 5, 6611 "capabilities" : [ "VulkanMemoryModelKHR" ] 6612 } 6613 ] 6614 }, 6615 { 6616 "category" : "ValueEnum", 6617 "kind" : "GroupOperation", 6618 "enumerants" : [ 6619 { 6620 "enumerant" : "Reduce", 6621 "value" : 0, 6622 "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ] 6623 }, 6624 { 6625 "enumerant" : "InclusiveScan", 6626 "value" : 1, 6627 "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ] 6628 }, 6629 { 6630 "enumerant" : "ExclusiveScan", 6631 "value" : 2, 6632 "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ] 6633 }, 6634 { 6635 "enumerant" : "ClusteredReduce", 6636 "value" : 3, 6637 "capabilities" : [ "GroupNonUniformClustered" ], 6638 "version" : "1.3" 6639 }, 6640 { 6641 "enumerant" : "PartitionedReduceNV", 6642 "value" : 6, 6643 "capabilities" : [ "GroupNonUniformPartitionedNV" ], 6644 "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ], 6645 "version" : "None" 6646 }, 6647 { 6648 "enumerant" : "PartitionedInclusiveScanNV", 6649 "value" : 7, 6650 "capabilities" : [ "GroupNonUniformPartitionedNV" ], 6651 "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ], 6652 "version" : "None" 6653 }, 6654 { 6655 "enumerant" : "PartitionedExclusiveScanNV", 6656 "value" : 8, 6657 "capabilities" : [ "GroupNonUniformPartitionedNV" ], 6658 "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ], 6659 "version" : "None" 6660 } 6661 ] 6662 }, 6663 { 6664 "category" : "ValueEnum", 6665 "kind" : "KernelEnqueueFlags", 6666 "enumerants" : [ 6667 { 6668 "enumerant" : "NoWait", 6669 "value" : 0, 6670 "capabilities" : [ "Kernel" ] 6671 }, 6672 { 6673 "enumerant" : "WaitKernel", 6674 "value" : 1, 6675 "capabilities" : [ "Kernel" ] 6676 }, 6677 { 6678 "enumerant" : "WaitWorkGroup", 6679 "value" : 2, 6680 "capabilities" : [ "Kernel" ] 6681 } 6682 ] 6683 }, 6684 { 6685 "category" : "ValueEnum", 6686 "kind" : "Capability", 6687 "enumerants" : [ 6688 { 6689 "enumerant" : "Matrix", 6690 "value" : 0 6691 }, 6692 { 6693 "enumerant" : "Shader", 6694 "value" : 1, 6695 "capabilities" : [ "Matrix" ] 6696 }, 6697 { 6698 "enumerant" : "Geometry", 6699 "value" : 2, 6700 "capabilities" : [ "Shader" ] 6701 }, 6702 { 6703 "enumerant" : "Tessellation", 6704 "value" : 3, 6705 "capabilities" : [ "Shader" ] 6706 }, 6707 { 6708 "enumerant" : "Addresses", 6709 "value" : 4 6710 }, 6711 { 6712 "enumerant" : "Linkage", 6713 "value" : 5 6714 }, 6715 { 6716 "enumerant" : "Kernel", 6717 "value" : 6 6718 }, 6719 { 6720 "enumerant" : "Vector16", 6721 "value" : 7, 6722 "capabilities" : [ "Kernel" ] 6723 }, 6724 { 6725 "enumerant" : "Float16Buffer", 6726 "value" : 8, 6727 "capabilities" : [ "Kernel" ] 6728 }, 6729 { 6730 "enumerant" : "Float16", 6731 "value" : 9 6732 }, 6733 { 6734 "enumerant" : "Float64", 6735 "value" : 10 6736 }, 6737 { 6738 "enumerant" : "Int64", 6739 "value" : 11 6740 }, 6741 { 6742 "enumerant" : "Int64Atomics", 6743 "value" : 12, 6744 "capabilities" : [ "Int64" ] 6745 }, 6746 { 6747 "enumerant" : "ImageBasic", 6748 "value" : 13, 6749 "capabilities" : [ "Kernel" ] 6750 }, 6751 { 6752 "enumerant" : "ImageReadWrite", 6753 "value" : 14, 6754 "capabilities" : [ "ImageBasic" ] 6755 }, 6756 { 6757 "enumerant" : "ImageMipmap", 6758 "value" : 15, 6759 "capabilities" : [ "ImageBasic" ] 6760 }, 6761 { 6762 "enumerant" : "Pipes", 6763 "value" : 17, 6764 "capabilities" : [ "Kernel" ] 6765 }, 6766 { 6767 "enumerant" : "Groups", 6768 "value" : 18 6769 }, 6770 { 6771 "enumerant" : "DeviceEnqueue", 6772 "value" : 19, 6773 "capabilities" : [ "Kernel" ] 6774 }, 6775 { 6776 "enumerant" : "LiteralSampler", 6777 "value" : 20, 6778 "capabilities" : [ "Kernel" ] 6779 }, 6780 { 6781 "enumerant" : "AtomicStorage", 6782 "value" : 21, 6783 "capabilities" : [ "Shader" ] 6784 }, 6785 { 6786 "enumerant" : "Int16", 6787 "value" : 22 6788 }, 6789 { 6790 "enumerant" : "TessellationPointSize", 6791 "value" : 23, 6792 "capabilities" : [ "Tessellation" ] 6793 }, 6794 { 6795 "enumerant" : "GeometryPointSize", 6796 "value" : 24, 6797 "capabilities" : [ "Geometry" ] 6798 }, 6799 { 6800 "enumerant" : "ImageGatherExtended", 6801 "value" : 25, 6802 "capabilities" : [ "Shader" ] 6803 }, 6804 { 6805 "enumerant" : "StorageImageMultisample", 6806 "value" : 27, 6807 "capabilities" : [ "Shader" ] 6808 }, 6809 { 6810 "enumerant" : "UniformBufferArrayDynamicIndexing", 6811 "value" : 28, 6812 "capabilities" : [ "Shader" ] 6813 }, 6814 { 6815 "enumerant" : "SampledImageArrayDynamicIndexing", 6816 "value" : 29, 6817 "capabilities" : [ "Shader" ] 6818 }, 6819 { 6820 "enumerant" : "StorageBufferArrayDynamicIndexing", 6821 "value" : 30, 6822 "capabilities" : [ "Shader" ] 6823 }, 6824 { 6825 "enumerant" : "StorageImageArrayDynamicIndexing", 6826 "value" : 31, 6827 "capabilities" : [ "Shader" ] 6828 }, 6829 { 6830 "enumerant" : "ClipDistance", 6831 "value" : 32, 6832 "capabilities" : [ "Shader" ] 6833 }, 6834 { 6835 "enumerant" : "CullDistance", 6836 "value" : 33, 6837 "capabilities" : [ "Shader" ] 6838 }, 6839 { 6840 "enumerant" : "ImageCubeArray", 6841 "value" : 34, 6842 "capabilities" : [ "SampledCubeArray" ] 6843 }, 6844 { 6845 "enumerant" : "SampleRateShading", 6846 "value" : 35, 6847 "capabilities" : [ "Shader" ] 6848 }, 6849 { 6850 "enumerant" : "ImageRect", 6851 "value" : 36, 6852 "capabilities" : [ "SampledRect" ] 6853 }, 6854 { 6855 "enumerant" : "SampledRect", 6856 "value" : 37, 6857 "capabilities" : [ "Shader" ] 6858 }, 6859 { 6860 "enumerant" : "GenericPointer", 6861 "value" : 38, 6862 "capabilities" : [ "Addresses" ] 6863 }, 6864 { 6865 "enumerant" : "Int8", 6866 "value" : 39 6867 }, 6868 { 6869 "enumerant" : "InputAttachment", 6870 "value" : 40, 6871 "capabilities" : [ "Shader" ] 6872 }, 6873 { 6874 "enumerant" : "SparseResidency", 6875 "value" : 41, 6876 "capabilities" : [ "Shader" ] 6877 }, 6878 { 6879 "enumerant" : "MinLod", 6880 "value" : 42, 6881 "capabilities" : [ "Shader" ] 6882 }, 6883 { 6884 "enumerant" : "Sampled1D", 6885 "value" : 43 6886 }, 6887 { 6888 "enumerant" : "Image1D", 6889 "value" : 44, 6890 "capabilities" : [ "Sampled1D" ] 6891 }, 6892 { 6893 "enumerant" : "SampledCubeArray", 6894 "value" : 45, 6895 "capabilities" : [ "Shader" ] 6896 }, 6897 { 6898 "enumerant" : "SampledBuffer", 6899 "value" : 46 6900 }, 6901 { 6902 "enumerant" : "ImageBuffer", 6903 "value" : 47, 6904 "capabilities" : [ "SampledBuffer" ] 6905 }, 6906 { 6907 "enumerant" : "ImageMSArray", 6908 "value" : 48, 6909 "capabilities" : [ "Shader" ] 6910 }, 6911 { 6912 "enumerant" : "StorageImageExtendedFormats", 6913 "value" : 49, 6914 "capabilities" : [ "Shader" ] 6915 }, 6916 { 6917 "enumerant" : "ImageQuery", 6918 "value" : 50, 6919 "capabilities" : [ "Shader" ] 6920 }, 6921 { 6922 "enumerant" : "DerivativeControl", 6923 "value" : 51, 6924 "capabilities" : [ "Shader" ] 6925 }, 6926 { 6927 "enumerant" : "InterpolationFunction", 6928 "value" : 52, 6929 "capabilities" : [ "Shader" ] 6930 }, 6931 { 6932 "enumerant" : "TransformFeedback", 6933 "value" : 53, 6934 "capabilities" : [ "Shader" ] 6935 }, 6936 { 6937 "enumerant" : "GeometryStreams", 6938 "value" : 54, 6939 "capabilities" : [ "Geometry" ] 6940 }, 6941 { 6942 "enumerant" : "StorageImageReadWithoutFormat", 6943 "value" : 55, 6944 "capabilities" : [ "Shader" ] 6945 }, 6946 { 6947 "enumerant" : "StorageImageWriteWithoutFormat", 6948 "value" : 56, 6949 "capabilities" : [ "Shader" ] 6950 }, 6951 { 6952 "enumerant" : "MultiViewport", 6953 "value" : 57, 6954 "capabilities" : [ "Geometry" ] 6955 }, 6956 { 6957 "enumerant" : "SubgroupDispatch", 6958 "value" : 58, 6959 "capabilities" : [ "DeviceEnqueue" ], 6960 "version" : "1.1" 6961 }, 6962 { 6963 "enumerant" : "NamedBarrier", 6964 "value" : 59, 6965 "capabilities" : [ "Kernel" ], 6966 "version" : "1.1" 6967 }, 6968 { 6969 "enumerant" : "PipeStorage", 6970 "value" : 60, 6971 "capabilities" : [ "Pipes" ], 6972 "version" : "1.1" 6973 }, 6974 { 6975 "enumerant" : "GroupNonUniform", 6976 "value" : 61, 6977 "version" : "1.3" 6978 }, 6979 { 6980 "enumerant" : "GroupNonUniformVote", 6981 "value" : 62, 6982 "capabilities" : [ "GroupNonUniform" ], 6983 "version" : "1.3" 6984 }, 6985 { 6986 "enumerant" : "GroupNonUniformArithmetic", 6987 "value" : 63, 6988 "capabilities" : [ "GroupNonUniform" ], 6989 "version" : "1.3" 6990 }, 6991 { 6992 "enumerant" : "GroupNonUniformBallot", 6993 "value" : 64, 6994 "capabilities" : [ "GroupNonUniform" ], 6995 "version" : "1.3" 6996 }, 6997 { 6998 "enumerant" : "GroupNonUniformShuffle", 6999 "value" : 65, 7000 "capabilities" : [ "GroupNonUniform" ], 7001 "version" : "1.3" 7002 }, 7003 { 7004 "enumerant" : "GroupNonUniformShuffleRelative", 7005 "value" : 66, 7006 "capabilities" : [ "GroupNonUniform" ], 7007 "version" : "1.3" 7008 }, 7009 { 7010 "enumerant" : "GroupNonUniformClustered", 7011 "value" : 67, 7012 "capabilities" : [ "GroupNonUniform" ], 7013 "version" : "1.3" 7014 }, 7015 { 7016 "enumerant" : "GroupNonUniformQuad", 7017 "value" : 68, 7018 "capabilities" : [ "GroupNonUniform" ], 7019 "version" : "1.3" 7020 }, 7021 { 7022 "enumerant" : "SubgroupBallotKHR", 7023 "value" : 4423, 7024 "extensions" : [ "SPV_KHR_shader_ballot" ], 7025 "version" : "None" 7026 }, 7027 { 7028 "enumerant" : "DrawParameters", 7029 "value" : 4427, 7030 "capabilities" : [ "Shader" ], 7031 "extensions" : [ "SPV_KHR_shader_draw_parameters" ], 7032 "version" : "1.3" 7033 }, 7034 { 7035 "enumerant" : "SubgroupVoteKHR", 7036 "value" : 4431, 7037 "extensions" : [ "SPV_KHR_subgroup_vote" ], 7038 "version" : "None" 7039 }, 7040 { 7041 "enumerant" : "StorageBuffer16BitAccess", 7042 "value" : 4433, 7043 "extensions" : [ "SPV_KHR_16bit_storage" ], 7044 "version" : "1.3" 7045 }, 7046 { 7047 "enumerant" : "StorageUniformBufferBlock16", 7048 "value" : 4433, 7049 "extensions" : [ "SPV_KHR_16bit_storage" ], 7050 "version" : "1.3" 7051 }, 7052 { 7053 "enumerant" : "UniformAndStorageBuffer16BitAccess", 7054 "value" : 4434, 7055 "capabilities" : [ 7056 "StorageBuffer16BitAccess", 7057 "StorageUniformBufferBlock16" 7058 ], 7059 "extensions" : [ "SPV_KHR_16bit_storage" ], 7060 "version" : "1.3" 7061 }, 7062 { 7063 "enumerant" : "StorageUniform16", 7064 "value" : 4434, 7065 "capabilities" : [ 7066 "StorageBuffer16BitAccess", 7067 "StorageUniformBufferBlock16" 7068 ], 7069 "extensions" : [ "SPV_KHR_16bit_storage" ], 7070 "version" : "1.3" 7071 }, 7072 { 7073 "enumerant" : "StoragePushConstant16", 7074 "value" : 4435, 7075 "extensions" : [ "SPV_KHR_16bit_storage" ], 7076 "version" : "1.3" 7077 }, 7078 { 7079 "enumerant" : "StorageInputOutput16", 7080 "value" : 4436, 7081 "extensions" : [ "SPV_KHR_16bit_storage" ], 7082 "version" : "1.3" 7083 }, 7084 { 7085 "enumerant" : "DeviceGroup", 7086 "value" : 4437, 7087 "extensions" : [ "SPV_KHR_device_group" ], 7088 "version" : "1.3" 7089 }, 7090 { 7091 "enumerant" : "MultiView", 7092 "value" : 4439, 7093 "capabilities" : [ "Shader" ], 7094 "extensions" : [ "SPV_KHR_multiview" ], 7095 "version" : "1.3" 7096 }, 7097 { 7098 "enumerant" : "VariablePointersStorageBuffer", 7099 "value" : 4441, 7100 "capabilities" : [ "Shader" ], 7101 "extensions" : [ "SPV_KHR_variable_pointers" ], 7102 "version" : "1.3" 7103 }, 7104 { 7105 "enumerant" : "VariablePointers", 7106 "value" : 4442, 7107 "capabilities" : [ "VariablePointersStorageBuffer" ], 7108 "extensions" : [ "SPV_KHR_variable_pointers" ], 7109 "version" : "1.3" 7110 }, 7111 { 7112 "enumerant" : "AtomicStorageOps", 7113 "value" : 4445, 7114 "extensions" : [ "SPV_KHR_shader_atomic_counter_ops" ], 7115 "version" : "None" 7116 }, 7117 { 7118 "enumerant" : "SampleMaskPostDepthCoverage", 7119 "value" : 4447, 7120 "extensions" : [ "SPV_KHR_post_depth_coverage" ], 7121 "version" : "None" 7122 }, 7123 { 7124 "enumerant" : "StorageBuffer8BitAccess", 7125 "value" : 4448, 7126 "extensions" : [ "SPV_KHR_8bit_storage" ], 7127 "version" : "None" 7128 }, 7129 { 7130 "enumerant" : "UniformAndStorageBuffer8BitAccess", 7131 "value" : 4449, 7132 "capabilities" : [ "StorageBuffer8BitAccess" ], 7133 "extensions" : [ "SPV_KHR_8bit_storage" ], 7134 "version" : "None" 7135 }, 7136 { 7137 "enumerant" : "StoragePushConstant8", 7138 "value" : 4450, 7139 "extensions" : [ "SPV_KHR_8bit_storage" ], 7140 "version" : "None" 7141 }, 7142 { 7143 "enumerant" : "DenormPreserve", 7144 "value" : 4464, 7145 "extensions" : [ "SPV_KHR_float_controls" ], 7146 "version" : "None" 7147 }, 7148 { 7149 "enumerant" : "DenormFlushToZero", 7150 "value" : 4465, 7151 "extensions" : [ "SPV_KHR_float_controls" ], 7152 "version" : "None" 7153 }, 7154 { 7155 "enumerant" : "SignedZeroInfNanPreserve", 7156 "value" : 4466, 7157 "extensions" : [ "SPV_KHR_float_controls" ], 7158 "version" : "None" 7159 }, 7160 { 7161 "enumerant" : "RoundingModeRTE", 7162 "value" : 4467, 7163 "extensions" : [ "SPV_KHR_float_controls" ], 7164 "version" : "None" 7165 }, 7166 { 7167 "enumerant" : "RoundingModeRTZ", 7168 "value" : 4468, 7169 "extensions" : [ "SPV_KHR_float_controls" ], 7170 "version" : "None" 7171 }, 7172 { 7173 "enumerant" : "Float16ImageAMD", 7174 "value" : 5008, 7175 "capabilities" : [ "Shader" ], 7176 "extensions" : [ "SPV_AMD_gpu_shader_half_float_fetch" ], 7177 "version" : "None" 7178 }, 7179 { 7180 "enumerant" : "ImageGatherBiasLodAMD", 7181 "value" : 5009, 7182 "capabilities" : [ "Shader" ], 7183 "extensions" : [ "SPV_AMD_texture_gather_bias_lod" ], 7184 "version" : "None" 7185 }, 7186 { 7187 "enumerant" : "FragmentMaskAMD", 7188 "value" : 5010, 7189 "capabilities" : [ "Shader" ], 7190 "extensions" : [ "SPV_AMD_shader_fragment_mask" ], 7191 "version" : "None" 7192 }, 7193 { 7194 "enumerant" : "StencilExportEXT", 7195 "value" : 5013, 7196 "capabilities" : [ "Shader" ], 7197 "extensions" : [ "SPV_EXT_shader_stencil_export" ], 7198 "version" : "None" 7199 }, 7200 { 7201 "enumerant" : "ImageReadWriteLodAMD", 7202 "value" : 5015, 7203 "capabilities" : [ "Shader" ], 7204 "extensions" : [ "SPV_AMD_shader_image_load_store_lod" ], 7205 "version" : "None" 7206 }, 7207 { 7208 "enumerant" : "SampleMaskOverrideCoverageNV", 7209 "value" : 5249, 7210 "capabilities" : [ "SampleRateShading" ], 7211 "extensions" : [ "SPV_NV_sample_mask_override_coverage" ], 7212 "version" : "None" 7213 }, 7214 { 7215 "enumerant" : "GeometryShaderPassthroughNV", 7216 "value" : 5251, 7217 "capabilities" : [ "Geometry" ], 7218 "extensions" : [ "SPV_NV_geometry_shader_passthrough" ], 7219 "version" : "None" 7220 }, 7221 { 7222 "enumerant" : "ShaderViewportIndexLayerEXT", 7223 "value" : 5254, 7224 "capabilities" : [ "MultiViewport" ], 7225 "extensions" : [ "SPV_EXT_shader_viewport_index_layer" ], 7226 "version" : "None" 7227 }, 7228 { 7229 "enumerant" : "ShaderViewportIndexLayerNV", 7230 "value" : 5254, 7231 "capabilities" : [ "MultiViewport" ], 7232 "extensions" : [ "SPV_NV_viewport_array2" ], 7233 "version" : "None" 7234 }, 7235 { 7236 "enumerant" : "ShaderViewportMaskNV", 7237 "value" : 5255, 7238 "capabilities" : [ "ShaderViewportIndexLayerNV" ], 7239 "extensions" : [ "SPV_NV_viewport_array2" ], 7240 "version" : "None" 7241 }, 7242 { 7243 "enumerant" : "ShaderStereoViewNV", 7244 "value" : 5259, 7245 "capabilities" : [ "ShaderViewportMaskNV" ], 7246 "extensions" : [ "SPV_NV_stereo_view_rendering" ], 7247 "version" : "None" 7248 }, 7249 { 7250 "enumerant" : "PerViewAttributesNV", 7251 "value" : 5260, 7252 "capabilities" : [ "MultiView" ], 7253 "extensions" : [ "SPV_NVX_multiview_per_view_attributes" ], 7254 "version" : "None" 7255 }, 7256 { 7257 "enumerant" : "FragmentFullyCoveredEXT", 7258 "value" : 5265, 7259 "capabilities" : [ "Shader" ], 7260 "extensions" : [ "SPV_EXT_fragment_fully_covered" ], 7261 "version" : "None" 7262 }, 7263 { 7264 "enumerant" : "MeshShadingNV", 7265 "value" : 5266, 7266 "capabilities" : [ "Shader" ], 7267 "extensions" : [ "SPV_NV_mesh_shader" ], 7268 "version" : "None" 7269 }, 7270 { 7271 "enumerant" : "ShaderNonUniformEXT", 7272 "value" : 5301, 7273 "capabilities" : [ "Shader" ], 7274 "extensions" : [ "SPV_EXT_descriptor_indexing" ], 7275 "version" : "None" 7276 }, 7277 { 7278 "enumerant" : "RuntimeDescriptorArrayEXT", 7279 "value" : 5302, 7280 "capabilities" : [ "Shader" ], 7281 "extensions" : [ "SPV_EXT_descriptor_indexing" ], 7282 "version" : "None" 7283 }, 7284 { 7285 "enumerant" : "InputAttachmentArrayDynamicIndexingEXT", 7286 "value" : 5303, 7287 "capabilities" : [ "InputAttachment" ], 7288 "extensions" : [ "SPV_EXT_descriptor_indexing" ], 7289 "version" : "None" 7290 }, 7291 { 7292 "enumerant" : "UniformTexelBufferArrayDynamicIndexingEXT", 7293 "value" : 5304, 7294 "capabilities" : [ "SampledBuffer" ], 7295 "extensions" : [ "SPV_EXT_descriptor_indexing" ], 7296 "version" : "None" 7297 }, 7298 { 7299 "enumerant" : "StorageTexelBufferArrayDynamicIndexingEXT", 7300 "value" : 5305, 7301 "capabilities" : [ "ImageBuffer" ], 7302 "extensions" : [ "SPV_EXT_descriptor_indexing" ], 7303 "version" : "None" 7304 }, 7305 { 7306 "enumerant" : "UniformBufferArrayNonUniformIndexingEXT", 7307 "value" : 5306, 7308 "capabilities" : [ "ShaderNonUniformEXT" ], 7309 "extensions" : [ "SPV_EXT_descriptor_indexing" ], 7310 "version" : "None" 7311 }, 7312 { 7313 "enumerant" : "SampledImageArrayNonUniformIndexingEXT", 7314 "value" : 5307, 7315 "capabilities" : [ "ShaderNonUniformEXT" ], 7316 "extensions" : [ "SPV_EXT_descriptor_indexing" ], 7317 "version" : "None" 7318 }, 7319 { 7320 "enumerant" : "StorageBufferArrayNonUniformIndexingEXT", 7321 "value" : 5308, 7322 "capabilities" : [ "ShaderNonUniformEXT" ], 7323 "extensions" : [ "SPV_EXT_descriptor_indexing" ], 7324 "version" : "None" 7325 }, 7326 { 7327 "enumerant" : "StorageImageArrayNonUniformIndexingEXT", 7328 "value" : 5309, 7329 "capabilities" : [ "ShaderNonUniformEXT" ], 7330 "extensions" : [ "SPV_EXT_descriptor_indexing" ], 7331 "version" : "None" 7332 }, 7333 { 7334 "enumerant" : "InputAttachmentArrayNonUniformIndexingEXT", 7335 "value" : 5310, 7336 "capabilities" : [ "InputAttachment", "ShaderNonUniformEXT" ], 7337 "extensions" : [ "SPV_EXT_descriptor_indexing" ], 7338 "version" : "None" 7339 }, 7340 { 7341 "enumerant" : "UniformTexelBufferArrayNonUniformIndexingEXT", 7342 "value" : 5311, 7343 "capabilities" : [ "SampledBuffer", "ShaderNonUniformEXT" ], 7344 "extensions" : [ "SPV_EXT_descriptor_indexing" ], 7345 "version" : "None" 7346 }, 7347 { 7348 "enumerant" : "StorageTexelBufferArrayNonUniformIndexingEXT", 7349 "value" : 5312, 7350 "capabilities" : [ "ImageBuffer", "ShaderNonUniformEXT" ], 7351 "extensions" : [ "SPV_EXT_descriptor_indexing" ], 7352 "version" : "None" 7353 }, 7354 { 7355 "enumerant" : "RayTracingNV", 7356 "value" : 5340, 7357 "capabilities" : [ "Shader" ], 7358 "extensions" : [ "SPV_NV_ray_tracing" ], 7359 "version" : "None" 7360 }, 7361 { 7362 "enumerant" : "SubgroupShuffleINTEL", 7363 "value" : 5568, 7364 "extensions" : [ "SPV_INTEL_subgroups" ], 7365 "version" : "None" 7366 }, 7367 { 7368 "enumerant" : "SubgroupBufferBlockIOINTEL", 7369 "value" : 5569, 7370 "extensions" : [ "SPV_INTEL_subgroups" ], 7371 "version" : "None" 7372 }, 7373 { 7374 "enumerant" : "SubgroupImageBlockIOINTEL", 7375 "value" : 5570, 7376 "extensions" : [ "SPV_INTEL_subgroups" ], 7377 "version" : "None" 7378 }, 7379 { 7380 "enumerant" : "GroupNonUniformPartitionedNV", 7381 "value" : 5297, 7382 "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ], 7383 "version" : "None" 7384 }, 7385 { 7386 "enumerant" : "VulkanMemoryModelKHR", 7387 "value" : 5345, 7388 "extensions" : [ "SPV_KHR_vulkan_memory_model" ], 7389 "version" : "None" 7390 }, 7391 { 7392 "enumerant" : "VulkanMemoryModelDeviceScopeKHR", 7393 "value" : 5346, 7394 "extensions" : [ "SPV_KHR_vulkan_memory_model" ], 7395 "version" : "None" 7396 }, 7397 { 7398 "enumerant" : "ImageFootprintNV", 7399 "value" : 5282, 7400 "extensions" : [ "SPV_NV_shader_image_footprint" ], 7401 "version" : "None" 7402 }, 7403 { 7404 "enumerant" : "FragmentBarycentricNV", 7405 "value" : 5284, 7406 "extensions" : [ "SPV_NV_fragment_shader_barycentric" ], 7407 "version" : "None" 7408 }, 7409 { 7410 "enumerant" : "ComputeDerivativeGroupQuadsNV", 7411 "value" : 5288, 7412 "extensions" : [ "SPV_NV_compute_shader_derivatives" ], 7413 "version" : "None" 7414 }, 7415 { 7416 "enumerant" : "ComputeDerivativeGroupLinearNV", 7417 "value" : 5350, 7418 "extensions" : [ "SPV_NV_compute_shader_derivatives" ], 7419 "version" : "None" 7420 }, 7421 { 7422 "enumerant" : "FragmentDensityEXT", 7423 "value" : 5291, 7424 "capabilities" : [ "Shader" ], 7425 "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ], 7426 "version" : "None" 7427 }, 7428 { 7429 "enumerant" : "ShadingRateNV", 7430 "value" : 5291, 7431 "capabilities" : [ "Shader" ], 7432 "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ], 7433 "version" : "None" 7434 }, 7435 { 7436 "enumerant" : "PhysicalStorageBufferAddressesEXT", 7437 "value" : 5347, 7438 "capabilities" : [ "Shader" ], 7439 "extensions" : [ "SPV_EXT_physical_storage_buffer" ], 7440 "version" : "None" 7441 } 7442 ] 7443 }, 7444 { 7445 "category" : "Id", 7446 "kind" : "IdResultType", 7447 "doc" : "Reference to an <id> representing the result's type of the enclosing instruction" 7448 }, 7449 { 7450 "category" : "Id", 7451 "kind" : "IdResult", 7452 "doc" : "Definition of an <id> representing the result of the enclosing instruction" 7453 }, 7454 { 7455 "category" : "Id", 7456 "kind" : "IdMemorySemantics", 7457 "doc" : "Reference to an <id> representing a 32-bit integer that is a mask from the MemorySemantics operand kind" 7458 }, 7459 { 7460 "category" : "Id", 7461 "kind" : "IdScope", 7462 "doc" : "Reference to an <id> representing a 32-bit integer that is a mask from the Scope operand kind" 7463 }, 7464 { 7465 "category" : "Id", 7466 "kind" : "IdRef", 7467 "doc" : "Reference to an <id>" 7468 }, 7469 { 7470 "category" : "Literal", 7471 "kind" : "LiteralInteger", 7472 "doc" : "An integer consuming one or more words" 7473 }, 7474 { 7475 "category" : "Literal", 7476 "kind" : "LiteralString", 7477 "doc" : "A null-terminated stream of characters consuming an integral number of words" 7478 }, 7479 { 7480 "category" : "Literal", 7481 "kind" : "LiteralContextDependentNumber", 7482 "doc" : "A literal number whose size and format are determined by a previous operand in the enclosing instruction" 7483 }, 7484 { 7485 "category" : "Literal", 7486 "kind" : "LiteralExtInstInteger", 7487 "doc" : "A 32-bit unsigned integer indicating which instruction to use and determining the layout of following operands (for OpExtInst)" 7488 }, 7489 { 7490 "category" : "Literal", 7491 "kind" : "LiteralSpecConstantOpInteger", 7492 "doc" : "An opcode indicating the operation to be performed and determining the layout of following operands (for OpSpecConstantOp)" 7493 }, 7494 { 7495 "category" : "Composite", 7496 "kind" : "PairLiteralIntegerIdRef", 7497 "bases" : [ "LiteralInteger", "IdRef" ] 7498 }, 7499 { 7500 "category" : "Composite", 7501 "kind" : "PairIdRefLiteralInteger", 7502 "bases" : [ "IdRef", "LiteralInteger" ] 7503 }, 7504 { 7505 "category" : "Composite", 7506 "kind" : "PairIdRefIdRef", 7507 "bases" : [ "IdRef", "IdRef" ] 7508 } 7509 ] 7510} 7511