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