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" : 0, 30 "revision" : 6, 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" : [ "Addresses" ] 564 }, 565 { 566 "opname" : "OpArrayLength", 567 "opcode" : 68, 568 "operands" : [ 569 { "kind" : "IdResultType" }, 570 { "kind" : "IdResult" }, 571 { "kind" : "IdRef", "name" : "'Structure'" }, 572 { "kind" : "LiteralInteger", "name" : "'Array member'" } 573 ], 574 "capabilities" : [ "Shader" ] 575 }, 576 { 577 "opname" : "OpGenericPtrMemSemantics", 578 "opcode" : 69, 579 "operands" : [ 580 { "kind" : "IdResultType" }, 581 { "kind" : "IdResult" }, 582 { "kind" : "IdRef", "name" : "'Pointer'" } 583 ], 584 "capabilities" : [ "Kernel" ] 585 }, 586 { 587 "opname" : "OpInBoundsPtrAccessChain", 588 "opcode" : 70, 589 "operands" : [ 590 { "kind" : "IdResultType" }, 591 { "kind" : "IdResult" }, 592 { "kind" : "IdRef", "name" : "'Base'" }, 593 { "kind" : "IdRef", "name" : "'Element'" }, 594 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" } 595 ], 596 "capabilities" : [ "Addresses" ] 597 }, 598 { 599 "opname" : "OpDecorate", 600 "opcode" : 71, 601 "operands" : [ 602 { "kind" : "IdRef", "name" : "'Target'" }, 603 { "kind" : "Decoration" } 604 ] 605 }, 606 { 607 "opname" : "OpMemberDecorate", 608 "opcode" : 72, 609 "operands" : [ 610 { "kind" : "IdRef", "name" : "'Structure Type'" }, 611 { "kind" : "LiteralInteger", "name" : "'Member'" }, 612 { "kind" : "Decoration" } 613 ] 614 }, 615 { 616 "opname" : "OpDecorationGroup", 617 "opcode" : 73, 618 "operands" : [ 619 { "kind" : "IdResult" } 620 ] 621 }, 622 { 623 "opname" : "OpGroupDecorate", 624 "opcode" : 74, 625 "operands" : [ 626 { "kind" : "IdRef", "name" : "'Decoration Group'" }, 627 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Targets'" } 628 ] 629 }, 630 { 631 "opname" : "OpGroupMemberDecorate", 632 "opcode" : 75, 633 "operands" : [ 634 { "kind" : "IdRef", "name" : "'Decoration Group'" }, 635 { "kind" : "PairIdRefLiteralInteger", "quantifier" : "*", "name" : "'Targets'" } 636 ] 637 }, 638 { 639 "opname" : "OpVectorExtractDynamic", 640 "opcode" : 77, 641 "operands" : [ 642 { "kind" : "IdResultType" }, 643 { "kind" : "IdResult" }, 644 { "kind" : "IdRef", "name" : "'Vector'" }, 645 { "kind" : "IdRef", "name" : "'Index'" } 646 ] 647 }, 648 { 649 "opname" : "OpVectorInsertDynamic", 650 "opcode" : 78, 651 "operands" : [ 652 { "kind" : "IdResultType" }, 653 { "kind" : "IdResult" }, 654 { "kind" : "IdRef", "name" : "'Vector'" }, 655 { "kind" : "IdRef", "name" : "'Component'" }, 656 { "kind" : "IdRef", "name" : "'Index'" } 657 ] 658 }, 659 { 660 "opname" : "OpVectorShuffle", 661 "opcode" : 79, 662 "operands" : [ 663 { "kind" : "IdResultType" }, 664 { "kind" : "IdResult" }, 665 { "kind" : "IdRef", "name" : "'Vector 1'" }, 666 { "kind" : "IdRef", "name" : "'Vector 2'" }, 667 { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Components'" } 668 ] 669 }, 670 { 671 "opname" : "OpCompositeConstruct", 672 "opcode" : 80, 673 "operands" : [ 674 { "kind" : "IdResultType" }, 675 { "kind" : "IdResult" }, 676 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Constituents'" } 677 ] 678 }, 679 { 680 "opname" : "OpCompositeExtract", 681 "opcode" : 81, 682 "operands" : [ 683 { "kind" : "IdResultType" }, 684 { "kind" : "IdResult" }, 685 { "kind" : "IdRef", "name" : "'Composite'" }, 686 { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Indexes'" } 687 ] 688 }, 689 { 690 "opname" : "OpCompositeInsert", 691 "opcode" : 82, 692 "operands" : [ 693 { "kind" : "IdResultType" }, 694 { "kind" : "IdResult" }, 695 { "kind" : "IdRef", "name" : "'Object'" }, 696 { "kind" : "IdRef", "name" : "'Composite'" }, 697 { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Indexes'" } 698 ] 699 }, 700 { 701 "opname" : "OpCopyObject", 702 "opcode" : 83, 703 "operands" : [ 704 { "kind" : "IdResultType" }, 705 { "kind" : "IdResult" }, 706 { "kind" : "IdRef", "name" : "'Operand'" } 707 ] 708 }, 709 { 710 "opname" : "OpTranspose", 711 "opcode" : 84, 712 "operands" : [ 713 { "kind" : "IdResultType" }, 714 { "kind" : "IdResult" }, 715 { "kind" : "IdRef", "name" : "'Matrix'" } 716 ], 717 "capabilities" : [ "Matrix" ] 718 }, 719 { 720 "opname" : "OpSampledImage", 721 "opcode" : 86, 722 "operands" : [ 723 { "kind" : "IdResultType" }, 724 { "kind" : "IdResult" }, 725 { "kind" : "IdRef", "name" : "'Image'" }, 726 { "kind" : "IdRef", "name" : "'Sampler'" } 727 ] 728 }, 729 { 730 "opname" : "OpImageSampleImplicitLod", 731 "opcode" : 87, 732 "operands" : [ 733 { "kind" : "IdResultType" }, 734 { "kind" : "IdResult" }, 735 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 736 { "kind" : "IdRef", "name" : "'Coordinate'" }, 737 { "kind" : "ImageOperands", "quantifier" : "?" } 738 ], 739 "capabilities" : [ "Shader" ] 740 }, 741 { 742 "opname" : "OpImageSampleExplicitLod", 743 "opcode" : 88, 744 "operands" : [ 745 { "kind" : "IdResultType" }, 746 { "kind" : "IdResult" }, 747 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 748 { "kind" : "IdRef", "name" : "'Coordinate'" }, 749 { "kind" : "ImageOperands" } 750 ] 751 }, 752 { 753 "opname" : "OpImageSampleDrefImplicitLod", 754 "opcode" : 89, 755 "operands" : [ 756 { "kind" : "IdResultType" }, 757 { "kind" : "IdResult" }, 758 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 759 { "kind" : "IdRef", "name" : "'Coordinate'" }, 760 { "kind" : "IdRef", "name" : "'D~ref~'" }, 761 { "kind" : "ImageOperands", "quantifier" : "?" } 762 ], 763 "capabilities" : [ "Shader" ] 764 }, 765 { 766 "opname" : "OpImageSampleDrefExplicitLod", 767 "opcode" : 90, 768 "operands" : [ 769 { "kind" : "IdResultType" }, 770 { "kind" : "IdResult" }, 771 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 772 { "kind" : "IdRef", "name" : "'Coordinate'" }, 773 { "kind" : "IdRef", "name" : "'D~ref~'" }, 774 { "kind" : "ImageOperands" } 775 ], 776 "capabilities" : [ "Shader" ] 777 }, 778 { 779 "opname" : "OpImageSampleProjImplicitLod", 780 "opcode" : 91, 781 "operands" : [ 782 { "kind" : "IdResultType" }, 783 { "kind" : "IdResult" }, 784 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 785 { "kind" : "IdRef", "name" : "'Coordinate'" }, 786 { "kind" : "ImageOperands", "quantifier" : "?" } 787 ], 788 "capabilities" : [ "Shader" ] 789 }, 790 { 791 "opname" : "OpImageSampleProjExplicitLod", 792 "opcode" : 92, 793 "operands" : [ 794 { "kind" : "IdResultType" }, 795 { "kind" : "IdResult" }, 796 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 797 { "kind" : "IdRef", "name" : "'Coordinate'" }, 798 { "kind" : "ImageOperands" } 799 ], 800 "capabilities" : [ "Shader" ] 801 }, 802 { 803 "opname" : "OpImageSampleProjDrefImplicitLod", 804 "opcode" : 93, 805 "operands" : [ 806 { "kind" : "IdResultType" }, 807 { "kind" : "IdResult" }, 808 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 809 { "kind" : "IdRef", "name" : "'Coordinate'" }, 810 { "kind" : "IdRef", "name" : "'D~ref~'" }, 811 { "kind" : "ImageOperands", "quantifier" : "?" } 812 ], 813 "capabilities" : [ "Shader" ] 814 }, 815 { 816 "opname" : "OpImageSampleProjDrefExplicitLod", 817 "opcode" : 94, 818 "operands" : [ 819 { "kind" : "IdResultType" }, 820 { "kind" : "IdResult" }, 821 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 822 { "kind" : "IdRef", "name" : "'Coordinate'" }, 823 { "kind" : "IdRef", "name" : "'D~ref~'" }, 824 { "kind" : "ImageOperands" } 825 ], 826 "capabilities" : [ "Shader" ] 827 }, 828 { 829 "opname" : "OpImageFetch", 830 "opcode" : 95, 831 "operands" : [ 832 { "kind" : "IdResultType" }, 833 { "kind" : "IdResult" }, 834 { "kind" : "IdRef", "name" : "'Image'" }, 835 { "kind" : "IdRef", "name" : "'Coordinate'" }, 836 { "kind" : "ImageOperands", "quantifier" : "?" } 837 ] 838 }, 839 { 840 "opname" : "OpImageGather", 841 "opcode" : 96, 842 "operands" : [ 843 { "kind" : "IdResultType" }, 844 { "kind" : "IdResult" }, 845 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 846 { "kind" : "IdRef", "name" : "'Coordinate'" }, 847 { "kind" : "IdRef", "name" : "'Component'" }, 848 { "kind" : "ImageOperands", "quantifier" : "?" } 849 ], 850 "capabilities" : [ "Shader" ] 851 }, 852 { 853 "opname" : "OpImageDrefGather", 854 "opcode" : 97, 855 "operands" : [ 856 { "kind" : "IdResultType" }, 857 { "kind" : "IdResult" }, 858 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 859 { "kind" : "IdRef", "name" : "'Coordinate'" }, 860 { "kind" : "IdRef", "name" : "'D~ref~'" }, 861 { "kind" : "ImageOperands", "quantifier" : "?" } 862 ], 863 "capabilities" : [ "Shader" ] 864 }, 865 { 866 "opname" : "OpImageRead", 867 "opcode" : 98, 868 "operands" : [ 869 { "kind" : "IdResultType" }, 870 { "kind" : "IdResult" }, 871 { "kind" : "IdRef", "name" : "'Image'" }, 872 { "kind" : "IdRef", "name" : "'Coordinate'" }, 873 { "kind" : "ImageOperands", "quantifier" : "?" } 874 ] 875 }, 876 { 877 "opname" : "OpImageWrite", 878 "opcode" : 99, 879 "operands" : [ 880 { "kind" : "IdRef", "name" : "'Image'" }, 881 { "kind" : "IdRef", "name" : "'Coordinate'" }, 882 { "kind" : "IdRef", "name" : "'Texel'" }, 883 { "kind" : "ImageOperands", "quantifier" : "?" } 884 ] 885 }, 886 { 887 "opname" : "OpImage", 888 "opcode" : 100, 889 "operands" : [ 890 { "kind" : "IdResultType" }, 891 { "kind" : "IdResult" }, 892 { "kind" : "IdRef", "name" : "'Sampled Image'" } 893 ] 894 }, 895 { 896 "opname" : "OpImageQueryFormat", 897 "opcode" : 101, 898 "operands" : [ 899 { "kind" : "IdResultType" }, 900 { "kind" : "IdResult" }, 901 { "kind" : "IdRef", "name" : "'Image'" } 902 ], 903 "capabilities" : [ "Kernel" ] 904 }, 905 { 906 "opname" : "OpImageQueryOrder", 907 "opcode" : 102, 908 "operands" : [ 909 { "kind" : "IdResultType" }, 910 { "kind" : "IdResult" }, 911 { "kind" : "IdRef", "name" : "'Image'" } 912 ], 913 "capabilities" : [ "Kernel" ] 914 }, 915 { 916 "opname" : "OpImageQuerySizeLod", 917 "opcode" : 103, 918 "operands" : [ 919 { "kind" : "IdResultType" }, 920 { "kind" : "IdResult" }, 921 { "kind" : "IdRef", "name" : "'Image'" }, 922 { "kind" : "IdRef", "name" : "'Level of Detail'" } 923 ], 924 "capabilities" : [ "Kernel", "ImageQuery" ] 925 }, 926 { 927 "opname" : "OpImageQuerySize", 928 "opcode" : 104, 929 "operands" : [ 930 { "kind" : "IdResultType" }, 931 { "kind" : "IdResult" }, 932 { "kind" : "IdRef", "name" : "'Image'" } 933 ], 934 "capabilities" : [ "Kernel", "ImageQuery" ] 935 }, 936 { 937 "opname" : "OpImageQueryLod", 938 "opcode" : 105, 939 "operands" : [ 940 { "kind" : "IdResultType" }, 941 { "kind" : "IdResult" }, 942 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 943 { "kind" : "IdRef", "name" : "'Coordinate'" } 944 ], 945 "capabilities" : [ "ImageQuery" ] 946 }, 947 { 948 "opname" : "OpImageQueryLevels", 949 "opcode" : 106, 950 "operands" : [ 951 { "kind" : "IdResultType" }, 952 { "kind" : "IdResult" }, 953 { "kind" : "IdRef", "name" : "'Image'" } 954 ], 955 "capabilities" : [ "Kernel", "ImageQuery" ] 956 }, 957 { 958 "opname" : "OpImageQuerySamples", 959 "opcode" : 107, 960 "operands" : [ 961 { "kind" : "IdResultType" }, 962 { "kind" : "IdResult" }, 963 { "kind" : "IdRef", "name" : "'Image'" } 964 ], 965 "capabilities" : [ "Kernel", "ImageQuery" ] 966 }, 967 { 968 "opname" : "OpConvertFToU", 969 "opcode" : 109, 970 "operands" : [ 971 { "kind" : "IdResultType" }, 972 { "kind" : "IdResult" }, 973 { "kind" : "IdRef", "name" : "'Float Value'" } 974 ] 975 }, 976 { 977 "opname" : "OpConvertFToS", 978 "opcode" : 110, 979 "operands" : [ 980 { "kind" : "IdResultType" }, 981 { "kind" : "IdResult" }, 982 { "kind" : "IdRef", "name" : "'Float Value'" } 983 ] 984 }, 985 { 986 "opname" : "OpConvertSToF", 987 "opcode" : 111, 988 "operands" : [ 989 { "kind" : "IdResultType" }, 990 { "kind" : "IdResult" }, 991 { "kind" : "IdRef", "name" : "'Signed Value'" } 992 ] 993 }, 994 { 995 "opname" : "OpConvertUToF", 996 "opcode" : 112, 997 "operands" : [ 998 { "kind" : "IdResultType" }, 999 { "kind" : "IdResult" }, 1000 { "kind" : "IdRef", "name" : "'Unsigned Value'" } 1001 ] 1002 }, 1003 { 1004 "opname" : "OpUConvert", 1005 "opcode" : 113, 1006 "operands" : [ 1007 { "kind" : "IdResultType" }, 1008 { "kind" : "IdResult" }, 1009 { "kind" : "IdRef", "name" : "'Unsigned Value'" } 1010 ] 1011 }, 1012 { 1013 "opname" : "OpSConvert", 1014 "opcode" : 114, 1015 "operands" : [ 1016 { "kind" : "IdResultType" }, 1017 { "kind" : "IdResult" }, 1018 { "kind" : "IdRef", "name" : "'Signed Value'" } 1019 ] 1020 }, 1021 { 1022 "opname" : "OpFConvert", 1023 "opcode" : 115, 1024 "operands" : [ 1025 { "kind" : "IdResultType" }, 1026 { "kind" : "IdResult" }, 1027 { "kind" : "IdRef", "name" : "'Float Value'" } 1028 ] 1029 }, 1030 { 1031 "opname" : "OpQuantizeToF16", 1032 "opcode" : 116, 1033 "operands" : [ 1034 { "kind" : "IdResultType" }, 1035 { "kind" : "IdResult" }, 1036 { "kind" : "IdRef", "name" : "'Value'" } 1037 ] 1038 }, 1039 { 1040 "opname" : "OpConvertPtrToU", 1041 "opcode" : 117, 1042 "operands" : [ 1043 { "kind" : "IdResultType" }, 1044 { "kind" : "IdResult" }, 1045 { "kind" : "IdRef", "name" : "'Pointer'" } 1046 ], 1047 "capabilities" : [ "Addresses" ] 1048 }, 1049 { 1050 "opname" : "OpSatConvertSToU", 1051 "opcode" : 118, 1052 "operands" : [ 1053 { "kind" : "IdResultType" }, 1054 { "kind" : "IdResult" }, 1055 { "kind" : "IdRef", "name" : "'Signed Value'" } 1056 ], 1057 "capabilities" : [ "Kernel" ] 1058 }, 1059 { 1060 "opname" : "OpSatConvertUToS", 1061 "opcode" : 119, 1062 "operands" : [ 1063 { "kind" : "IdResultType" }, 1064 { "kind" : "IdResult" }, 1065 { "kind" : "IdRef", "name" : "'Unsigned Value'" } 1066 ], 1067 "capabilities" : [ "Kernel" ] 1068 }, 1069 { 1070 "opname" : "OpConvertUToPtr", 1071 "opcode" : 120, 1072 "operands" : [ 1073 { "kind" : "IdResultType" }, 1074 { "kind" : "IdResult" }, 1075 { "kind" : "IdRef", "name" : "'Integer Value'" } 1076 ], 1077 "capabilities" : [ "Addresses" ] 1078 }, 1079 { 1080 "opname" : "OpPtrCastToGeneric", 1081 "opcode" : 121, 1082 "operands" : [ 1083 { "kind" : "IdResultType" }, 1084 { "kind" : "IdResult" }, 1085 { "kind" : "IdRef", "name" : "'Pointer'" } 1086 ], 1087 "capabilities" : [ "Kernel" ] 1088 }, 1089 { 1090 "opname" : "OpGenericCastToPtr", 1091 "opcode" : 122, 1092 "operands" : [ 1093 { "kind" : "IdResultType" }, 1094 { "kind" : "IdResult" }, 1095 { "kind" : "IdRef", "name" : "'Pointer'" } 1096 ], 1097 "capabilities" : [ "Kernel" ] 1098 }, 1099 { 1100 "opname" : "OpGenericCastToPtrExplicit", 1101 "opcode" : 123, 1102 "operands" : [ 1103 { "kind" : "IdResultType" }, 1104 { "kind" : "IdResult" }, 1105 { "kind" : "IdRef", "name" : "'Pointer'" }, 1106 { "kind" : "StorageClass", "name" : "'Storage'" } 1107 ], 1108 "capabilities" : [ "Kernel" ] 1109 }, 1110 { 1111 "opname" : "OpBitcast", 1112 "opcode" : 124, 1113 "operands" : [ 1114 { "kind" : "IdResultType" }, 1115 { "kind" : "IdResult" }, 1116 { "kind" : "IdRef", "name" : "'Operand'" } 1117 ] 1118 }, 1119 { 1120 "opname" : "OpSNegate", 1121 "opcode" : 126, 1122 "operands" : [ 1123 { "kind" : "IdResultType" }, 1124 { "kind" : "IdResult" }, 1125 { "kind" : "IdRef", "name" : "'Operand'" } 1126 ] 1127 }, 1128 { 1129 "opname" : "OpFNegate", 1130 "opcode" : 127, 1131 "operands" : [ 1132 { "kind" : "IdResultType" }, 1133 { "kind" : "IdResult" }, 1134 { "kind" : "IdRef", "name" : "'Operand'" } 1135 ] 1136 }, 1137 { 1138 "opname" : "OpIAdd", 1139 "opcode" : 128, 1140 "operands" : [ 1141 { "kind" : "IdResultType" }, 1142 { "kind" : "IdResult" }, 1143 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1144 { "kind" : "IdRef", "name" : "'Operand 2'" } 1145 ] 1146 }, 1147 { 1148 "opname" : "OpFAdd", 1149 "opcode" : 129, 1150 "operands" : [ 1151 { "kind" : "IdResultType" }, 1152 { "kind" : "IdResult" }, 1153 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1154 { "kind" : "IdRef", "name" : "'Operand 2'" } 1155 ] 1156 }, 1157 { 1158 "opname" : "OpISub", 1159 "opcode" : 130, 1160 "operands" : [ 1161 { "kind" : "IdResultType" }, 1162 { "kind" : "IdResult" }, 1163 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1164 { "kind" : "IdRef", "name" : "'Operand 2'" } 1165 ] 1166 }, 1167 { 1168 "opname" : "OpFSub", 1169 "opcode" : 131, 1170 "operands" : [ 1171 { "kind" : "IdResultType" }, 1172 { "kind" : "IdResult" }, 1173 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1174 { "kind" : "IdRef", "name" : "'Operand 2'" } 1175 ] 1176 }, 1177 { 1178 "opname" : "OpIMul", 1179 "opcode" : 132, 1180 "operands" : [ 1181 { "kind" : "IdResultType" }, 1182 { "kind" : "IdResult" }, 1183 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1184 { "kind" : "IdRef", "name" : "'Operand 2'" } 1185 ] 1186 }, 1187 { 1188 "opname" : "OpFMul", 1189 "opcode" : 133, 1190 "operands" : [ 1191 { "kind" : "IdResultType" }, 1192 { "kind" : "IdResult" }, 1193 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1194 { "kind" : "IdRef", "name" : "'Operand 2'" } 1195 ] 1196 }, 1197 { 1198 "opname" : "OpUDiv", 1199 "opcode" : 134, 1200 "operands" : [ 1201 { "kind" : "IdResultType" }, 1202 { "kind" : "IdResult" }, 1203 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1204 { "kind" : "IdRef", "name" : "'Operand 2'" } 1205 ] 1206 }, 1207 { 1208 "opname" : "OpSDiv", 1209 "opcode" : 135, 1210 "operands" : [ 1211 { "kind" : "IdResultType" }, 1212 { "kind" : "IdResult" }, 1213 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1214 { "kind" : "IdRef", "name" : "'Operand 2'" } 1215 ] 1216 }, 1217 { 1218 "opname" : "OpFDiv", 1219 "opcode" : 136, 1220 "operands" : [ 1221 { "kind" : "IdResultType" }, 1222 { "kind" : "IdResult" }, 1223 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1224 { "kind" : "IdRef", "name" : "'Operand 2'" } 1225 ] 1226 }, 1227 { 1228 "opname" : "OpUMod", 1229 "opcode" : 137, 1230 "operands" : [ 1231 { "kind" : "IdResultType" }, 1232 { "kind" : "IdResult" }, 1233 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1234 { "kind" : "IdRef", "name" : "'Operand 2'" } 1235 ] 1236 }, 1237 { 1238 "opname" : "OpSRem", 1239 "opcode" : 138, 1240 "operands" : [ 1241 { "kind" : "IdResultType" }, 1242 { "kind" : "IdResult" }, 1243 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1244 { "kind" : "IdRef", "name" : "'Operand 2'" } 1245 ] 1246 }, 1247 { 1248 "opname" : "OpSMod", 1249 "opcode" : 139, 1250 "operands" : [ 1251 { "kind" : "IdResultType" }, 1252 { "kind" : "IdResult" }, 1253 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1254 { "kind" : "IdRef", "name" : "'Operand 2'" } 1255 ] 1256 }, 1257 { 1258 "opname" : "OpFRem", 1259 "opcode" : 140, 1260 "operands" : [ 1261 { "kind" : "IdResultType" }, 1262 { "kind" : "IdResult" }, 1263 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1264 { "kind" : "IdRef", "name" : "'Operand 2'" } 1265 ] 1266 }, 1267 { 1268 "opname" : "OpFMod", 1269 "opcode" : 141, 1270 "operands" : [ 1271 { "kind" : "IdResultType" }, 1272 { "kind" : "IdResult" }, 1273 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1274 { "kind" : "IdRef", "name" : "'Operand 2'" } 1275 ] 1276 }, 1277 { 1278 "opname" : "OpVectorTimesScalar", 1279 "opcode" : 142, 1280 "operands" : [ 1281 { "kind" : "IdResultType" }, 1282 { "kind" : "IdResult" }, 1283 { "kind" : "IdRef", "name" : "'Vector'" }, 1284 { "kind" : "IdRef", "name" : "'Scalar'" } 1285 ] 1286 }, 1287 { 1288 "opname" : "OpMatrixTimesScalar", 1289 "opcode" : 143, 1290 "operands" : [ 1291 { "kind" : "IdResultType" }, 1292 { "kind" : "IdResult" }, 1293 { "kind" : "IdRef", "name" : "'Matrix'" }, 1294 { "kind" : "IdRef", "name" : "'Scalar'" } 1295 ], 1296 "capabilities" : [ "Matrix" ] 1297 }, 1298 { 1299 "opname" : "OpVectorTimesMatrix", 1300 "opcode" : 144, 1301 "operands" : [ 1302 { "kind" : "IdResultType" }, 1303 { "kind" : "IdResult" }, 1304 { "kind" : "IdRef", "name" : "'Vector'" }, 1305 { "kind" : "IdRef", "name" : "'Matrix'" } 1306 ], 1307 "capabilities" : [ "Matrix" ] 1308 }, 1309 { 1310 "opname" : "OpMatrixTimesVector", 1311 "opcode" : 145, 1312 "operands" : [ 1313 { "kind" : "IdResultType" }, 1314 { "kind" : "IdResult" }, 1315 { "kind" : "IdRef", "name" : "'Matrix'" }, 1316 { "kind" : "IdRef", "name" : "'Vector'" } 1317 ], 1318 "capabilities" : [ "Matrix" ] 1319 }, 1320 { 1321 "opname" : "OpMatrixTimesMatrix", 1322 "opcode" : 146, 1323 "operands" : [ 1324 { "kind" : "IdResultType" }, 1325 { "kind" : "IdResult" }, 1326 { "kind" : "IdRef", "name" : "'LeftMatrix'" }, 1327 { "kind" : "IdRef", "name" : "'RightMatrix'" } 1328 ], 1329 "capabilities" : [ "Matrix" ] 1330 }, 1331 { 1332 "opname" : "OpOuterProduct", 1333 "opcode" : 147, 1334 "operands" : [ 1335 { "kind" : "IdResultType" }, 1336 { "kind" : "IdResult" }, 1337 { "kind" : "IdRef", "name" : "'Vector 1'" }, 1338 { "kind" : "IdRef", "name" : "'Vector 2'" } 1339 ], 1340 "capabilities" : [ "Matrix" ] 1341 }, 1342 { 1343 "opname" : "OpDot", 1344 "opcode" : 148, 1345 "operands" : [ 1346 { "kind" : "IdResultType" }, 1347 { "kind" : "IdResult" }, 1348 { "kind" : "IdRef", "name" : "'Vector 1'" }, 1349 { "kind" : "IdRef", "name" : "'Vector 2'" } 1350 ] 1351 }, 1352 { 1353 "opname" : "OpIAddCarry", 1354 "opcode" : 149, 1355 "operands" : [ 1356 { "kind" : "IdResultType" }, 1357 { "kind" : "IdResult" }, 1358 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1359 { "kind" : "IdRef", "name" : "'Operand 2'" } 1360 ] 1361 }, 1362 { 1363 "opname" : "OpISubBorrow", 1364 "opcode" : 150, 1365 "operands" : [ 1366 { "kind" : "IdResultType" }, 1367 { "kind" : "IdResult" }, 1368 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1369 { "kind" : "IdRef", "name" : "'Operand 2'" } 1370 ] 1371 }, 1372 { 1373 "opname" : "OpUMulExtended", 1374 "opcode" : 151, 1375 "operands" : [ 1376 { "kind" : "IdResultType" }, 1377 { "kind" : "IdResult" }, 1378 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1379 { "kind" : "IdRef", "name" : "'Operand 2'" } 1380 ] 1381 }, 1382 { 1383 "opname" : "OpSMulExtended", 1384 "opcode" : 152, 1385 "operands" : [ 1386 { "kind" : "IdResultType" }, 1387 { "kind" : "IdResult" }, 1388 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1389 { "kind" : "IdRef", "name" : "'Operand 2'" } 1390 ] 1391 }, 1392 { 1393 "opname" : "OpAny", 1394 "opcode" : 154, 1395 "operands" : [ 1396 { "kind" : "IdResultType" }, 1397 { "kind" : "IdResult" }, 1398 { "kind" : "IdRef", "name" : "'Vector'" } 1399 ] 1400 }, 1401 { 1402 "opname" : "OpAll", 1403 "opcode" : 155, 1404 "operands" : [ 1405 { "kind" : "IdResultType" }, 1406 { "kind" : "IdResult" }, 1407 { "kind" : "IdRef", "name" : "'Vector'" } 1408 ] 1409 }, 1410 { 1411 "opname" : "OpIsNan", 1412 "opcode" : 156, 1413 "operands" : [ 1414 { "kind" : "IdResultType" }, 1415 { "kind" : "IdResult" }, 1416 { "kind" : "IdRef", "name" : "'x'" } 1417 ] 1418 }, 1419 { 1420 "opname" : "OpIsInf", 1421 "opcode" : 157, 1422 "operands" : [ 1423 { "kind" : "IdResultType" }, 1424 { "kind" : "IdResult" }, 1425 { "kind" : "IdRef", "name" : "'x'" } 1426 ] 1427 }, 1428 { 1429 "opname" : "OpIsFinite", 1430 "opcode" : 158, 1431 "operands" : [ 1432 { "kind" : "IdResultType" }, 1433 { "kind" : "IdResult" }, 1434 { "kind" : "IdRef", "name" : "'x'" } 1435 ], 1436 "capabilities" : [ "Kernel" ] 1437 }, 1438 { 1439 "opname" : "OpIsNormal", 1440 "opcode" : 159, 1441 "operands" : [ 1442 { "kind" : "IdResultType" }, 1443 { "kind" : "IdResult" }, 1444 { "kind" : "IdRef", "name" : "'x'" } 1445 ], 1446 "capabilities" : [ "Kernel" ] 1447 }, 1448 { 1449 "opname" : "OpSignBitSet", 1450 "opcode" : 160, 1451 "operands" : [ 1452 { "kind" : "IdResultType" }, 1453 { "kind" : "IdResult" }, 1454 { "kind" : "IdRef", "name" : "'x'" } 1455 ], 1456 "capabilities" : [ "Kernel" ] 1457 }, 1458 { 1459 "opname" : "OpLessOrGreater", 1460 "opcode" : 161, 1461 "operands" : [ 1462 { "kind" : "IdResultType" }, 1463 { "kind" : "IdResult" }, 1464 { "kind" : "IdRef", "name" : "'x'" }, 1465 { "kind" : "IdRef", "name" : "'y'" } 1466 ], 1467 "capabilities" : [ "Kernel" ] 1468 }, 1469 { 1470 "opname" : "OpOrdered", 1471 "opcode" : 162, 1472 "operands" : [ 1473 { "kind" : "IdResultType" }, 1474 { "kind" : "IdResult" }, 1475 { "kind" : "IdRef", "name" : "'x'" }, 1476 { "kind" : "IdRef", "name" : "'y'" } 1477 ], 1478 "capabilities" : [ "Kernel" ] 1479 }, 1480 { 1481 "opname" : "OpUnordered", 1482 "opcode" : 163, 1483 "operands" : [ 1484 { "kind" : "IdResultType" }, 1485 { "kind" : "IdResult" }, 1486 { "kind" : "IdRef", "name" : "'x'" }, 1487 { "kind" : "IdRef", "name" : "'y'" } 1488 ], 1489 "capabilities" : [ "Kernel" ] 1490 }, 1491 { 1492 "opname" : "OpLogicalEqual", 1493 "opcode" : 164, 1494 "operands" : [ 1495 { "kind" : "IdResultType" }, 1496 { "kind" : "IdResult" }, 1497 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1498 { "kind" : "IdRef", "name" : "'Operand 2'" } 1499 ] 1500 }, 1501 { 1502 "opname" : "OpLogicalNotEqual", 1503 "opcode" : 165, 1504 "operands" : [ 1505 { "kind" : "IdResultType" }, 1506 { "kind" : "IdResult" }, 1507 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1508 { "kind" : "IdRef", "name" : "'Operand 2'" } 1509 ] 1510 }, 1511 { 1512 "opname" : "OpLogicalOr", 1513 "opcode" : 166, 1514 "operands" : [ 1515 { "kind" : "IdResultType" }, 1516 { "kind" : "IdResult" }, 1517 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1518 { "kind" : "IdRef", "name" : "'Operand 2'" } 1519 ] 1520 }, 1521 { 1522 "opname" : "OpLogicalAnd", 1523 "opcode" : 167, 1524 "operands" : [ 1525 { "kind" : "IdResultType" }, 1526 { "kind" : "IdResult" }, 1527 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1528 { "kind" : "IdRef", "name" : "'Operand 2'" } 1529 ] 1530 }, 1531 { 1532 "opname" : "OpLogicalNot", 1533 "opcode" : 168, 1534 "operands" : [ 1535 { "kind" : "IdResultType" }, 1536 { "kind" : "IdResult" }, 1537 { "kind" : "IdRef", "name" : "'Operand'" } 1538 ] 1539 }, 1540 { 1541 "opname" : "OpSelect", 1542 "opcode" : 169, 1543 "operands" : [ 1544 { "kind" : "IdResultType" }, 1545 { "kind" : "IdResult" }, 1546 { "kind" : "IdRef", "name" : "'Condition'" }, 1547 { "kind" : "IdRef", "name" : "'Object 1'" }, 1548 { "kind" : "IdRef", "name" : "'Object 2'" } 1549 ] 1550 }, 1551 { 1552 "opname" : "OpIEqual", 1553 "opcode" : 170, 1554 "operands" : [ 1555 { "kind" : "IdResultType" }, 1556 { "kind" : "IdResult" }, 1557 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1558 { "kind" : "IdRef", "name" : "'Operand 2'" } 1559 ] 1560 }, 1561 { 1562 "opname" : "OpINotEqual", 1563 "opcode" : 171, 1564 "operands" : [ 1565 { "kind" : "IdResultType" }, 1566 { "kind" : "IdResult" }, 1567 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1568 { "kind" : "IdRef", "name" : "'Operand 2'" } 1569 ] 1570 }, 1571 { 1572 "opname" : "OpUGreaterThan", 1573 "opcode" : 172, 1574 "operands" : [ 1575 { "kind" : "IdResultType" }, 1576 { "kind" : "IdResult" }, 1577 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1578 { "kind" : "IdRef", "name" : "'Operand 2'" } 1579 ] 1580 }, 1581 { 1582 "opname" : "OpSGreaterThan", 1583 "opcode" : 173, 1584 "operands" : [ 1585 { "kind" : "IdResultType" }, 1586 { "kind" : "IdResult" }, 1587 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1588 { "kind" : "IdRef", "name" : "'Operand 2'" } 1589 ] 1590 }, 1591 { 1592 "opname" : "OpUGreaterThanEqual", 1593 "opcode" : 174, 1594 "operands" : [ 1595 { "kind" : "IdResultType" }, 1596 { "kind" : "IdResult" }, 1597 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1598 { "kind" : "IdRef", "name" : "'Operand 2'" } 1599 ] 1600 }, 1601 { 1602 "opname" : "OpSGreaterThanEqual", 1603 "opcode" : 175, 1604 "operands" : [ 1605 { "kind" : "IdResultType" }, 1606 { "kind" : "IdResult" }, 1607 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1608 { "kind" : "IdRef", "name" : "'Operand 2'" } 1609 ] 1610 }, 1611 { 1612 "opname" : "OpULessThan", 1613 "opcode" : 176, 1614 "operands" : [ 1615 { "kind" : "IdResultType" }, 1616 { "kind" : "IdResult" }, 1617 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1618 { "kind" : "IdRef", "name" : "'Operand 2'" } 1619 ] 1620 }, 1621 { 1622 "opname" : "OpSLessThan", 1623 "opcode" : 177, 1624 "operands" : [ 1625 { "kind" : "IdResultType" }, 1626 { "kind" : "IdResult" }, 1627 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1628 { "kind" : "IdRef", "name" : "'Operand 2'" } 1629 ] 1630 }, 1631 { 1632 "opname" : "OpULessThanEqual", 1633 "opcode" : 178, 1634 "operands" : [ 1635 { "kind" : "IdResultType" }, 1636 { "kind" : "IdResult" }, 1637 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1638 { "kind" : "IdRef", "name" : "'Operand 2'" } 1639 ] 1640 }, 1641 { 1642 "opname" : "OpSLessThanEqual", 1643 "opcode" : 179, 1644 "operands" : [ 1645 { "kind" : "IdResultType" }, 1646 { "kind" : "IdResult" }, 1647 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1648 { "kind" : "IdRef", "name" : "'Operand 2'" } 1649 ] 1650 }, 1651 { 1652 "opname" : "OpFOrdEqual", 1653 "opcode" : 180, 1654 "operands" : [ 1655 { "kind" : "IdResultType" }, 1656 { "kind" : "IdResult" }, 1657 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1658 { "kind" : "IdRef", "name" : "'Operand 2'" } 1659 ] 1660 }, 1661 { 1662 "opname" : "OpFUnordEqual", 1663 "opcode" : 181, 1664 "operands" : [ 1665 { "kind" : "IdResultType" }, 1666 { "kind" : "IdResult" }, 1667 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1668 { "kind" : "IdRef", "name" : "'Operand 2'" } 1669 ] 1670 }, 1671 { 1672 "opname" : "OpFOrdNotEqual", 1673 "opcode" : 182, 1674 "operands" : [ 1675 { "kind" : "IdResultType" }, 1676 { "kind" : "IdResult" }, 1677 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1678 { "kind" : "IdRef", "name" : "'Operand 2'" } 1679 ] 1680 }, 1681 { 1682 "opname" : "OpFUnordNotEqual", 1683 "opcode" : 183, 1684 "operands" : [ 1685 { "kind" : "IdResultType" }, 1686 { "kind" : "IdResult" }, 1687 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1688 { "kind" : "IdRef", "name" : "'Operand 2'" } 1689 ] 1690 }, 1691 { 1692 "opname" : "OpFOrdLessThan", 1693 "opcode" : 184, 1694 "operands" : [ 1695 { "kind" : "IdResultType" }, 1696 { "kind" : "IdResult" }, 1697 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1698 { "kind" : "IdRef", "name" : "'Operand 2'" } 1699 ] 1700 }, 1701 { 1702 "opname" : "OpFUnordLessThan", 1703 "opcode" : 185, 1704 "operands" : [ 1705 { "kind" : "IdResultType" }, 1706 { "kind" : "IdResult" }, 1707 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1708 { "kind" : "IdRef", "name" : "'Operand 2'" } 1709 ] 1710 }, 1711 { 1712 "opname" : "OpFOrdGreaterThan", 1713 "opcode" : 186, 1714 "operands" : [ 1715 { "kind" : "IdResultType" }, 1716 { "kind" : "IdResult" }, 1717 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1718 { "kind" : "IdRef", "name" : "'Operand 2'" } 1719 ] 1720 }, 1721 { 1722 "opname" : "OpFUnordGreaterThan", 1723 "opcode" : 187, 1724 "operands" : [ 1725 { "kind" : "IdResultType" }, 1726 { "kind" : "IdResult" }, 1727 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1728 { "kind" : "IdRef", "name" : "'Operand 2'" } 1729 ] 1730 }, 1731 { 1732 "opname" : "OpFOrdLessThanEqual", 1733 "opcode" : 188, 1734 "operands" : [ 1735 { "kind" : "IdResultType" }, 1736 { "kind" : "IdResult" }, 1737 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1738 { "kind" : "IdRef", "name" : "'Operand 2'" } 1739 ] 1740 }, 1741 { 1742 "opname" : "OpFUnordLessThanEqual", 1743 "opcode" : 189, 1744 "operands" : [ 1745 { "kind" : "IdResultType" }, 1746 { "kind" : "IdResult" }, 1747 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1748 { "kind" : "IdRef", "name" : "'Operand 2'" } 1749 ] 1750 }, 1751 { 1752 "opname" : "OpFOrdGreaterThanEqual", 1753 "opcode" : 190, 1754 "operands" : [ 1755 { "kind" : "IdResultType" }, 1756 { "kind" : "IdResult" }, 1757 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1758 { "kind" : "IdRef", "name" : "'Operand 2'" } 1759 ] 1760 }, 1761 { 1762 "opname" : "OpFUnordGreaterThanEqual", 1763 "opcode" : 191, 1764 "operands" : [ 1765 { "kind" : "IdResultType" }, 1766 { "kind" : "IdResult" }, 1767 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1768 { "kind" : "IdRef", "name" : "'Operand 2'" } 1769 ] 1770 }, 1771 { 1772 "opname" : "OpShiftRightLogical", 1773 "opcode" : 194, 1774 "operands" : [ 1775 { "kind" : "IdResultType" }, 1776 { "kind" : "IdResult" }, 1777 { "kind" : "IdRef", "name" : "'Base'" }, 1778 { "kind" : "IdRef", "name" : "'Shift'" } 1779 ] 1780 }, 1781 { 1782 "opname" : "OpShiftRightArithmetic", 1783 "opcode" : 195, 1784 "operands" : [ 1785 { "kind" : "IdResultType" }, 1786 { "kind" : "IdResult" }, 1787 { "kind" : "IdRef", "name" : "'Base'" }, 1788 { "kind" : "IdRef", "name" : "'Shift'" } 1789 ] 1790 }, 1791 { 1792 "opname" : "OpShiftLeftLogical", 1793 "opcode" : 196, 1794 "operands" : [ 1795 { "kind" : "IdResultType" }, 1796 { "kind" : "IdResult" }, 1797 { "kind" : "IdRef", "name" : "'Base'" }, 1798 { "kind" : "IdRef", "name" : "'Shift'" } 1799 ] 1800 }, 1801 { 1802 "opname" : "OpBitwiseOr", 1803 "opcode" : 197, 1804 "operands" : [ 1805 { "kind" : "IdResultType" }, 1806 { "kind" : "IdResult" }, 1807 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1808 { "kind" : "IdRef", "name" : "'Operand 2'" } 1809 ] 1810 }, 1811 { 1812 "opname" : "OpBitwiseXor", 1813 "opcode" : 198, 1814 "operands" : [ 1815 { "kind" : "IdResultType" }, 1816 { "kind" : "IdResult" }, 1817 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1818 { "kind" : "IdRef", "name" : "'Operand 2'" } 1819 ] 1820 }, 1821 { 1822 "opname" : "OpBitwiseAnd", 1823 "opcode" : 199, 1824 "operands" : [ 1825 { "kind" : "IdResultType" }, 1826 { "kind" : "IdResult" }, 1827 { "kind" : "IdRef", "name" : "'Operand 1'" }, 1828 { "kind" : "IdRef", "name" : "'Operand 2'" } 1829 ] 1830 }, 1831 { 1832 "opname" : "OpNot", 1833 "opcode" : 200, 1834 "operands" : [ 1835 { "kind" : "IdResultType" }, 1836 { "kind" : "IdResult" }, 1837 { "kind" : "IdRef", "name" : "'Operand'" } 1838 ] 1839 }, 1840 { 1841 "opname" : "OpBitFieldInsert", 1842 "opcode" : 201, 1843 "operands" : [ 1844 { "kind" : "IdResultType" }, 1845 { "kind" : "IdResult" }, 1846 { "kind" : "IdRef", "name" : "'Base'" }, 1847 { "kind" : "IdRef", "name" : "'Insert'" }, 1848 { "kind" : "IdRef", "name" : "'Offset'" }, 1849 { "kind" : "IdRef", "name" : "'Count'" } 1850 ], 1851 "capabilities" : [ "Shader" ] 1852 }, 1853 { 1854 "opname" : "OpBitFieldSExtract", 1855 "opcode" : 202, 1856 "operands" : [ 1857 { "kind" : "IdResultType" }, 1858 { "kind" : "IdResult" }, 1859 { "kind" : "IdRef", "name" : "'Base'" }, 1860 { "kind" : "IdRef", "name" : "'Offset'" }, 1861 { "kind" : "IdRef", "name" : "'Count'" } 1862 ], 1863 "capabilities" : [ "Shader" ] 1864 }, 1865 { 1866 "opname" : "OpBitFieldUExtract", 1867 "opcode" : 203, 1868 "operands" : [ 1869 { "kind" : "IdResultType" }, 1870 { "kind" : "IdResult" }, 1871 { "kind" : "IdRef", "name" : "'Base'" }, 1872 { "kind" : "IdRef", "name" : "'Offset'" }, 1873 { "kind" : "IdRef", "name" : "'Count'" } 1874 ], 1875 "capabilities" : [ "Shader" ] 1876 }, 1877 { 1878 "opname" : "OpBitReverse", 1879 "opcode" : 204, 1880 "operands" : [ 1881 { "kind" : "IdResultType" }, 1882 { "kind" : "IdResult" }, 1883 { "kind" : "IdRef", "name" : "'Base'" } 1884 ], 1885 "capabilities" : [ "Shader" ] 1886 }, 1887 { 1888 "opname" : "OpBitCount", 1889 "opcode" : 205, 1890 "operands" : [ 1891 { "kind" : "IdResultType" }, 1892 { "kind" : "IdResult" }, 1893 { "kind" : "IdRef", "name" : "'Base'" } 1894 ] 1895 }, 1896 { 1897 "opname" : "OpDPdx", 1898 "opcode" : 207, 1899 "operands" : [ 1900 { "kind" : "IdResultType" }, 1901 { "kind" : "IdResult" }, 1902 { "kind" : "IdRef", "name" : "'P'" } 1903 ], 1904 "capabilities" : [ "Shader" ] 1905 }, 1906 { 1907 "opname" : "OpDPdy", 1908 "opcode" : 208, 1909 "operands" : [ 1910 { "kind" : "IdResultType" }, 1911 { "kind" : "IdResult" }, 1912 { "kind" : "IdRef", "name" : "'P'" } 1913 ], 1914 "capabilities" : [ "Shader" ] 1915 }, 1916 { 1917 "opname" : "OpFwidth", 1918 "opcode" : 209, 1919 "operands" : [ 1920 { "kind" : "IdResultType" }, 1921 { "kind" : "IdResult" }, 1922 { "kind" : "IdRef", "name" : "'P'" } 1923 ], 1924 "capabilities" : [ "Shader" ] 1925 }, 1926 { 1927 "opname" : "OpDPdxFine", 1928 "opcode" : 210, 1929 "operands" : [ 1930 { "kind" : "IdResultType" }, 1931 { "kind" : "IdResult" }, 1932 { "kind" : "IdRef", "name" : "'P'" } 1933 ], 1934 "capabilities" : [ "DerivativeControl" ] 1935 }, 1936 { 1937 "opname" : "OpDPdyFine", 1938 "opcode" : 211, 1939 "operands" : [ 1940 { "kind" : "IdResultType" }, 1941 { "kind" : "IdResult" }, 1942 { "kind" : "IdRef", "name" : "'P'" } 1943 ], 1944 "capabilities" : [ "DerivativeControl" ] 1945 }, 1946 { 1947 "opname" : "OpFwidthFine", 1948 "opcode" : 212, 1949 "operands" : [ 1950 { "kind" : "IdResultType" }, 1951 { "kind" : "IdResult" }, 1952 { "kind" : "IdRef", "name" : "'P'" } 1953 ], 1954 "capabilities" : [ "DerivativeControl" ] 1955 }, 1956 { 1957 "opname" : "OpDPdxCoarse", 1958 "opcode" : 213, 1959 "operands" : [ 1960 { "kind" : "IdResultType" }, 1961 { "kind" : "IdResult" }, 1962 { "kind" : "IdRef", "name" : "'P'" } 1963 ], 1964 "capabilities" : [ "DerivativeControl" ] 1965 }, 1966 { 1967 "opname" : "OpDPdyCoarse", 1968 "opcode" : 214, 1969 "operands" : [ 1970 { "kind" : "IdResultType" }, 1971 { "kind" : "IdResult" }, 1972 { "kind" : "IdRef", "name" : "'P'" } 1973 ], 1974 "capabilities" : [ "DerivativeControl" ] 1975 }, 1976 { 1977 "opname" : "OpFwidthCoarse", 1978 "opcode" : 215, 1979 "operands" : [ 1980 { "kind" : "IdResultType" }, 1981 { "kind" : "IdResult" }, 1982 { "kind" : "IdRef", "name" : "'P'" } 1983 ], 1984 "capabilities" : [ "DerivativeControl" ] 1985 }, 1986 { 1987 "opname" : "OpEmitVertex", 1988 "opcode" : 218, 1989 "capabilities" : [ "Geometry" ] 1990 }, 1991 { 1992 "opname" : "OpEndPrimitive", 1993 "opcode" : 219, 1994 "capabilities" : [ "Geometry" ] 1995 }, 1996 { 1997 "opname" : "OpEmitStreamVertex", 1998 "opcode" : 220, 1999 "operands" : [ 2000 { "kind" : "IdRef", "name" : "'Stream'" } 2001 ], 2002 "capabilities" : [ "GeometryStreams" ] 2003 }, 2004 { 2005 "opname" : "OpEndStreamPrimitive", 2006 "opcode" : 221, 2007 "operands" : [ 2008 { "kind" : "IdRef", "name" : "'Stream'" } 2009 ], 2010 "capabilities" : [ "GeometryStreams" ] 2011 }, 2012 { 2013 "opname" : "OpControlBarrier", 2014 "opcode" : 224, 2015 "operands" : [ 2016 { "kind" : "IdScope", "name" : "'Execution'" }, 2017 { "kind" : "IdScope", "name" : "'Memory'" }, 2018 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" } 2019 ] 2020 }, 2021 { 2022 "opname" : "OpMemoryBarrier", 2023 "opcode" : 225, 2024 "operands" : [ 2025 { "kind" : "IdScope", "name" : "'Memory'" }, 2026 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" } 2027 ] 2028 }, 2029 { 2030 "opname" : "OpAtomicLoad", 2031 "opcode" : 227, 2032 "operands" : [ 2033 { "kind" : "IdResultType" }, 2034 { "kind" : "IdResult" }, 2035 { "kind" : "IdRef", "name" : "'Pointer'" }, 2036 { "kind" : "IdScope", "name" : "'Scope'" }, 2037 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" } 2038 ] 2039 }, 2040 { 2041 "opname" : "OpAtomicStore", 2042 "opcode" : 228, 2043 "operands" : [ 2044 { "kind" : "IdRef", "name" : "'Pointer'" }, 2045 { "kind" : "IdScope", "name" : "'Scope'" }, 2046 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }, 2047 { "kind" : "IdRef", "name" : "'Value'" } 2048 ] 2049 }, 2050 { 2051 "opname" : "OpAtomicExchange", 2052 "opcode" : 229, 2053 "operands" : [ 2054 { "kind" : "IdResultType" }, 2055 { "kind" : "IdResult" }, 2056 { "kind" : "IdRef", "name" : "'Pointer'" }, 2057 { "kind" : "IdScope", "name" : "'Scope'" }, 2058 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }, 2059 { "kind" : "IdRef", "name" : "'Value'" } 2060 ] 2061 }, 2062 { 2063 "opname" : "OpAtomicCompareExchange", 2064 "opcode" : 230, 2065 "operands" : [ 2066 { "kind" : "IdResultType" }, 2067 { "kind" : "IdResult" }, 2068 { "kind" : "IdRef", "name" : "'Pointer'" }, 2069 { "kind" : "IdScope", "name" : "'Scope'" }, 2070 { "kind" : "IdMemorySemantics", "name" : "'Equal'" }, 2071 { "kind" : "IdMemorySemantics", "name" : "'Unequal'" }, 2072 { "kind" : "IdRef", "name" : "'Value'" }, 2073 { "kind" : "IdRef", "name" : "'Comparator'" } 2074 ] 2075 }, 2076 { 2077 "opname" : "OpAtomicCompareExchangeWeak", 2078 "opcode" : 231, 2079 "operands" : [ 2080 { "kind" : "IdResultType" }, 2081 { "kind" : "IdResult" }, 2082 { "kind" : "IdRef", "name" : "'Pointer'" }, 2083 { "kind" : "IdScope", "name" : "'Scope'" }, 2084 { "kind" : "IdMemorySemantics", "name" : "'Equal'" }, 2085 { "kind" : "IdMemorySemantics", "name" : "'Unequal'" }, 2086 { "kind" : "IdRef", "name" : "'Value'" }, 2087 { "kind" : "IdRef", "name" : "'Comparator'" } 2088 ], 2089 "capabilities" : [ "Kernel" ] 2090 }, 2091 { 2092 "opname" : "OpAtomicIIncrement", 2093 "opcode" : 232, 2094 "operands" : [ 2095 { "kind" : "IdResultType" }, 2096 { "kind" : "IdResult" }, 2097 { "kind" : "IdRef", "name" : "'Pointer'" }, 2098 { "kind" : "IdScope", "name" : "'Scope'" }, 2099 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" } 2100 ] 2101 }, 2102 { 2103 "opname" : "OpAtomicIDecrement", 2104 "opcode" : 233, 2105 "operands" : [ 2106 { "kind" : "IdResultType" }, 2107 { "kind" : "IdResult" }, 2108 { "kind" : "IdRef", "name" : "'Pointer'" }, 2109 { "kind" : "IdScope", "name" : "'Scope'" }, 2110 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" } 2111 ] 2112 }, 2113 { 2114 "opname" : "OpAtomicIAdd", 2115 "opcode" : 234, 2116 "operands" : [ 2117 { "kind" : "IdResultType" }, 2118 { "kind" : "IdResult" }, 2119 { "kind" : "IdRef", "name" : "'Pointer'" }, 2120 { "kind" : "IdScope", "name" : "'Scope'" }, 2121 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }, 2122 { "kind" : "IdRef", "name" : "'Value'" } 2123 ] 2124 }, 2125 { 2126 "opname" : "OpAtomicISub", 2127 "opcode" : 235, 2128 "operands" : [ 2129 { "kind" : "IdResultType" }, 2130 { "kind" : "IdResult" }, 2131 { "kind" : "IdRef", "name" : "'Pointer'" }, 2132 { "kind" : "IdScope", "name" : "'Scope'" }, 2133 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }, 2134 { "kind" : "IdRef", "name" : "'Value'" } 2135 ] 2136 }, 2137 { 2138 "opname" : "OpAtomicSMin", 2139 "opcode" : 236, 2140 "operands" : [ 2141 { "kind" : "IdResultType" }, 2142 { "kind" : "IdResult" }, 2143 { "kind" : "IdRef", "name" : "'Pointer'" }, 2144 { "kind" : "IdScope", "name" : "'Scope'" }, 2145 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }, 2146 { "kind" : "IdRef", "name" : "'Value'" } 2147 ] 2148 }, 2149 { 2150 "opname" : "OpAtomicUMin", 2151 "opcode" : 237, 2152 "operands" : [ 2153 { "kind" : "IdResultType" }, 2154 { "kind" : "IdResult" }, 2155 { "kind" : "IdRef", "name" : "'Pointer'" }, 2156 { "kind" : "IdScope", "name" : "'Scope'" }, 2157 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }, 2158 { "kind" : "IdRef", "name" : "'Value'" } 2159 ] 2160 }, 2161 { 2162 "opname" : "OpAtomicSMax", 2163 "opcode" : 238, 2164 "operands" : [ 2165 { "kind" : "IdResultType" }, 2166 { "kind" : "IdResult" }, 2167 { "kind" : "IdRef", "name" : "'Pointer'" }, 2168 { "kind" : "IdScope", "name" : "'Scope'" }, 2169 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }, 2170 { "kind" : "IdRef", "name" : "'Value'" } 2171 ] 2172 }, 2173 { 2174 "opname" : "OpAtomicUMax", 2175 "opcode" : 239, 2176 "operands" : [ 2177 { "kind" : "IdResultType" }, 2178 { "kind" : "IdResult" }, 2179 { "kind" : "IdRef", "name" : "'Pointer'" }, 2180 { "kind" : "IdScope", "name" : "'Scope'" }, 2181 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }, 2182 { "kind" : "IdRef", "name" : "'Value'" } 2183 ] 2184 }, 2185 { 2186 "opname" : "OpAtomicAnd", 2187 "opcode" : 240, 2188 "operands" : [ 2189 { "kind" : "IdResultType" }, 2190 { "kind" : "IdResult" }, 2191 { "kind" : "IdRef", "name" : "'Pointer'" }, 2192 { "kind" : "IdScope", "name" : "'Scope'" }, 2193 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }, 2194 { "kind" : "IdRef", "name" : "'Value'" } 2195 ] 2196 }, 2197 { 2198 "opname" : "OpAtomicOr", 2199 "opcode" : 241, 2200 "operands" : [ 2201 { "kind" : "IdResultType" }, 2202 { "kind" : "IdResult" }, 2203 { "kind" : "IdRef", "name" : "'Pointer'" }, 2204 { "kind" : "IdScope", "name" : "'Scope'" }, 2205 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }, 2206 { "kind" : "IdRef", "name" : "'Value'" } 2207 ] 2208 }, 2209 { 2210 "opname" : "OpAtomicXor", 2211 "opcode" : 242, 2212 "operands" : [ 2213 { "kind" : "IdResultType" }, 2214 { "kind" : "IdResult" }, 2215 { "kind" : "IdRef", "name" : "'Pointer'" }, 2216 { "kind" : "IdScope", "name" : "'Scope'" }, 2217 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }, 2218 { "kind" : "IdRef", "name" : "'Value'" } 2219 ] 2220 }, 2221 { 2222 "opname" : "OpPhi", 2223 "opcode" : 245, 2224 "operands" : [ 2225 { "kind" : "IdResultType" }, 2226 { "kind" : "IdResult" }, 2227 { "kind" : "PairIdRefIdRef", "quantifier" : "*", "name" : "'Variable, Parent, ...'" } 2228 ] 2229 }, 2230 { 2231 "opname" : "OpLoopMerge", 2232 "opcode" : 246, 2233 "operands" : [ 2234 { "kind" : "IdRef", "name" : "'Merge Block'" }, 2235 { "kind" : "IdRef", "name" : "'Continue Target'" }, 2236 { "kind" : "LoopControl" } 2237 ] 2238 }, 2239 { 2240 "opname" : "OpSelectionMerge", 2241 "opcode" : 247, 2242 "operands" : [ 2243 { "kind" : "IdRef", "name" : "'Merge Block'" }, 2244 { "kind" : "SelectionControl" } 2245 ] 2246 }, 2247 { 2248 "opname" : "OpLabel", 2249 "opcode" : 248, 2250 "operands" : [ 2251 { "kind" : "IdResult" } 2252 ] 2253 }, 2254 { 2255 "opname" : "OpBranch", 2256 "opcode" : 249, 2257 "operands" : [ 2258 { "kind" : "IdRef", "name" : "'Target Label'" } 2259 ] 2260 }, 2261 { 2262 "opname" : "OpBranchConditional", 2263 "opcode" : 250, 2264 "operands" : [ 2265 { "kind" : "IdRef", "name" : "'Condition'" }, 2266 { "kind" : "IdRef", "name" : "'True Label'" }, 2267 { "kind" : "IdRef", "name" : "'False Label'" }, 2268 { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Branch weights'" } 2269 ] 2270 }, 2271 { 2272 "opname" : "OpSwitch", 2273 "opcode" : 251, 2274 "operands" : [ 2275 { "kind" : "IdRef", "name" : "'Selector'" }, 2276 { "kind" : "IdRef", "name" : "'Default'" }, 2277 { "kind" : "PairLiteralIntegerIdRef", "quantifier" : "*", "name" : "'Target'" } 2278 ] 2279 }, 2280 { 2281 "opname" : "OpKill", 2282 "opcode" : 252, 2283 "capabilities" : [ "Shader" ] 2284 }, 2285 { 2286 "opname" : "OpReturn", 2287 "opcode" : 253 2288 }, 2289 { 2290 "opname" : "OpReturnValue", 2291 "opcode" : 254, 2292 "operands" : [ 2293 { "kind" : "IdRef", "name" : "'Value'" } 2294 ] 2295 }, 2296 { 2297 "opname" : "OpUnreachable", 2298 "opcode" : 255 2299 }, 2300 { 2301 "opname" : "OpLifetimeStart", 2302 "opcode" : 256, 2303 "operands" : [ 2304 { "kind" : "IdRef", "name" : "'Pointer'" }, 2305 { "kind" : "LiteralInteger", "name" : "'Size'" } 2306 ], 2307 "capabilities" : [ "Kernel" ] 2308 }, 2309 { 2310 "opname" : "OpLifetimeStop", 2311 "opcode" : 257, 2312 "operands" : [ 2313 { "kind" : "IdRef", "name" : "'Pointer'" }, 2314 { "kind" : "LiteralInteger", "name" : "'Size'" } 2315 ], 2316 "capabilities" : [ "Kernel" ] 2317 }, 2318 { 2319 "opname" : "OpGroupAsyncCopy", 2320 "opcode" : 259, 2321 "operands" : [ 2322 { "kind" : "IdResultType" }, 2323 { "kind" : "IdResult" }, 2324 { "kind" : "IdScope", "name" : "'Execution'" }, 2325 { "kind" : "IdRef", "name" : "'Destination'" }, 2326 { "kind" : "IdRef", "name" : "'Source'" }, 2327 { "kind" : "IdRef", "name" : "'Num Elements'" }, 2328 { "kind" : "IdRef", "name" : "'Stride'" }, 2329 { "kind" : "IdRef", "name" : "'Event'" } 2330 ], 2331 "capabilities" : [ "Kernel" ] 2332 }, 2333 { 2334 "opname" : "OpGroupWaitEvents", 2335 "opcode" : 260, 2336 "operands" : [ 2337 { "kind" : "IdScope", "name" : "'Execution'" }, 2338 { "kind" : "IdRef", "name" : "'Num Events'" }, 2339 { "kind" : "IdRef", "name" : "'Events List'" } 2340 ], 2341 "capabilities" : [ "Kernel" ] 2342 }, 2343 { 2344 "opname" : "OpGroupAll", 2345 "opcode" : 261, 2346 "operands" : [ 2347 { "kind" : "IdResultType" }, 2348 { "kind" : "IdResult" }, 2349 { "kind" : "IdScope", "name" : "'Execution'" }, 2350 { "kind" : "IdRef", "name" : "'Predicate'" } 2351 ], 2352 "capabilities" : [ "Groups" ] 2353 }, 2354 { 2355 "opname" : "OpGroupAny", 2356 "opcode" : 262, 2357 "operands" : [ 2358 { "kind" : "IdResultType" }, 2359 { "kind" : "IdResult" }, 2360 { "kind" : "IdScope", "name" : "'Execution'" }, 2361 { "kind" : "IdRef", "name" : "'Predicate'" } 2362 ], 2363 "capabilities" : [ "Groups" ] 2364 }, 2365 { 2366 "opname" : "OpGroupBroadcast", 2367 "opcode" : 263, 2368 "operands" : [ 2369 { "kind" : "IdResultType" }, 2370 { "kind" : "IdResult" }, 2371 { "kind" : "IdScope", "name" : "'Execution'" }, 2372 { "kind" : "IdRef", "name" : "'Value'" }, 2373 { "kind" : "IdRef", "name" : "'LocalId'" } 2374 ], 2375 "capabilities" : [ "Groups" ] 2376 }, 2377 { 2378 "opname" : "OpGroupIAdd", 2379 "opcode" : 264, 2380 "operands" : [ 2381 { "kind" : "IdResultType" }, 2382 { "kind" : "IdResult" }, 2383 { "kind" : "IdScope", "name" : "'Execution'" }, 2384 { "kind" : "GroupOperation", "name" : "'Operation'" }, 2385 { "kind" : "IdRef", "name" : "'X'" } 2386 ], 2387 "capabilities" : [ "Groups" ] 2388 }, 2389 { 2390 "opname" : "OpGroupFAdd", 2391 "opcode" : 265, 2392 "operands" : [ 2393 { "kind" : "IdResultType" }, 2394 { "kind" : "IdResult" }, 2395 { "kind" : "IdScope", "name" : "'Execution'" }, 2396 { "kind" : "GroupOperation", "name" : "'Operation'" }, 2397 { "kind" : "IdRef", "name" : "'X'" } 2398 ], 2399 "capabilities" : [ "Groups" ] 2400 }, 2401 { 2402 "opname" : "OpGroupFMin", 2403 "opcode" : 266, 2404 "operands" : [ 2405 { "kind" : "IdResultType" }, 2406 { "kind" : "IdResult" }, 2407 { "kind" : "IdScope", "name" : "'Execution'" }, 2408 { "kind" : "GroupOperation", "name" : "'Operation'" }, 2409 { "kind" : "IdRef", "name" : "X" } 2410 ], 2411 "capabilities" : [ "Groups" ] 2412 }, 2413 { 2414 "opname" : "OpGroupUMin", 2415 "opcode" : 267, 2416 "operands" : [ 2417 { "kind" : "IdResultType" }, 2418 { "kind" : "IdResult" }, 2419 { "kind" : "IdScope", "name" : "'Execution'" }, 2420 { "kind" : "GroupOperation", "name" : "'Operation'" }, 2421 { "kind" : "IdRef", "name" : "'X'" } 2422 ], 2423 "capabilities" : [ "Groups" ] 2424 }, 2425 { 2426 "opname" : "OpGroupSMin", 2427 "opcode" : 268, 2428 "operands" : [ 2429 { "kind" : "IdResultType" }, 2430 { "kind" : "IdResult" }, 2431 { "kind" : "IdScope", "name" : "'Execution'" }, 2432 { "kind" : "GroupOperation", "name" : "'Operation'" }, 2433 { "kind" : "IdRef", "name" : "X" } 2434 ], 2435 "capabilities" : [ "Groups" ] 2436 }, 2437 { 2438 "opname" : "OpGroupFMax", 2439 "opcode" : 269, 2440 "operands" : [ 2441 { "kind" : "IdResultType" }, 2442 { "kind" : "IdResult" }, 2443 { "kind" : "IdScope", "name" : "'Execution'" }, 2444 { "kind" : "GroupOperation", "name" : "'Operation'" }, 2445 { "kind" : "IdRef", "name" : "X" } 2446 ], 2447 "capabilities" : [ "Groups" ] 2448 }, 2449 { 2450 "opname" : "OpGroupUMax", 2451 "opcode" : 270, 2452 "operands" : [ 2453 { "kind" : "IdResultType" }, 2454 { "kind" : "IdResult" }, 2455 { "kind" : "IdScope", "name" : "'Execution'" }, 2456 { "kind" : "GroupOperation", "name" : "'Operation'" }, 2457 { "kind" : "IdRef", "name" : "X" } 2458 ], 2459 "capabilities" : [ "Groups" ] 2460 }, 2461 { 2462 "opname" : "OpGroupSMax", 2463 "opcode" : 271, 2464 "operands" : [ 2465 { "kind" : "IdResultType" }, 2466 { "kind" : "IdResult" }, 2467 { "kind" : "IdScope", "name" : "'Execution'" }, 2468 { "kind" : "GroupOperation", "name" : "'Operation'" }, 2469 { "kind" : "IdRef", "name" : "X" } 2470 ], 2471 "capabilities" : [ "Groups" ] 2472 }, 2473 { 2474 "opname" : "OpReadPipe", 2475 "opcode" : 274, 2476 "operands" : [ 2477 { "kind" : "IdResultType" }, 2478 { "kind" : "IdResult" }, 2479 { "kind" : "IdRef", "name" : "'Pipe'" }, 2480 { "kind" : "IdRef", "name" : "'Pointer'" }, 2481 { "kind" : "IdRef", "name" : "'Packet Size'" }, 2482 { "kind" : "IdRef", "name" : "'Packet Alignment'" } 2483 ], 2484 "capabilities" : [ "Pipes" ] 2485 }, 2486 { 2487 "opname" : "OpWritePipe", 2488 "opcode" : 275, 2489 "operands" : [ 2490 { "kind" : "IdResultType" }, 2491 { "kind" : "IdResult" }, 2492 { "kind" : "IdRef", "name" : "'Pipe'" }, 2493 { "kind" : "IdRef", "name" : "'Pointer'" }, 2494 { "kind" : "IdRef", "name" : "'Packet Size'" }, 2495 { "kind" : "IdRef", "name" : "'Packet Alignment'" } 2496 ], 2497 "capabilities" : [ "Pipes" ] 2498 }, 2499 { 2500 "opname" : "OpReservedReadPipe", 2501 "opcode" : 276, 2502 "operands" : [ 2503 { "kind" : "IdResultType" }, 2504 { "kind" : "IdResult" }, 2505 { "kind" : "IdRef", "name" : "'Pipe'" }, 2506 { "kind" : "IdRef", "name" : "'Reserve Id'" }, 2507 { "kind" : "IdRef", "name" : "'Index'" }, 2508 { "kind" : "IdRef", "name" : "'Pointer'" }, 2509 { "kind" : "IdRef", "name" : "'Packet Size'" }, 2510 { "kind" : "IdRef", "name" : "'Packet Alignment'" } 2511 ], 2512 "capabilities" : [ "Pipes" ] 2513 }, 2514 { 2515 "opname" : "OpReservedWritePipe", 2516 "opcode" : 277, 2517 "operands" : [ 2518 { "kind" : "IdResultType" }, 2519 { "kind" : "IdResult" }, 2520 { "kind" : "IdRef", "name" : "'Pipe'" }, 2521 { "kind" : "IdRef", "name" : "'Reserve Id'" }, 2522 { "kind" : "IdRef", "name" : "'Index'" }, 2523 { "kind" : "IdRef", "name" : "'Pointer'" }, 2524 { "kind" : "IdRef", "name" : "'Packet Size'" }, 2525 { "kind" : "IdRef", "name" : "'Packet Alignment'" } 2526 ], 2527 "capabilities" : [ "Pipes" ] 2528 }, 2529 { 2530 "opname" : "OpReserveReadPipePackets", 2531 "opcode" : 278, 2532 "operands" : [ 2533 { "kind" : "IdResultType" }, 2534 { "kind" : "IdResult" }, 2535 { "kind" : "IdRef", "name" : "'Pipe'" }, 2536 { "kind" : "IdRef", "name" : "'Num Packets'" }, 2537 { "kind" : "IdRef", "name" : "'Packet Size'" }, 2538 { "kind" : "IdRef", "name" : "'Packet Alignment'" } 2539 ], 2540 "capabilities" : [ "Pipes" ] 2541 }, 2542 { 2543 "opname" : "OpReserveWritePipePackets", 2544 "opcode" : 279, 2545 "operands" : [ 2546 { "kind" : "IdResultType" }, 2547 { "kind" : "IdResult" }, 2548 { "kind" : "IdRef", "name" : "'Pipe'" }, 2549 { "kind" : "IdRef", "name" : "'Num Packets'" }, 2550 { "kind" : "IdRef", "name" : "'Packet Size'" }, 2551 { "kind" : "IdRef", "name" : "'Packet Alignment'" } 2552 ], 2553 "capabilities" : [ "Pipes" ] 2554 }, 2555 { 2556 "opname" : "OpCommitReadPipe", 2557 "opcode" : 280, 2558 "operands" : [ 2559 { "kind" : "IdRef", "name" : "'Pipe'" }, 2560 { "kind" : "IdRef", "name" : "'Reserve Id'" }, 2561 { "kind" : "IdRef", "name" : "'Packet Size'" }, 2562 { "kind" : "IdRef", "name" : "'Packet Alignment'" } 2563 ], 2564 "capabilities" : [ "Pipes" ] 2565 }, 2566 { 2567 "opname" : "OpCommitWritePipe", 2568 "opcode" : 281, 2569 "operands" : [ 2570 { "kind" : "IdRef", "name" : "'Pipe'" }, 2571 { "kind" : "IdRef", "name" : "'Reserve Id'" }, 2572 { "kind" : "IdRef", "name" : "'Packet Size'" }, 2573 { "kind" : "IdRef", "name" : "'Packet Alignment'" } 2574 ], 2575 "capabilities" : [ "Pipes" ] 2576 }, 2577 { 2578 "opname" : "OpIsValidReserveId", 2579 "opcode" : 282, 2580 "operands" : [ 2581 { "kind" : "IdResultType" }, 2582 { "kind" : "IdResult" }, 2583 { "kind" : "IdRef", "name" : "'Reserve Id'" } 2584 ], 2585 "capabilities" : [ "Pipes" ] 2586 }, 2587 { 2588 "opname" : "OpGetNumPipePackets", 2589 "opcode" : 283, 2590 "operands" : [ 2591 { "kind" : "IdResultType" }, 2592 { "kind" : "IdResult" }, 2593 { "kind" : "IdRef", "name" : "'Pipe'" }, 2594 { "kind" : "IdRef", "name" : "'Packet Size'" }, 2595 { "kind" : "IdRef", "name" : "'Packet Alignment'" } 2596 ], 2597 "capabilities" : [ "Pipes" ] 2598 }, 2599 { 2600 "opname" : "OpGetMaxPipePackets", 2601 "opcode" : 284, 2602 "operands" : [ 2603 { "kind" : "IdResultType" }, 2604 { "kind" : "IdResult" }, 2605 { "kind" : "IdRef", "name" : "'Pipe'" }, 2606 { "kind" : "IdRef", "name" : "'Packet Size'" }, 2607 { "kind" : "IdRef", "name" : "'Packet Alignment'" } 2608 ], 2609 "capabilities" : [ "Pipes" ] 2610 }, 2611 { 2612 "opname" : "OpGroupReserveReadPipePackets", 2613 "opcode" : 285, 2614 "operands" : [ 2615 { "kind" : "IdResultType" }, 2616 { "kind" : "IdResult" }, 2617 { "kind" : "IdScope", "name" : "'Execution'" }, 2618 { "kind" : "IdRef", "name" : "'Pipe'" }, 2619 { "kind" : "IdRef", "name" : "'Num Packets'" }, 2620 { "kind" : "IdRef", "name" : "'Packet Size'" }, 2621 { "kind" : "IdRef", "name" : "'Packet Alignment'" } 2622 ], 2623 "capabilities" : [ "Pipes" ] 2624 }, 2625 { 2626 "opname" : "OpGroupReserveWritePipePackets", 2627 "opcode" : 286, 2628 "operands" : [ 2629 { "kind" : "IdResultType" }, 2630 { "kind" : "IdResult" }, 2631 { "kind" : "IdScope", "name" : "'Execution'" }, 2632 { "kind" : "IdRef", "name" : "'Pipe'" }, 2633 { "kind" : "IdRef", "name" : "'Num Packets'" }, 2634 { "kind" : "IdRef", "name" : "'Packet Size'" }, 2635 { "kind" : "IdRef", "name" : "'Packet Alignment'" } 2636 ], 2637 "capabilities" : [ "Pipes" ] 2638 }, 2639 { 2640 "opname" : "OpGroupCommitReadPipe", 2641 "opcode" : 287, 2642 "operands" : [ 2643 { "kind" : "IdScope", "name" : "'Execution'" }, 2644 { "kind" : "IdRef", "name" : "'Pipe'" }, 2645 { "kind" : "IdRef", "name" : "'Reserve Id'" }, 2646 { "kind" : "IdRef", "name" : "'Packet Size'" }, 2647 { "kind" : "IdRef", "name" : "'Packet Alignment'" } 2648 ], 2649 "capabilities" : [ "Pipes" ] 2650 }, 2651 { 2652 "opname" : "OpGroupCommitWritePipe", 2653 "opcode" : 288, 2654 "operands" : [ 2655 { "kind" : "IdScope", "name" : "'Execution'" }, 2656 { "kind" : "IdRef", "name" : "'Pipe'" }, 2657 { "kind" : "IdRef", "name" : "'Reserve Id'" }, 2658 { "kind" : "IdRef", "name" : "'Packet Size'" }, 2659 { "kind" : "IdRef", "name" : "'Packet Alignment'" } 2660 ], 2661 "capabilities" : [ "Pipes" ] 2662 }, 2663 { 2664 "opname" : "OpEnqueueMarker", 2665 "opcode" : 291, 2666 "operands" : [ 2667 { "kind" : "IdResultType" }, 2668 { "kind" : "IdResult" }, 2669 { "kind" : "IdRef", "name" : "'Queue'" }, 2670 { "kind" : "IdRef", "name" : "'Num Events'" }, 2671 { "kind" : "IdRef", "name" : "'Wait Events'" }, 2672 { "kind" : "IdRef", "name" : "'Ret Event'" } 2673 ], 2674 "capabilities" : [ "DeviceEnqueue" ] 2675 }, 2676 { 2677 "opname" : "OpEnqueueKernel", 2678 "opcode" : 292, 2679 "operands" : [ 2680 { "kind" : "IdResultType" }, 2681 { "kind" : "IdResult" }, 2682 { "kind" : "IdRef", "name" : "'Queue'" }, 2683 { "kind" : "IdRef", "name" : "'Flags'" }, 2684 { "kind" : "IdRef", "name" : "'ND Range'" }, 2685 { "kind" : "IdRef", "name" : "'Num Events'" }, 2686 { "kind" : "IdRef", "name" : "'Wait Events'" }, 2687 { "kind" : "IdRef", "name" : "'Ret Event'" }, 2688 { "kind" : "IdRef", "name" : "'Invoke'" }, 2689 { "kind" : "IdRef", "name" : "'Param'" }, 2690 { "kind" : "IdRef", "name" : "'Param Size'" }, 2691 { "kind" : "IdRef", "name" : "'Param Align'" }, 2692 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Local Size'" } 2693 ], 2694 "capabilities" : [ "DeviceEnqueue" ] 2695 }, 2696 { 2697 "opname" : "OpGetKernelNDrangeSubGroupCount", 2698 "opcode" : 293, 2699 "operands" : [ 2700 { "kind" : "IdResultType" }, 2701 { "kind" : "IdResult" }, 2702 { "kind" : "IdRef", "name" : "'ND Range'" }, 2703 { "kind" : "IdRef", "name" : "'Invoke'" }, 2704 { "kind" : "IdRef", "name" : "'Param'" }, 2705 { "kind" : "IdRef", "name" : "'Param Size'" }, 2706 { "kind" : "IdRef", "name" : "'Param Align'" } 2707 ], 2708 "capabilities" : [ "DeviceEnqueue" ] 2709 }, 2710 { 2711 "opname" : "OpGetKernelNDrangeMaxSubGroupSize", 2712 "opcode" : 294, 2713 "operands" : [ 2714 { "kind" : "IdResultType" }, 2715 { "kind" : "IdResult" }, 2716 { "kind" : "IdRef", "name" : "'ND Range'" }, 2717 { "kind" : "IdRef", "name" : "'Invoke'" }, 2718 { "kind" : "IdRef", "name" : "'Param'" }, 2719 { "kind" : "IdRef", "name" : "'Param Size'" }, 2720 { "kind" : "IdRef", "name" : "'Param Align'" } 2721 ], 2722 "capabilities" : [ "DeviceEnqueue" ] 2723 }, 2724 { 2725 "opname" : "OpGetKernelWorkGroupSize", 2726 "opcode" : 295, 2727 "operands" : [ 2728 { "kind" : "IdResultType" }, 2729 { "kind" : "IdResult" }, 2730 { "kind" : "IdRef", "name" : "'Invoke'" }, 2731 { "kind" : "IdRef", "name" : "'Param'" }, 2732 { "kind" : "IdRef", "name" : "'Param Size'" }, 2733 { "kind" : "IdRef", "name" : "'Param Align'" } 2734 ], 2735 "capabilities" : [ "DeviceEnqueue" ] 2736 }, 2737 { 2738 "opname" : "OpGetKernelPreferredWorkGroupSizeMultiple", 2739 "opcode" : 296, 2740 "operands" : [ 2741 { "kind" : "IdResultType" }, 2742 { "kind" : "IdResult" }, 2743 { "kind" : "IdRef", "name" : "'Invoke'" }, 2744 { "kind" : "IdRef", "name" : "'Param'" }, 2745 { "kind" : "IdRef", "name" : "'Param Size'" }, 2746 { "kind" : "IdRef", "name" : "'Param Align'" } 2747 ], 2748 "capabilities" : [ "DeviceEnqueue" ] 2749 }, 2750 { 2751 "opname" : "OpRetainEvent", 2752 "opcode" : 297, 2753 "operands" : [ 2754 { "kind" : "IdRef", "name" : "'Event'" } 2755 ], 2756 "capabilities" : [ "DeviceEnqueue" ] 2757 }, 2758 { 2759 "opname" : "OpReleaseEvent", 2760 "opcode" : 298, 2761 "operands" : [ 2762 { "kind" : "IdRef", "name" : "'Event'" } 2763 ], 2764 "capabilities" : [ "DeviceEnqueue" ] 2765 }, 2766 { 2767 "opname" : "OpCreateUserEvent", 2768 "opcode" : 299, 2769 "operands" : [ 2770 { "kind" : "IdResultType" }, 2771 { "kind" : "IdResult" } 2772 ], 2773 "capabilities" : [ "DeviceEnqueue" ] 2774 }, 2775 { 2776 "opname" : "OpIsValidEvent", 2777 "opcode" : 300, 2778 "operands" : [ 2779 { "kind" : "IdResultType" }, 2780 { "kind" : "IdResult" }, 2781 { "kind" : "IdRef", "name" : "'Event'" } 2782 ], 2783 "capabilities" : [ "DeviceEnqueue" ] 2784 }, 2785 { 2786 "opname" : "OpSetUserEventStatus", 2787 "opcode" : 301, 2788 "operands" : [ 2789 { "kind" : "IdRef", "name" : "'Event'" }, 2790 { "kind" : "IdRef", "name" : "'Status'" } 2791 ], 2792 "capabilities" : [ "DeviceEnqueue" ] 2793 }, 2794 { 2795 "opname" : "OpCaptureEventProfilingInfo", 2796 "opcode" : 302, 2797 "operands" : [ 2798 { "kind" : "IdRef", "name" : "'Event'" }, 2799 { "kind" : "IdRef", "name" : "'Profiling Info'" }, 2800 { "kind" : "IdRef", "name" : "'Value'" } 2801 ], 2802 "capabilities" : [ "DeviceEnqueue" ] 2803 }, 2804 { 2805 "opname" : "OpGetDefaultQueue", 2806 "opcode" : 303, 2807 "operands" : [ 2808 { "kind" : "IdResultType" }, 2809 { "kind" : "IdResult" } 2810 ], 2811 "capabilities" : [ "DeviceEnqueue" ] 2812 }, 2813 { 2814 "opname" : "OpBuildNDRange", 2815 "opcode" : 304, 2816 "operands" : [ 2817 { "kind" : "IdResultType" }, 2818 { "kind" : "IdResult" }, 2819 { "kind" : "IdRef", "name" : "'GlobalWorkSize'" }, 2820 { "kind" : "IdRef", "name" : "'LocalWorkSize'" }, 2821 { "kind" : "IdRef", "name" : "'GlobalWorkOffset'" } 2822 ], 2823 "capabilities" : [ "DeviceEnqueue" ] 2824 }, 2825 { 2826 "opname" : "OpImageSparseSampleImplicitLod", 2827 "opcode" : 305, 2828 "operands" : [ 2829 { "kind" : "IdResultType" }, 2830 { "kind" : "IdResult" }, 2831 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 2832 { "kind" : "IdRef", "name" : "'Coordinate'" }, 2833 { "kind" : "ImageOperands", "quantifier" : "?" } 2834 ], 2835 "capabilities" : [ "SparseResidency" ] 2836 }, 2837 { 2838 "opname" : "OpImageSparseSampleExplicitLod", 2839 "opcode" : 306, 2840 "operands" : [ 2841 { "kind" : "IdResultType" }, 2842 { "kind" : "IdResult" }, 2843 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 2844 { "kind" : "IdRef", "name" : "'Coordinate'" }, 2845 { "kind" : "ImageOperands" } 2846 ], 2847 "capabilities" : [ "SparseResidency" ] 2848 }, 2849 { 2850 "opname" : "OpImageSparseSampleDrefImplicitLod", 2851 "opcode" : 307, 2852 "operands" : [ 2853 { "kind" : "IdResultType" }, 2854 { "kind" : "IdResult" }, 2855 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 2856 { "kind" : "IdRef", "name" : "'Coordinate'" }, 2857 { "kind" : "IdRef", "name" : "'D~ref~'" }, 2858 { "kind" : "ImageOperands", "quantifier" : "?" } 2859 ], 2860 "capabilities" : [ "SparseResidency" ] 2861 }, 2862 { 2863 "opname" : "OpImageSparseSampleDrefExplicitLod", 2864 "opcode" : 308, 2865 "operands" : [ 2866 { "kind" : "IdResultType" }, 2867 { "kind" : "IdResult" }, 2868 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 2869 { "kind" : "IdRef", "name" : "'Coordinate'" }, 2870 { "kind" : "IdRef", "name" : "'D~ref~'" }, 2871 { "kind" : "ImageOperands" } 2872 ], 2873 "capabilities" : [ "SparseResidency" ] 2874 }, 2875 { 2876 "opname" : "OpImageSparseSampleProjImplicitLod", 2877 "opcode" : 309, 2878 "operands" : [ 2879 { "kind" : "IdResultType" }, 2880 { "kind" : "IdResult" }, 2881 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 2882 { "kind" : "IdRef", "name" : "'Coordinate'" }, 2883 { "kind" : "ImageOperands", "quantifier" : "?" } 2884 ], 2885 "capabilities" : [ "SparseResidency" ] 2886 }, 2887 { 2888 "opname" : "OpImageSparseSampleProjExplicitLod", 2889 "opcode" : 310, 2890 "operands" : [ 2891 { "kind" : "IdResultType" }, 2892 { "kind" : "IdResult" }, 2893 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 2894 { "kind" : "IdRef", "name" : "'Coordinate'" }, 2895 { "kind" : "ImageOperands" } 2896 ], 2897 "capabilities" : [ "SparseResidency" ] 2898 }, 2899 { 2900 "opname" : "OpImageSparseSampleProjDrefImplicitLod", 2901 "opcode" : 311, 2902 "operands" : [ 2903 { "kind" : "IdResultType" }, 2904 { "kind" : "IdResult" }, 2905 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 2906 { "kind" : "IdRef", "name" : "'Coordinate'" }, 2907 { "kind" : "IdRef", "name" : "'D~ref~'" }, 2908 { "kind" : "ImageOperands", "quantifier" : "?" } 2909 ], 2910 "capabilities" : [ "SparseResidency" ] 2911 }, 2912 { 2913 "opname" : "OpImageSparseSampleProjDrefExplicitLod", 2914 "opcode" : 312, 2915 "operands" : [ 2916 { "kind" : "IdResultType" }, 2917 { "kind" : "IdResult" }, 2918 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 2919 { "kind" : "IdRef", "name" : "'Coordinate'" }, 2920 { "kind" : "IdRef", "name" : "'D~ref~'" }, 2921 { "kind" : "ImageOperands" } 2922 ], 2923 "capabilities" : [ "SparseResidency" ] 2924 }, 2925 { 2926 "opname" : "OpImageSparseFetch", 2927 "opcode" : 313, 2928 "operands" : [ 2929 { "kind" : "IdResultType" }, 2930 { "kind" : "IdResult" }, 2931 { "kind" : "IdRef", "name" : "'Image'" }, 2932 { "kind" : "IdRef", "name" : "'Coordinate'" }, 2933 { "kind" : "ImageOperands", "quantifier" : "?" } 2934 ], 2935 "capabilities" : [ "SparseResidency" ] 2936 }, 2937 { 2938 "opname" : "OpImageSparseGather", 2939 "opcode" : 314, 2940 "operands" : [ 2941 { "kind" : "IdResultType" }, 2942 { "kind" : "IdResult" }, 2943 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 2944 { "kind" : "IdRef", "name" : "'Coordinate'" }, 2945 { "kind" : "IdRef", "name" : "'Component'" }, 2946 { "kind" : "ImageOperands", "quantifier" : "?" } 2947 ], 2948 "capabilities" : [ "SparseResidency" ] 2949 }, 2950 { 2951 "opname" : "OpImageSparseDrefGather", 2952 "opcode" : 315, 2953 "operands" : [ 2954 { "kind" : "IdResultType" }, 2955 { "kind" : "IdResult" }, 2956 { "kind" : "IdRef", "name" : "'Sampled Image'" }, 2957 { "kind" : "IdRef", "name" : "'Coordinate'" }, 2958 { "kind" : "IdRef", "name" : "'D~ref~'" }, 2959 { "kind" : "ImageOperands", "quantifier" : "?" } 2960 ], 2961 "capabilities" : [ "SparseResidency" ] 2962 }, 2963 { 2964 "opname" : "OpImageSparseTexelsResident", 2965 "opcode" : 316, 2966 "operands" : [ 2967 { "kind" : "IdResultType" }, 2968 { "kind" : "IdResult" }, 2969 { "kind" : "IdRef", "name" : "'Resident Code'" } 2970 ], 2971 "capabilities" : [ "SparseResidency" ] 2972 }, 2973 { 2974 "opname" : "OpNoLine", 2975 "opcode" : 317 2976 }, 2977 { 2978 "opname" : "OpAtomicFlagTestAndSet", 2979 "opcode" : 318, 2980 "operands" : [ 2981 { "kind" : "IdResultType" }, 2982 { "kind" : "IdResult" }, 2983 { "kind" : "IdRef", "name" : "'Pointer'" }, 2984 { "kind" : "IdScope", "name" : "'Scope'" }, 2985 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" } 2986 ], 2987 "capabilities" : [ "Kernel" ] 2988 }, 2989 { 2990 "opname" : "OpAtomicFlagClear", 2991 "opcode" : 319, 2992 "operands" : [ 2993 { "kind" : "IdRef", "name" : "'Pointer'" }, 2994 { "kind" : "IdScope", "name" : "'Scope'" }, 2995 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" } 2996 ], 2997 "capabilities" : [ "Kernel" ] 2998 }, 2999 { 3000 "opname" : "OpImageSparseRead", 3001 "opcode" : 320, 3002 "operands" : [ 3003 { "kind" : "IdResultType" }, 3004 { "kind" : "IdResult" }, 3005 { "kind" : "IdRef", "name" : "'Image'" }, 3006 { "kind" : "IdRef", "name" : "'Coordinate'" }, 3007 { "kind" : "ImageOperands", "quantifier" : "?" } 3008 ], 3009 "capabilities" : [ "SparseResidency" ] 3010 }, 3011 { 3012 "opname" : "OpSubgroupBallotKHR", 3013 "opcode" : 4421, 3014 "operands" : [ 3015 { "kind" : "IdResultType" }, 3016 { "kind" : "IdResult" }, 3017 { "kind" : "IdRef", "name" : "'Predicate'" } 3018 ], 3019 "capabilities" : [ "SubgroupBallotKHR" ] 3020 }, 3021 { 3022 "opname" : "OpSubgroupFirstInvocationKHR", 3023 "opcode" : 4422, 3024 "operands" : [ 3025 { "kind" : "IdResultType" }, 3026 { "kind" : "IdResult" }, 3027 { "kind" : "IdRef", "name" : "'Value'" } 3028 ], 3029 "capabilities" : [ "SubgroupBallotKHR" ] 3030 } 3031 ], 3032 "operand_kinds" : [ 3033 { 3034 "category" : "BitEnum", 3035 "kind" : "ImageOperands", 3036 "enumerants" : [ 3037 { 3038 "enumerant" : "None", 3039 "value" : "0x0000" 3040 }, 3041 { 3042 "enumerant" : "Bias", 3043 "value" : "0x0001", 3044 "capabilities" : [ "Shader" ], 3045 "parameters" : [ 3046 { "kind" : "IdRef" } 3047 ] 3048 }, 3049 { 3050 "enumerant" : "Lod", 3051 "value" : "0x0002", 3052 "parameters" : [ 3053 { "kind" : "IdRef" } 3054 ] 3055 }, 3056 { 3057 "enumerant" : "Grad", 3058 "value" : "0x0004", 3059 "parameters" : [ 3060 { "kind" : "IdRef" }, 3061 { "kind" : "IdRef" } 3062 ] 3063 }, 3064 { 3065 "enumerant" : "ConstOffset", 3066 "value" : "0x0008", 3067 "parameters" : [ 3068 { "kind" : "IdRef" } 3069 ] 3070 }, 3071 { 3072 "enumerant" : "Offset", 3073 "value" : "0x0010", 3074 "capabilities" : [ "ImageGatherExtended" ], 3075 "parameters" : [ 3076 { "kind" : "IdRef" } 3077 ] 3078 }, 3079 { 3080 "enumerant" : "ConstOffsets", 3081 "value" : "0x0020", 3082 "parameters" : [ 3083 { "kind" : "IdRef" } 3084 ] 3085 }, 3086 { 3087 "enumerant" : "Sample", 3088 "value" : "0x0040", 3089 "parameters" : [ 3090 { "kind" : "IdRef" } 3091 ] 3092 }, 3093 { 3094 "enumerant" : "MinLod", 3095 "value" : "0x0080", 3096 "capabilities" : [ "MinLod" ], 3097 "parameters" : [ 3098 { "kind" : "IdRef" } 3099 ] 3100 } 3101 ] 3102 }, 3103 { 3104 "category" : "BitEnum", 3105 "kind" : "FPFastMathMode", 3106 "enumerants" : [ 3107 { 3108 "enumerant" : "None", 3109 "value" : "0x0000" 3110 }, 3111 { 3112 "enumerant" : "NotNaN", 3113 "value" : "0x0001", 3114 "capabilities" : [ "Kernel" ] 3115 }, 3116 { 3117 "enumerant" : "NotInf", 3118 "value" : "0x0002", 3119 "capabilities" : [ "Kernel" ] 3120 }, 3121 { 3122 "enumerant" : "NSZ", 3123 "value" : "0x0004", 3124 "capabilities" : [ "Kernel" ] 3125 }, 3126 { 3127 "enumerant" : "AllowRecip", 3128 "value" : "0x0008", 3129 "capabilities" : [ "Kernel" ] 3130 }, 3131 { 3132 "enumerant" : "Fast", 3133 "value" : "0x0010", 3134 "capabilities" : [ "Kernel" ] 3135 } 3136 ] 3137 }, 3138 { 3139 "category" : "BitEnum", 3140 "kind" : "SelectionControl", 3141 "enumerants" : [ 3142 { 3143 "enumerant" : "None", 3144 "value" : "0x0000" 3145 }, 3146 { 3147 "enumerant" : "Flatten", 3148 "value" : "0x0001" 3149 }, 3150 { 3151 "enumerant" : "DontFlatten", 3152 "value" : "0x0002" 3153 } 3154 ] 3155 }, 3156 { 3157 "category" : "BitEnum", 3158 "kind" : "LoopControl", 3159 "enumerants" : [ 3160 { 3161 "enumerant" : "None", 3162 "value" : "0x0000" 3163 }, 3164 { 3165 "enumerant" : "Unroll", 3166 "value" : "0x0001" 3167 }, 3168 { 3169 "enumerant" : "DontUnroll", 3170 "value" : "0x0002" 3171 } 3172 ] 3173 }, 3174 { 3175 "category" : "BitEnum", 3176 "kind" : "FunctionControl", 3177 "enumerants" : [ 3178 { 3179 "enumerant" : "None", 3180 "value" : "0x0000" 3181 }, 3182 { 3183 "enumerant" : "Inline", 3184 "value" : "0x0001" 3185 }, 3186 { 3187 "enumerant" : "DontInline", 3188 "value" : "0x0002" 3189 }, 3190 { 3191 "enumerant" : "Pure", 3192 "value" : "0x0004" 3193 }, 3194 { 3195 "enumerant" : "Const", 3196 "value" : "0x0008" 3197 } 3198 ] 3199 }, 3200 { 3201 "category" : "BitEnum", 3202 "kind" : "MemorySemantics", 3203 "enumerants" : [ 3204 { 3205 "enumerant" : "Relaxed", 3206 "value" : "0x0000" 3207 }, 3208 { 3209 "enumerant" : "None", 3210 "value" : "0x0000" 3211 }, 3212 { 3213 "enumerant" : "Acquire", 3214 "value" : "0x0002" 3215 }, 3216 { 3217 "enumerant" : "Release", 3218 "value" : "0x0004" 3219 }, 3220 { 3221 "enumerant" : "AcquireRelease", 3222 "value" : "0x0008" 3223 }, 3224 { 3225 "enumerant" : "SequentiallyConsistent", 3226 "value" : "0x0010" 3227 }, 3228 { 3229 "enumerant" : "UniformMemory", 3230 "value" : "0x0040", 3231 "capabilities" : [ "Shader" ] 3232 }, 3233 { 3234 "enumerant" : "SubgroupMemory", 3235 "value" : "0x0080" 3236 }, 3237 { 3238 "enumerant" : "WorkgroupMemory", 3239 "value" : "0x0100" 3240 }, 3241 { 3242 "enumerant" : "CrossWorkgroupMemory", 3243 "value" : "0x0200" 3244 }, 3245 { 3246 "enumerant" : "AtomicCounterMemory", 3247 "value" : "0x0400", 3248 "capabilities" : [ "AtomicStorage" ] 3249 }, 3250 { 3251 "enumerant" : "ImageMemory", 3252 "value" : "0x0800" 3253 } 3254 ] 3255 }, 3256 { 3257 "category" : "BitEnum", 3258 "kind" : "MemoryAccess", 3259 "enumerants" : [ 3260 { 3261 "enumerant" : "None", 3262 "value" : "0x0000" 3263 }, 3264 { 3265 "enumerant" : "Volatile", 3266 "value" : "0x0001" 3267 }, 3268 { 3269 "enumerant" : "Aligned", 3270 "value" : "0x0002", 3271 "parameters" : [ 3272 { "kind" : "LiteralInteger" } 3273 ] 3274 }, 3275 { 3276 "enumerant" : "Nontemporal", 3277 "value" : "0x0004" 3278 } 3279 ] 3280 }, 3281 { 3282 "category" : "BitEnum", 3283 "kind" : "KernelProfilingInfo", 3284 "enumerants" : [ 3285 { 3286 "enumerant" : "None", 3287 "value" : "0x0000" 3288 }, 3289 { 3290 "enumerant" : "CmdExecTime", 3291 "value" : "0x0001", 3292 "capabilities" : [ "Kernel" ] 3293 } 3294 ] 3295 }, 3296 { 3297 "category" : "ValueEnum", 3298 "kind" : "SourceLanguage", 3299 "enumerants" : [ 3300 { 3301 "enumerant" : "Unknown", 3302 "value" : 0 3303 }, 3304 { 3305 "enumerant" : "ESSL", 3306 "value" : 1 3307 }, 3308 { 3309 "enumerant" : "GLSL", 3310 "value" : 2 3311 }, 3312 { 3313 "enumerant" : "OpenCL_C", 3314 "value" : 3 3315 }, 3316 { 3317 "enumerant" : "OpenCL_CPP", 3318 "value" : 4 3319 } 3320 ] 3321 }, 3322 { 3323 "category" : "ValueEnum", 3324 "kind" : "ExecutionModel", 3325 "enumerants" : [ 3326 { 3327 "enumerant" : "Vertex", 3328 "value" : 0, 3329 "capabilities" : [ "Shader" ] 3330 }, 3331 { 3332 "enumerant" : "TessellationControl", 3333 "value" : 1, 3334 "capabilities" : [ "Tessellation" ] 3335 }, 3336 { 3337 "enumerant" : "TessellationEvaluation", 3338 "value" : 2, 3339 "capabilities" : [ "Tessellation" ] 3340 }, 3341 { 3342 "enumerant" : "Geometry", 3343 "value" : 3, 3344 "capabilities" : [ "Geometry" ] 3345 }, 3346 { 3347 "enumerant" : "Fragment", 3348 "value" : 4, 3349 "capabilities" : [ "Shader" ] 3350 }, 3351 { 3352 "enumerant" : "GLCompute", 3353 "value" : 5, 3354 "capabilities" : [ "Shader" ] 3355 }, 3356 { 3357 "enumerant" : "Kernel", 3358 "value" : 6, 3359 "capabilities" : [ "Kernel" ] 3360 } 3361 ] 3362 }, 3363 { 3364 "category" : "ValueEnum", 3365 "kind" : "AddressingModel", 3366 "enumerants" : [ 3367 { 3368 "enumerant" : "Logical", 3369 "value" : 0 3370 }, 3371 { 3372 "enumerant" : "Physical32", 3373 "value" : 1, 3374 "capabilities" : [ "Addresses" ] 3375 }, 3376 { 3377 "enumerant" : "Physical64", 3378 "value" : 2, 3379 "capabilities" : [ "Addresses" ] 3380 } 3381 ] 3382 }, 3383 { 3384 "category" : "ValueEnum", 3385 "kind" : "MemoryModel", 3386 "enumerants" : [ 3387 { 3388 "enumerant" : "Simple", 3389 "value" : 0, 3390 "capabilities" : [ "Shader" ] 3391 }, 3392 { 3393 "enumerant" : "GLSL450", 3394 "value" : 1, 3395 "capabilities" : [ "Shader" ] 3396 }, 3397 { 3398 "enumerant" : "OpenCL", 3399 "value" : 2, 3400 "capabilities" : [ "Kernel" ] 3401 } 3402 ] 3403 }, 3404 { 3405 "category" : "ValueEnum", 3406 "kind" : "ExecutionMode", 3407 "enumerants" : [ 3408 { 3409 "enumerant" : "Invocations", 3410 "value" : 0, 3411 "capabilities" : [ "Geometry" ], 3412 "parameters" : [ 3413 { "kind" : "LiteralInteger", "name" : "'Number of <<Invocation,invocations>>'" } 3414 ] 3415 }, 3416 { 3417 "enumerant" : "SpacingEqual", 3418 "value" : 1, 3419 "capabilities" : [ "Tessellation" ] 3420 }, 3421 { 3422 "enumerant" : "SpacingFractionalEven", 3423 "value" : 2, 3424 "capabilities" : [ "Tessellation" ] 3425 }, 3426 { 3427 "enumerant" : "SpacingFractionalOdd", 3428 "value" : 3, 3429 "capabilities" : [ "Tessellation" ] 3430 }, 3431 { 3432 "enumerant" : "VertexOrderCw", 3433 "value" : 4, 3434 "capabilities" : [ "Tessellation" ] 3435 }, 3436 { 3437 "enumerant" : "VertexOrderCcw", 3438 "value" : 5, 3439 "capabilities" : [ "Tessellation" ] 3440 }, 3441 { 3442 "enumerant" : "PixelCenterInteger", 3443 "value" : 6, 3444 "capabilities" : [ "Shader" ] 3445 }, 3446 { 3447 "enumerant" : "OriginUpperLeft", 3448 "value" : 7, 3449 "capabilities" : [ "Shader" ] 3450 }, 3451 { 3452 "enumerant" : "OriginLowerLeft", 3453 "value" : 8, 3454 "capabilities" : [ "Shader" ] 3455 }, 3456 { 3457 "enumerant" : "EarlyFragmentTests", 3458 "value" : 9, 3459 "capabilities" : [ "Shader" ] 3460 }, 3461 { 3462 "enumerant" : "PointMode", 3463 "value" : 10, 3464 "capabilities" : [ "Tessellation" ] 3465 }, 3466 { 3467 "enumerant" : "Xfb", 3468 "value" : 11, 3469 "capabilities" : [ "TransformFeedback" ] 3470 }, 3471 { 3472 "enumerant" : "DepthReplacing", 3473 "value" : 12, 3474 "capabilities" : [ "Shader" ] 3475 }, 3476 { 3477 "enumerant" : "DepthGreater", 3478 "value" : 14, 3479 "capabilities" : [ "Shader" ] 3480 }, 3481 { 3482 "enumerant" : "DepthLess", 3483 "value" : 15, 3484 "capabilities" : [ "Shader" ] 3485 }, 3486 { 3487 "enumerant" : "DepthUnchanged", 3488 "value" : 16, 3489 "capabilities" : [ "Shader" ] 3490 }, 3491 { 3492 "enumerant" : "LocalSize", 3493 "value" : 17, 3494 "parameters" : [ 3495 { "kind" : "LiteralInteger", "name" : "'x size'" }, 3496 { "kind" : "LiteralInteger", "name" : "'y size'" }, 3497 { "kind" : "LiteralInteger", "name" : "'z size'" } 3498 ] 3499 }, 3500 { 3501 "enumerant" : "LocalSizeHint", 3502 "value" : 18, 3503 "capabilities" : [ "Kernel" ], 3504 "parameters" : [ 3505 { "kind" : "LiteralInteger", "name" : "'x size'" }, 3506 { "kind" : "LiteralInteger", "name" : "'y size'" }, 3507 { "kind" : "LiteralInteger", "name" : "'z size'" } 3508 ] 3509 }, 3510 { 3511 "enumerant" : "InputPoints", 3512 "value" : 19, 3513 "capabilities" : [ "Geometry" ] 3514 }, 3515 { 3516 "enumerant" : "InputLines", 3517 "value" : 20, 3518 "capabilities" : [ "Geometry" ] 3519 }, 3520 { 3521 "enumerant" : "InputLinesAdjacency", 3522 "value" : 21, 3523 "capabilities" : [ "Geometry" ] 3524 }, 3525 { 3526 "enumerant" : "Triangles", 3527 "value" : 22, 3528 "capabilities" : [ "Geometry", "Tessellation" ] 3529 }, 3530 { 3531 "enumerant" : "InputTrianglesAdjacency", 3532 "value" : 23, 3533 "capabilities" : [ "Geometry" ] 3534 }, 3535 { 3536 "enumerant" : "Quads", 3537 "value" : 24, 3538 "capabilities" : [ "Tessellation" ] 3539 }, 3540 { 3541 "enumerant" : "Isolines", 3542 "value" : 25, 3543 "capabilities" : [ "Tessellation" ] 3544 }, 3545 { 3546 "enumerant" : "OutputVertices", 3547 "value" : 26, 3548 "capabilities" : [ "Geometry", "Tessellation" ], 3549 "parameters" : [ 3550 { "kind" : "LiteralInteger", "name" : "'Vertex count'" } 3551 ] 3552 }, 3553 { 3554 "enumerant" : "OutputPoints", 3555 "value" : 27, 3556 "capabilities" : [ "Geometry" ] 3557 }, 3558 { 3559 "enumerant" : "OutputLineStrip", 3560 "value" : 28, 3561 "capabilities" : [ "Geometry" ] 3562 }, 3563 { 3564 "enumerant" : "OutputTriangleStrip", 3565 "value" : 29, 3566 "capabilities" : [ "Geometry" ] 3567 }, 3568 { 3569 "enumerant" : "VecTypeHint", 3570 "value" : 30, 3571 "capabilities" : [ "Kernel" ], 3572 "parameters" : [ 3573 { "kind" : "LiteralInteger", "name" : "'Vector type'" } 3574 ] 3575 }, 3576 { 3577 "enumerant" : "ContractionOff", 3578 "value" : 31, 3579 "capabilities" : [ "Kernel" ] 3580 } 3581 ] 3582 }, 3583 { 3584 "category" : "ValueEnum", 3585 "kind" : "StorageClass", 3586 "enumerants" : [ 3587 { 3588 "enumerant" : "UniformConstant", 3589 "value" : 0 3590 }, 3591 { 3592 "enumerant" : "Input", 3593 "value" : 1 3594 }, 3595 { 3596 "enumerant" : "Uniform", 3597 "value" : 2, 3598 "capabilities" : [ "Shader" ] 3599 }, 3600 { 3601 "enumerant" : "Output", 3602 "value" : 3, 3603 "capabilities" : [ "Shader" ] 3604 }, 3605 { 3606 "enumerant" : "Workgroup", 3607 "value" : 4 3608 }, 3609 { 3610 "enumerant" : "CrossWorkgroup", 3611 "value" : 5 3612 }, 3613 { 3614 "enumerant" : "Private", 3615 "value" : 6, 3616 "capabilities" : [ "Shader" ] 3617 }, 3618 { 3619 "enumerant" : "Function", 3620 "value" : 7 3621 }, 3622 { 3623 "enumerant" : "Generic", 3624 "value" : 8, 3625 "capabilities" : [ "GenericPointer" ] 3626 }, 3627 { 3628 "enumerant" : "PushConstant", 3629 "value" : 9, 3630 "capabilities" : [ "Shader" ] 3631 }, 3632 { 3633 "enumerant" : "AtomicCounter", 3634 "value" : 10, 3635 "capabilities" : [ "AtomicStorage" ] 3636 }, 3637 { 3638 "enumerant" : "Image", 3639 "value" : 11 3640 } 3641 ] 3642 }, 3643 { 3644 "category" : "ValueEnum", 3645 "kind" : "Dim", 3646 "enumerants" : [ 3647 { 3648 "enumerant" : "1D", 3649 "value" : 0, 3650 "capabilities" : [ "Sampled1D" ] 3651 }, 3652 { 3653 "enumerant" : "2D", 3654 "value" : 1 3655 }, 3656 { 3657 "enumerant" : "3D", 3658 "value" : 2 3659 }, 3660 { 3661 "enumerant" : "Cube", 3662 "value" : 3, 3663 "capabilities" : [ "Shader" ] 3664 }, 3665 { 3666 "enumerant" : "Rect", 3667 "value" : 4, 3668 "capabilities" : [ "SampledRect" ] 3669 }, 3670 { 3671 "enumerant" : "Buffer", 3672 "value" : 5, 3673 "capabilities" : [ "SampledBuffer" ] 3674 }, 3675 { 3676 "enumerant" : "SubpassData", 3677 "value" : 6, 3678 "capabilities" : [ "InputAttachment" ] 3679 } 3680 ] 3681 }, 3682 { 3683 "category" : "ValueEnum", 3684 "kind" : "SamplerAddressingMode", 3685 "enumerants" : [ 3686 { 3687 "enumerant" : "None", 3688 "value" : 0, 3689 "capabilities" : [ "Kernel" ] 3690 }, 3691 { 3692 "enumerant" : "ClampToEdge", 3693 "value" : 1, 3694 "capabilities" : [ "Kernel" ] 3695 }, 3696 { 3697 "enumerant" : "Clamp", 3698 "value" : 2, 3699 "capabilities" : [ "Kernel" ] 3700 }, 3701 { 3702 "enumerant" : "Repeat", 3703 "value" : 3, 3704 "capabilities" : [ "Kernel" ] 3705 }, 3706 { 3707 "enumerant" : "RepeatMirrored", 3708 "value" : 4, 3709 "capabilities" : [ "Kernel" ] 3710 } 3711 ] 3712 }, 3713 { 3714 "category" : "ValueEnum", 3715 "kind" : "SamplerFilterMode", 3716 "enumerants" : [ 3717 { 3718 "enumerant" : "Nearest", 3719 "value" : 0, 3720 "capabilities" : [ "Kernel" ] 3721 }, 3722 { 3723 "enumerant" : "Linear", 3724 "value" : 1, 3725 "capabilities" : [ "Kernel" ] 3726 } 3727 ] 3728 }, 3729 { 3730 "category" : "ValueEnum", 3731 "kind" : "ImageFormat", 3732 "enumerants" : [ 3733 { 3734 "enumerant" : "Unknown", 3735 "value" : 0 3736 }, 3737 { 3738 "enumerant" : "Rgba32f", 3739 "value" : 1, 3740 "capabilities" : [ "Shader" ] 3741 }, 3742 { 3743 "enumerant" : "Rgba16f", 3744 "value" : 2, 3745 "capabilities" : [ "Shader" ] 3746 }, 3747 { 3748 "enumerant" : "R32f", 3749 "value" : 3, 3750 "capabilities" : [ "Shader" ] 3751 }, 3752 { 3753 "enumerant" : "Rgba8", 3754 "value" : 4, 3755 "capabilities" : [ "Shader" ] 3756 }, 3757 { 3758 "enumerant" : "Rgba8Snorm", 3759 "value" : 5, 3760 "capabilities" : [ "Shader" ] 3761 }, 3762 { 3763 "enumerant" : "Rg32f", 3764 "value" : 6, 3765 "capabilities" : [ "StorageImageExtendedFormats" ] 3766 }, 3767 { 3768 "enumerant" : "Rg16f", 3769 "value" : 7, 3770 "capabilities" : [ "StorageImageExtendedFormats" ] 3771 }, 3772 { 3773 "enumerant" : "R11fG11fB10f", 3774 "value" : 8, 3775 "capabilities" : [ "StorageImageExtendedFormats" ] 3776 }, 3777 { 3778 "enumerant" : "R16f", 3779 "value" : 9, 3780 "capabilities" : [ "StorageImageExtendedFormats" ] 3781 }, 3782 { 3783 "enumerant" : "Rgba16", 3784 "value" : 10, 3785 "capabilities" : [ "StorageImageExtendedFormats" ] 3786 }, 3787 { 3788 "enumerant" : "Rgb10A2", 3789 "value" : 11, 3790 "capabilities" : [ "StorageImageExtendedFormats" ] 3791 }, 3792 { 3793 "enumerant" : "Rg16", 3794 "value" : 12, 3795 "capabilities" : [ "StorageImageExtendedFormats" ] 3796 }, 3797 { 3798 "enumerant" : "Rg8", 3799 "value" : 13, 3800 "capabilities" : [ "StorageImageExtendedFormats" ] 3801 }, 3802 { 3803 "enumerant" : "R16", 3804 "value" : 14, 3805 "capabilities" : [ "StorageImageExtendedFormats" ] 3806 }, 3807 { 3808 "enumerant" : "R8", 3809 "value" : 15, 3810 "capabilities" : [ "StorageImageExtendedFormats" ] 3811 }, 3812 { 3813 "enumerant" : "Rgba16Snorm", 3814 "value" : 16, 3815 "capabilities" : [ "StorageImageExtendedFormats" ] 3816 }, 3817 { 3818 "enumerant" : "Rg16Snorm", 3819 "value" : 17, 3820 "capabilities" : [ "StorageImageExtendedFormats" ] 3821 }, 3822 { 3823 "enumerant" : "Rg8Snorm", 3824 "value" : 18, 3825 "capabilities" : [ "StorageImageExtendedFormats" ] 3826 }, 3827 { 3828 "enumerant" : "R16Snorm", 3829 "value" : 19, 3830 "capabilities" : [ "StorageImageExtendedFormats" ] 3831 }, 3832 { 3833 "enumerant" : "R8Snorm", 3834 "value" : 20, 3835 "capabilities" : [ "StorageImageExtendedFormats" ] 3836 }, 3837 { 3838 "enumerant" : "Rgba32i", 3839 "value" : 21, 3840 "capabilities" : [ "Shader" ] 3841 }, 3842 { 3843 "enumerant" : "Rgba16i", 3844 "value" : 22, 3845 "capabilities" : [ "Shader" ] 3846 }, 3847 { 3848 "enumerant" : "Rgba8i", 3849 "value" : 23, 3850 "capabilities" : [ "Shader" ] 3851 }, 3852 { 3853 "enumerant" : "R32i", 3854 "value" : 24, 3855 "capabilities" : [ "Shader" ] 3856 }, 3857 { 3858 "enumerant" : "Rg32i", 3859 "value" : 25, 3860 "capabilities" : [ "StorageImageExtendedFormats" ] 3861 }, 3862 { 3863 "enumerant" : "Rg16i", 3864 "value" : 26, 3865 "capabilities" : [ "StorageImageExtendedFormats" ] 3866 }, 3867 { 3868 "enumerant" : "Rg8i", 3869 "value" : 27, 3870 "capabilities" : [ "StorageImageExtendedFormats" ] 3871 }, 3872 { 3873 "enumerant" : "R16i", 3874 "value" : 28, 3875 "capabilities" : [ "StorageImageExtendedFormats" ] 3876 }, 3877 { 3878 "enumerant" : "R8i", 3879 "value" : 29, 3880 "capabilities" : [ "StorageImageExtendedFormats" ] 3881 }, 3882 { 3883 "enumerant" : "Rgba32ui", 3884 "value" : 30, 3885 "capabilities" : [ "Shader" ] 3886 }, 3887 { 3888 "enumerant" : "Rgba16ui", 3889 "value" : 31, 3890 "capabilities" : [ "Shader" ] 3891 }, 3892 { 3893 "enumerant" : "Rgba8ui", 3894 "value" : 32, 3895 "capabilities" : [ "Shader" ] 3896 }, 3897 { 3898 "enumerant" : "R32ui", 3899 "value" : 33, 3900 "capabilities" : [ "Shader" ] 3901 }, 3902 { 3903 "enumerant" : "Rgb10a2ui", 3904 "value" : 34, 3905 "capabilities" : [ "StorageImageExtendedFormats" ] 3906 }, 3907 { 3908 "enumerant" : "Rg32ui", 3909 "value" : 35, 3910 "capabilities" : [ "StorageImageExtendedFormats" ] 3911 }, 3912 { 3913 "enumerant" : "Rg16ui", 3914 "value" : 36, 3915 "capabilities" : [ "StorageImageExtendedFormats" ] 3916 }, 3917 { 3918 "enumerant" : "Rg8ui", 3919 "value" : 37, 3920 "capabilities" : [ "StorageImageExtendedFormats" ] 3921 }, 3922 { 3923 "enumerant" : "R16ui", 3924 "value" : 38, 3925 "capabilities" : [ "StorageImageExtendedFormats" ] 3926 }, 3927 { 3928 "enumerant" : "R8ui", 3929 "value" : 39, 3930 "capabilities" : [ "StorageImageExtendedFormats" ] 3931 } 3932 ] 3933 }, 3934 { 3935 "category" : "ValueEnum", 3936 "kind" : "ImageChannelOrder", 3937 "enumerants" : [ 3938 { 3939 "enumerant" : "R", 3940 "value" : 0, 3941 "capabilities" : [ "Kernel" ] 3942 }, 3943 { 3944 "enumerant" : "A", 3945 "value" : 1, 3946 "capabilities" : [ "Kernel" ] 3947 }, 3948 { 3949 "enumerant" : "RG", 3950 "value" : 2, 3951 "capabilities" : [ "Kernel" ] 3952 }, 3953 { 3954 "enumerant" : "RA", 3955 "value" : 3, 3956 "capabilities" : [ "Kernel" ] 3957 }, 3958 { 3959 "enumerant" : "RGB", 3960 "value" : 4, 3961 "capabilities" : [ "Kernel" ] 3962 }, 3963 { 3964 "enumerant" : "RGBA", 3965 "value" : 5, 3966 "capabilities" : [ "Kernel" ] 3967 }, 3968 { 3969 "enumerant" : "BGRA", 3970 "value" : 6, 3971 "capabilities" : [ "Kernel" ] 3972 }, 3973 { 3974 "enumerant" : "ARGB", 3975 "value" : 7, 3976 "capabilities" : [ "Kernel" ] 3977 }, 3978 { 3979 "enumerant" : "Intensity", 3980 "value" : 8, 3981 "capabilities" : [ "Kernel" ] 3982 }, 3983 { 3984 "enumerant" : "Luminance", 3985 "value" : 9, 3986 "capabilities" : [ "Kernel" ] 3987 }, 3988 { 3989 "enumerant" : "Rx", 3990 "value" : 10, 3991 "capabilities" : [ "Kernel" ] 3992 }, 3993 { 3994 "enumerant" : "RGx", 3995 "value" : 11, 3996 "capabilities" : [ "Kernel" ] 3997 }, 3998 { 3999 "enumerant" : "RGBx", 4000 "value" : 12, 4001 "capabilities" : [ "Kernel" ] 4002 }, 4003 { 4004 "enumerant" : "Depth", 4005 "value" : 13, 4006 "capabilities" : [ "Kernel" ] 4007 }, 4008 { 4009 "enumerant" : "DepthStencil", 4010 "value" : 14, 4011 "capabilities" : [ "Kernel" ] 4012 }, 4013 { 4014 "enumerant" : "sRGB", 4015 "value" : 15, 4016 "capabilities" : [ "Kernel" ] 4017 }, 4018 { 4019 "enumerant" : "sRGBx", 4020 "value" : 16, 4021 "capabilities" : [ "Kernel" ] 4022 }, 4023 { 4024 "enumerant" : "sRGBA", 4025 "value" : 17, 4026 "capabilities" : [ "Kernel" ] 4027 }, 4028 { 4029 "enumerant" : "sBGRA", 4030 "value" : 18, 4031 "capabilities" : [ "Kernel" ] 4032 }, 4033 { 4034 "enumerant" : "ABGR", 4035 "value" : 19, 4036 "capabilities" : [ "Kernel" ] 4037 } 4038 ] 4039 }, 4040 { 4041 "category" : "ValueEnum", 4042 "kind" : "ImageChannelDataType", 4043 "enumerants" : [ 4044 { 4045 "enumerant" : "SnormInt8", 4046 "value" : 0, 4047 "capabilities" : [ "Kernel" ] 4048 }, 4049 { 4050 "enumerant" : "SnormInt16", 4051 "value" : 1, 4052 "capabilities" : [ "Kernel" ] 4053 }, 4054 { 4055 "enumerant" : "UnormInt8", 4056 "value" : 2, 4057 "capabilities" : [ "Kernel" ] 4058 }, 4059 { 4060 "enumerant" : "UnormInt16", 4061 "value" : 3, 4062 "capabilities" : [ "Kernel" ] 4063 }, 4064 { 4065 "enumerant" : "UnormShort565", 4066 "value" : 4, 4067 "capabilities" : [ "Kernel" ] 4068 }, 4069 { 4070 "enumerant" : "UnormShort555", 4071 "value" : 5, 4072 "capabilities" : [ "Kernel" ] 4073 }, 4074 { 4075 "enumerant" : "UnormInt101010", 4076 "value" : 6, 4077 "capabilities" : [ "Kernel" ] 4078 }, 4079 { 4080 "enumerant" : "SignedInt8", 4081 "value" : 7, 4082 "capabilities" : [ "Kernel" ] 4083 }, 4084 { 4085 "enumerant" : "SignedInt16", 4086 "value" : 8, 4087 "capabilities" : [ "Kernel" ] 4088 }, 4089 { 4090 "enumerant" : "SignedInt32", 4091 "value" : 9, 4092 "capabilities" : [ "Kernel" ] 4093 }, 4094 { 4095 "enumerant" : "UnsignedInt8", 4096 "value" : 10, 4097 "capabilities" : [ "Kernel" ] 4098 }, 4099 { 4100 "enumerant" : "UnsignedInt16", 4101 "value" : 11, 4102 "capabilities" : [ "Kernel" ] 4103 }, 4104 { 4105 "enumerant" : "UnsignedInt32", 4106 "value" : 12, 4107 "capabilities" : [ "Kernel" ] 4108 }, 4109 { 4110 "enumerant" : "HalfFloat", 4111 "value" : 13, 4112 "capabilities" : [ "Kernel" ] 4113 }, 4114 { 4115 "enumerant" : "Float", 4116 "value" : 14, 4117 "capabilities" : [ "Kernel" ] 4118 }, 4119 { 4120 "enumerant" : "UnormInt24", 4121 "value" : 15, 4122 "capabilities" : [ "Kernel" ] 4123 }, 4124 { 4125 "enumerant" : "UnormInt101010_2", 4126 "value" : 16, 4127 "capabilities" : [ "Kernel" ] 4128 } 4129 ] 4130 }, 4131 { 4132 "category" : "ValueEnum", 4133 "kind" : "FPRoundingMode", 4134 "enumerants" : [ 4135 { 4136 "enumerant" : "RTE", 4137 "value" : 0, 4138 "capabilities" : [ "Kernel" ] 4139 }, 4140 { 4141 "enumerant" : "RTZ", 4142 "value" : 1, 4143 "capabilities" : [ "Kernel" ] 4144 }, 4145 { 4146 "enumerant" : "RTP", 4147 "value" : 2, 4148 "capabilities" : [ "Kernel" ] 4149 }, 4150 { 4151 "enumerant" : "RTN", 4152 "value" : 3, 4153 "capabilities" : [ "Kernel" ] 4154 } 4155 ] 4156 }, 4157 { 4158 "category" : "ValueEnum", 4159 "kind" : "LinkageType", 4160 "enumerants" : [ 4161 { 4162 "enumerant" : "Export", 4163 "value" : 0, 4164 "capabilities" : [ "Linkage" ] 4165 }, 4166 { 4167 "enumerant" : "Import", 4168 "value" : 1, 4169 "capabilities" : [ "Linkage" ] 4170 } 4171 ] 4172 }, 4173 { 4174 "category" : "ValueEnum", 4175 "kind" : "AccessQualifier", 4176 "enumerants" : [ 4177 { 4178 "enumerant" : "ReadOnly", 4179 "value" : 0, 4180 "capabilities" : [ "Kernel" ] 4181 }, 4182 { 4183 "enumerant" : "WriteOnly", 4184 "value" : 1, 4185 "capabilities" : [ "Kernel" ] 4186 }, 4187 { 4188 "enumerant" : "ReadWrite", 4189 "value" : 2, 4190 "capabilities" : [ "Kernel" ] 4191 } 4192 ] 4193 }, 4194 { 4195 "category" : "ValueEnum", 4196 "kind" : "FunctionParameterAttribute", 4197 "enumerants" : [ 4198 { 4199 "enumerant" : "Zext", 4200 "value" : 0, 4201 "capabilities" : [ "Kernel" ] 4202 }, 4203 { 4204 "enumerant" : "Sext", 4205 "value" : 1, 4206 "capabilities" : [ "Kernel" ] 4207 }, 4208 { 4209 "enumerant" : "ByVal", 4210 "value" : 2, 4211 "capabilities" : [ "Kernel" ] 4212 }, 4213 { 4214 "enumerant" : "Sret", 4215 "value" : 3, 4216 "capabilities" : [ "Kernel" ] 4217 }, 4218 { 4219 "enumerant" : "NoAlias", 4220 "value" : 4, 4221 "capabilities" : [ "Kernel" ] 4222 }, 4223 { 4224 "enumerant" : "NoCapture", 4225 "value" : 5, 4226 "capabilities" : [ "Kernel" ] 4227 }, 4228 { 4229 "enumerant" : "NoWrite", 4230 "value" : 6, 4231 "capabilities" : [ "Kernel" ] 4232 }, 4233 { 4234 "enumerant" : "NoReadWrite", 4235 "value" : 7, 4236 "capabilities" : [ "Kernel" ] 4237 } 4238 ] 4239 }, 4240 { 4241 "category" : "ValueEnum", 4242 "kind" : "Decoration", 4243 "enumerants" : [ 4244 { 4245 "enumerant" : "RelaxedPrecision", 4246 "value" : 0, 4247 "capabilities" : [ "Shader" ] 4248 }, 4249 { 4250 "enumerant" : "SpecId", 4251 "value" : 1, 4252 "capabilities" : [ "Shader" ], 4253 "parameters" : [ 4254 { "kind" : "LiteralInteger", "name" : "'Specialization Constant ID'" } 4255 ] 4256 }, 4257 { 4258 "enumerant" : "Block", 4259 "value" : 2, 4260 "capabilities" : [ "Shader" ] 4261 }, 4262 { 4263 "enumerant" : "BufferBlock", 4264 "value" : 3, 4265 "capabilities" : [ "Shader" ] 4266 }, 4267 { 4268 "enumerant" : "RowMajor", 4269 "value" : 4, 4270 "capabilities" : [ "Matrix" ] 4271 }, 4272 { 4273 "enumerant" : "ColMajor", 4274 "value" : 5, 4275 "capabilities" : [ "Matrix" ] 4276 }, 4277 { 4278 "enumerant" : "ArrayStride", 4279 "value" : 6, 4280 "capabilities" : [ "Shader" ], 4281 "parameters" : [ 4282 { "kind" : "LiteralInteger", "name" : "'Array Stride'" } 4283 ] 4284 }, 4285 { 4286 "enumerant" : "MatrixStride", 4287 "value" : 7, 4288 "capabilities" : [ "Matrix" ], 4289 "parameters" : [ 4290 { "kind" : "LiteralInteger", "name" : "'Matrix Stride'" } 4291 ] 4292 }, 4293 { 4294 "enumerant" : "GLSLShared", 4295 "value" : 8, 4296 "capabilities" : [ "Shader" ] 4297 }, 4298 { 4299 "enumerant" : "GLSLPacked", 4300 "value" : 9, 4301 "capabilities" : [ "Shader" ] 4302 }, 4303 { 4304 "enumerant" : "CPacked", 4305 "value" : 10, 4306 "capabilities" : [ "Kernel" ] 4307 }, 4308 { 4309 "enumerant" : "BuiltIn", 4310 "value" : 11, 4311 "parameters" : [ 4312 { "kind" : "BuiltIn" } 4313 ] 4314 }, 4315 { 4316 "enumerant" : "NoPerspective", 4317 "value" : 13, 4318 "capabilities" : [ "Shader" ] 4319 }, 4320 { 4321 "enumerant" : "Flat", 4322 "value" : 14, 4323 "capabilities" : [ "Shader" ] 4324 }, 4325 { 4326 "enumerant" : "Patch", 4327 "value" : 15, 4328 "capabilities" : [ "Tessellation" ] 4329 }, 4330 { 4331 "enumerant" : "Centroid", 4332 "value" : 16, 4333 "capabilities" : [ "Shader" ] 4334 }, 4335 { 4336 "enumerant" : "Sample", 4337 "value" : 17, 4338 "capabilities" : [ "SampleRateShading" ] 4339 }, 4340 { 4341 "enumerant" : "Invariant", 4342 "value" : 18, 4343 "capabilities" : [ "Shader" ] 4344 }, 4345 { 4346 "enumerant" : "Restrict", 4347 "value" : 19 4348 }, 4349 { 4350 "enumerant" : "Aliased", 4351 "value" : 20 4352 }, 4353 { 4354 "enumerant" : "Volatile", 4355 "value" : 21 4356 }, 4357 { 4358 "enumerant" : "Constant", 4359 "value" : 22, 4360 "capabilities" : [ "Kernel" ] 4361 }, 4362 { 4363 "enumerant" : "Coherent", 4364 "value" : 23 4365 }, 4366 { 4367 "enumerant" : "NonWritable", 4368 "value" : 24 4369 }, 4370 { 4371 "enumerant" : "NonReadable", 4372 "value" : 25 4373 }, 4374 { 4375 "enumerant" : "Uniform", 4376 "value" : 26, 4377 "capabilities" : [ "Shader" ] 4378 }, 4379 { 4380 "enumerant" : "SaturatedConversion", 4381 "value" : 28, 4382 "capabilities" : [ "Kernel" ] 4383 }, 4384 { 4385 "enumerant" : "Stream", 4386 "value" : 29, 4387 "capabilities" : [ "GeometryStreams" ], 4388 "parameters" : [ 4389 { "kind" : "LiteralInteger", "name" : "'Stream Number'" } 4390 ] 4391 }, 4392 { 4393 "enumerant" : "Location", 4394 "value" : 30, 4395 "capabilities" : [ "Shader" ], 4396 "parameters" : [ 4397 { "kind" : "LiteralInteger", "name" : "'Location'" } 4398 ] 4399 }, 4400 { 4401 "enumerant" : "Component", 4402 "value" : 31, 4403 "capabilities" : [ "Shader" ], 4404 "parameters" : [ 4405 { "kind" : "LiteralInteger", "name" : "'Component'" } 4406 ] 4407 }, 4408 { 4409 "enumerant" : "Index", 4410 "value" : 32, 4411 "capabilities" : [ "Shader" ], 4412 "parameters" : [ 4413 { "kind" : "LiteralInteger", "name" : "'Index'" } 4414 ] 4415 }, 4416 { 4417 "enumerant" : "Binding", 4418 "value" : 33, 4419 "capabilities" : [ "Shader" ], 4420 "parameters" : [ 4421 { "kind" : "LiteralInteger", "name" : "'Binding Point'" } 4422 ] 4423 }, 4424 { 4425 "enumerant" : "DescriptorSet", 4426 "value" : 34, 4427 "capabilities" : [ "Shader" ], 4428 "parameters" : [ 4429 { "kind" : "LiteralInteger", "name" : "'Descriptor Set'" } 4430 ] 4431 }, 4432 { 4433 "enumerant" : "Offset", 4434 "value" : 35, 4435 "capabilities" : [ "Shader" ], 4436 "parameters" : [ 4437 { "kind" : "LiteralInteger", "name" : "'Byte Offset'" } 4438 ] 4439 }, 4440 { 4441 "enumerant" : "XfbBuffer", 4442 "value" : 36, 4443 "capabilities" : [ "TransformFeedback" ], 4444 "parameters" : [ 4445 { "kind" : "LiteralInteger", "name" : "'XFB Buffer Number'" } 4446 ] 4447 }, 4448 { 4449 "enumerant" : "XfbStride", 4450 "value" : 37, 4451 "capabilities" : [ "TransformFeedback" ], 4452 "parameters" : [ 4453 { "kind" : "LiteralInteger", "name" : "'XFB Stride'" } 4454 ] 4455 }, 4456 { 4457 "enumerant" : "FuncParamAttr", 4458 "value" : 38, 4459 "capabilities" : [ "Kernel" ], 4460 "parameters" : [ 4461 { "kind" : "FunctionParameterAttribute", "name" : "'Function Parameter Attribute'" } 4462 ] 4463 }, 4464 { 4465 "enumerant" : "FPRoundingMode", 4466 "value" : 39, 4467 "capabilities" : [ "Kernel" ], 4468 "parameters" : [ 4469 { "kind" : "FPRoundingMode", "name" : "'Floating-Point Rounding Mode'" } 4470 ] 4471 }, 4472 { 4473 "enumerant" : "FPFastMathMode", 4474 "value" : 40, 4475 "capabilities" : [ "Kernel" ], 4476 "parameters" : [ 4477 { "kind" : "FPFastMathMode", "name" : "'Fast-Math Mode'" } 4478 ] 4479 }, 4480 { 4481 "enumerant" : "LinkageAttributes", 4482 "value" : 41, 4483 "capabilities" : [ "Linkage" ], 4484 "parameters" : [ 4485 { "kind" : "LiteralString", "name" : "'Name'" }, 4486 { "kind" : "LinkageType", "name" : "'Linkage Type'" } 4487 ] 4488 }, 4489 { 4490 "enumerant" : "NoContraction", 4491 "value" : 42, 4492 "capabilities" : [ "Shader" ] 4493 }, 4494 { 4495 "enumerant" : "InputAttachmentIndex", 4496 "value" : 43, 4497 "capabilities" : [ "InputAttachment" ], 4498 "parameters" : [ 4499 { "kind" : "LiteralInteger", "name" : "'Attachment Index'" } 4500 ] 4501 }, 4502 { 4503 "enumerant" : "Alignment", 4504 "value" : 44, 4505 "capabilities" : [ "Kernel" ], 4506 "parameters" : [ 4507 { "kind" : "LiteralInteger", "name" : "'Alignment'" } 4508 ] 4509 } 4510 ] 4511 }, 4512 { 4513 "category" : "ValueEnum", 4514 "kind" : "BuiltIn", 4515 "enumerants" : [ 4516 { 4517 "enumerant" : "Position", 4518 "value" : 0, 4519 "capabilities" : [ "Shader" ] 4520 }, 4521 { 4522 "enumerant" : "PointSize", 4523 "value" : 1, 4524 "capabilities" : [ "Shader" ] 4525 }, 4526 { 4527 "enumerant" : "ClipDistance", 4528 "value" : 3, 4529 "capabilities" : [ "ClipDistance" ] 4530 }, 4531 { 4532 "enumerant" : "CullDistance", 4533 "value" : 4, 4534 "capabilities" : [ "CullDistance" ] 4535 }, 4536 { 4537 "enumerant" : "VertexId", 4538 "value" : 5, 4539 "capabilities" : [ "Shader" ] 4540 }, 4541 { 4542 "enumerant" : "InstanceId", 4543 "value" : 6, 4544 "capabilities" : [ "Shader" ] 4545 }, 4546 { 4547 "enumerant" : "PrimitiveId", 4548 "value" : 7, 4549 "capabilities" : [ "Geometry", "Tessellation" ] 4550 }, 4551 { 4552 "enumerant" : "InvocationId", 4553 "value" : 8, 4554 "capabilities" : [ "Geometry", "Tessellation" ] 4555 }, 4556 { 4557 "enumerant" : "Layer", 4558 "value" : 9, 4559 "capabilities" : [ "Geometry" ] 4560 }, 4561 { 4562 "enumerant" : "ViewportIndex", 4563 "value" : 10, 4564 "capabilities" : [ "MultiViewport" ] 4565 }, 4566 { 4567 "enumerant" : "TessLevelOuter", 4568 "value" : 11, 4569 "capabilities" : [ "Tessellation" ] 4570 }, 4571 { 4572 "enumerant" : "TessLevelInner", 4573 "value" : 12, 4574 "capabilities" : [ "Tessellation" ] 4575 }, 4576 { 4577 "enumerant" : "TessCoord", 4578 "value" : 13, 4579 "capabilities" : [ "Tessellation" ] 4580 }, 4581 { 4582 "enumerant" : "PatchVertices", 4583 "value" : 14, 4584 "capabilities" : [ "Tessellation" ] 4585 }, 4586 { 4587 "enumerant" : "FragCoord", 4588 "value" : 15, 4589 "capabilities" : [ "Shader" ] 4590 }, 4591 { 4592 "enumerant" : "PointCoord", 4593 "value" : 16, 4594 "capabilities" : [ "Shader" ] 4595 }, 4596 { 4597 "enumerant" : "FrontFacing", 4598 "value" : 17, 4599 "capabilities" : [ "Shader" ] 4600 }, 4601 { 4602 "enumerant" : "SampleId", 4603 "value" : 18, 4604 "capabilities" : [ "SampleRateShading" ] 4605 }, 4606 { 4607 "enumerant" : "SamplePosition", 4608 "value" : 19, 4609 "capabilities" : [ "SampleRateShading" ] 4610 }, 4611 { 4612 "enumerant" : "SampleMask", 4613 "value" : 20, 4614 "capabilities" : [ "SampleRateShading" ] 4615 }, 4616 { 4617 "enumerant" : "FragDepth", 4618 "value" : 22, 4619 "capabilities" : [ "Shader" ] 4620 }, 4621 { 4622 "enumerant" : "HelperInvocation", 4623 "value" : 23, 4624 "capabilities" : [ "Shader" ] 4625 }, 4626 { 4627 "enumerant" : "NumWorkgroups", 4628 "value" : 24 4629 }, 4630 { 4631 "enumerant" : "WorkgroupSize", 4632 "value" : 25 4633 }, 4634 { 4635 "enumerant" : "WorkgroupId", 4636 "value" : 26 4637 }, 4638 { 4639 "enumerant" : "LocalInvocationId", 4640 "value" : 27 4641 }, 4642 { 4643 "enumerant" : "GlobalInvocationId", 4644 "value" : 28 4645 }, 4646 { 4647 "enumerant" : "LocalInvocationIndex", 4648 "value" : 29 4649 }, 4650 { 4651 "enumerant" : "WorkDim", 4652 "value" : 30, 4653 "capabilities" : [ "Kernel" ] 4654 }, 4655 { 4656 "enumerant" : "GlobalSize", 4657 "value" : 31, 4658 "capabilities" : [ "Kernel" ] 4659 }, 4660 { 4661 "enumerant" : "EnqueuedWorkgroupSize", 4662 "value" : 32, 4663 "capabilities" : [ "Kernel" ] 4664 }, 4665 { 4666 "enumerant" : "GlobalOffset", 4667 "value" : 33, 4668 "capabilities" : [ "Kernel" ] 4669 }, 4670 { 4671 "enumerant" : "GlobalLinearId", 4672 "value" : 34, 4673 "capabilities" : [ "Kernel" ] 4674 }, 4675 { 4676 "enumerant" : "SubgroupSize", 4677 "value" : 36, 4678 "capabilities" : [ "Kernel" ] 4679 }, 4680 { 4681 "enumerant" : "SubgroupMaxSize", 4682 "value" : 37, 4683 "capabilities" : [ "Kernel" ] 4684 }, 4685 { 4686 "enumerant" : "NumSubgroups", 4687 "value" : 38, 4688 "capabilities" : [ "Kernel" ] 4689 }, 4690 { 4691 "enumerant" : "NumEnqueuedSubgroups", 4692 "value" : 39, 4693 "capabilities" : [ "Kernel" ] 4694 }, 4695 { 4696 "enumerant" : "SubgroupId", 4697 "value" : 40, 4698 "capabilities" : [ "Kernel" ] 4699 }, 4700 { 4701 "enumerant" : "SubgroupLocalInvocationId", 4702 "value" : 41, 4703 "capabilities" : [ "Kernel" ] 4704 }, 4705 { 4706 "enumerant" : "VertexIndex", 4707 "value" : 42, 4708 "capabilities" : [ "Shader" ] 4709 }, 4710 { 4711 "enumerant" : "InstanceIndex", 4712 "value" : 43, 4713 "capabilities" : [ "Shader" ] 4714 }, 4715 { 4716 "enumerant" : "SubgroupEqMaskKHR", 4717 "value" : 4416, 4718 "capabilities" : [ "SubgroupBallotKHR" ] 4719 }, 4720 { 4721 "enumerant" : "SubgroupGeMaskKHR", 4722 "value" : 4417, 4723 "capabilities" : [ "SubgroupBallotKHR" ] 4724 }, 4725 { 4726 "enumerant" : "SubgroupGtMaskKHR", 4727 "value" : 4418, 4728 "capabilities" : [ "SubgroupBallotKHR" ] 4729 }, 4730 { 4731 "enumerant" : "SubgroupLeMaskKHR", 4732 "value" : 4419, 4733 "capabilities" : [ "SubgroupBallotKHR" ] 4734 }, 4735 { 4736 "enumerant" : "SubgroupLtMaskKHR", 4737 "value" : 4420, 4738 "capabilities" : [ "SubgroupBallotKHR" ] 4739 }, 4740 { 4741 "enumerant" : "BaseVertex", 4742 "value" : 4424, 4743 "capabilities" : [ "DrawParameters" ] 4744 }, 4745 { 4746 "enumerant" : "BaseInstance", 4747 "value" : 4425, 4748 "capabilities" : [ "DrawParameters" ] 4749 }, 4750 { 4751 "enumerant" : "DrawIndex", 4752 "value" : 4426, 4753 "capabilities" : [ "DrawParameters" ] 4754 } 4755 ] 4756 }, 4757 { 4758 "category" : "ValueEnum", 4759 "kind" : "Scope", 4760 "enumerants" : [ 4761 { 4762 "enumerant" : "CrossDevice", 4763 "value" : 0 4764 }, 4765 { 4766 "enumerant" : "Device", 4767 "value" : 1 4768 }, 4769 { 4770 "enumerant" : "Workgroup", 4771 "value" : 2 4772 }, 4773 { 4774 "enumerant" : "Subgroup", 4775 "value" : 3 4776 }, 4777 { 4778 "enumerant" : "Invocation", 4779 "value" : 4 4780 } 4781 ] 4782 }, 4783 { 4784 "category" : "ValueEnum", 4785 "kind" : "GroupOperation", 4786 "enumerants" : [ 4787 { 4788 "enumerant" : "Reduce", 4789 "value" : 0, 4790 "capabilities" : [ "Kernel" ] 4791 }, 4792 { 4793 "enumerant" : "InclusiveScan", 4794 "value" : 1, 4795 "capabilities" : [ "Kernel" ] 4796 }, 4797 { 4798 "enumerant" : "ExclusiveScan", 4799 "value" : 2, 4800 "capabilities" : [ "Kernel" ] 4801 } 4802 ] 4803 }, 4804 { 4805 "category" : "ValueEnum", 4806 "kind" : "KernelEnqueueFlags", 4807 "enumerants" : [ 4808 { 4809 "enumerant" : "NoWait", 4810 "value" : 0, 4811 "capabilities" : [ "Kernel" ] 4812 }, 4813 { 4814 "enumerant" : "WaitKernel", 4815 "value" : 1, 4816 "capabilities" : [ "Kernel" ] 4817 }, 4818 { 4819 "enumerant" : "WaitWorkGroup", 4820 "value" : 2, 4821 "capabilities" : [ "Kernel" ] 4822 } 4823 ] 4824 }, 4825 { 4826 "category" : "ValueEnum", 4827 "kind" : "Capability", 4828 "enumerants" : [ 4829 { 4830 "enumerant" : "Matrix", 4831 "value" : 0 4832 }, 4833 { 4834 "enumerant" : "Shader", 4835 "value" : 1, 4836 "capabilities" : [ "Matrix" ] 4837 }, 4838 { 4839 "enumerant" : "Geometry", 4840 "value" : 2, 4841 "capabilities" : [ "Shader" ] 4842 }, 4843 { 4844 "enumerant" : "Tessellation", 4845 "value" : 3, 4846 "capabilities" : [ "Shader" ] 4847 }, 4848 { 4849 "enumerant" : "Addresses", 4850 "value" : 4 4851 }, 4852 { 4853 "enumerant" : "Linkage", 4854 "value" : 5 4855 }, 4856 { 4857 "enumerant" : "Kernel", 4858 "value" : 6 4859 }, 4860 { 4861 "enumerant" : "Vector16", 4862 "value" : 7, 4863 "capabilities" : [ "Kernel" ] 4864 }, 4865 { 4866 "enumerant" : "Float16Buffer", 4867 "value" : 8, 4868 "capabilities" : [ "Kernel" ] 4869 }, 4870 { 4871 "enumerant" : "Float16", 4872 "value" : 9 4873 }, 4874 { 4875 "enumerant" : "Float64", 4876 "value" : 10 4877 }, 4878 { 4879 "enumerant" : "Int64", 4880 "value" : 11 4881 }, 4882 { 4883 "enumerant" : "Int64Atomics", 4884 "value" : 12, 4885 "capabilities" : [ "Int64" ] 4886 }, 4887 { 4888 "enumerant" : "ImageBasic", 4889 "value" : 13, 4890 "capabilities" : [ "Kernel" ] 4891 }, 4892 { 4893 "enumerant" : "ImageReadWrite", 4894 "value" : 14, 4895 "capabilities" : [ "ImageBasic" ] 4896 }, 4897 { 4898 "enumerant" : "ImageMipmap", 4899 "value" : 15, 4900 "capabilities" : [ "ImageBasic" ] 4901 }, 4902 { 4903 "enumerant" : "Pipes", 4904 "value" : 17, 4905 "capabilities" : [ "Kernel" ] 4906 }, 4907 { 4908 "enumerant" : "Groups", 4909 "value" : 18 4910 }, 4911 { 4912 "enumerant" : "DeviceEnqueue", 4913 "value" : 19, 4914 "capabilities" : [ "Kernel" ] 4915 }, 4916 { 4917 "enumerant" : "LiteralSampler", 4918 "value" : 20, 4919 "capabilities" : [ "Kernel" ] 4920 }, 4921 { 4922 "enumerant" : "AtomicStorage", 4923 "value" : 21, 4924 "capabilities" : [ "Shader" ] 4925 }, 4926 { 4927 "enumerant" : "Int16", 4928 "value" : 22 4929 }, 4930 { 4931 "enumerant" : "TessellationPointSize", 4932 "value" : 23, 4933 "capabilities" : [ "Tessellation" ] 4934 }, 4935 { 4936 "enumerant" : "GeometryPointSize", 4937 "value" : 24, 4938 "capabilities" : [ "Geometry" ] 4939 }, 4940 { 4941 "enumerant" : "ImageGatherExtended", 4942 "value" : 25, 4943 "capabilities" : [ "Shader" ] 4944 }, 4945 { 4946 "enumerant" : "StorageImageMultisample", 4947 "value" : 27, 4948 "capabilities" : [ "Shader" ] 4949 }, 4950 { 4951 "enumerant" : "UniformBufferArrayDynamicIndexing", 4952 "value" : 28, 4953 "capabilities" : [ "Shader" ] 4954 }, 4955 { 4956 "enumerant" : "SampledImageArrayDynamicIndexing", 4957 "value" : 29, 4958 "capabilities" : [ "Shader" ] 4959 }, 4960 { 4961 "enumerant" : "StorageBufferArrayDynamicIndexing", 4962 "value" : 30, 4963 "capabilities" : [ "Shader" ] 4964 }, 4965 { 4966 "enumerant" : "StorageImageArrayDynamicIndexing", 4967 "value" : 31, 4968 "capabilities" : [ "Shader" ] 4969 }, 4970 { 4971 "enumerant" : "ClipDistance", 4972 "value" : 32, 4973 "capabilities" : [ "Shader" ] 4974 }, 4975 { 4976 "enumerant" : "CullDistance", 4977 "value" : 33, 4978 "capabilities" : [ "Shader" ] 4979 }, 4980 { 4981 "enumerant" : "ImageCubeArray", 4982 "value" : 34, 4983 "capabilities" : [ "SampledCubeArray" ] 4984 }, 4985 { 4986 "enumerant" : "SampleRateShading", 4987 "value" : 35, 4988 "capabilities" : [ "Shader" ] 4989 }, 4990 { 4991 "enumerant" : "ImageRect", 4992 "value" : 36, 4993 "capabilities" : [ "SampledRect" ] 4994 }, 4995 { 4996 "enumerant" : "SampledRect", 4997 "value" : 37, 4998 "capabilities" : [ "Shader" ] 4999 }, 5000 { 5001 "enumerant" : "GenericPointer", 5002 "value" : 38, 5003 "capabilities" : [ "Addresses" ] 5004 }, 5005 { 5006 "enumerant" : "Int8", 5007 "value" : 39, 5008 "capabilities" : [ "Kernel" ] 5009 }, 5010 { 5011 "enumerant" : "InputAttachment", 5012 "value" : 40, 5013 "capabilities" : [ "Shader" ] 5014 }, 5015 { 5016 "enumerant" : "SparseResidency", 5017 "value" : 41, 5018 "capabilities" : [ "Shader" ] 5019 }, 5020 { 5021 "enumerant" : "MinLod", 5022 "value" : 42, 5023 "capabilities" : [ "Shader" ] 5024 }, 5025 { 5026 "enumerant" : "Sampled1D", 5027 "value" : 43 5028 }, 5029 { 5030 "enumerant" : "Image1D", 5031 "value" : 44, 5032 "capabilities" : [ "Sampled1D" ] 5033 }, 5034 { 5035 "enumerant" : "SampledCubeArray", 5036 "value" : 45, 5037 "capabilities" : [ "Shader" ] 5038 }, 5039 { 5040 "enumerant" : "SampledBuffer", 5041 "value" : 46 5042 }, 5043 { 5044 "enumerant" : "ImageBuffer", 5045 "value" : 47, 5046 "capabilities" : [ "SampledBuffer" ] 5047 }, 5048 { 5049 "enumerant" : "ImageMSArray", 5050 "value" : 48, 5051 "capabilities" : [ "Shader" ] 5052 }, 5053 { 5054 "enumerant" : "StorageImageExtendedFormats", 5055 "value" : 49, 5056 "capabilities" : [ "Shader" ] 5057 }, 5058 { 5059 "enumerant" : "ImageQuery", 5060 "value" : 50, 5061 "capabilities" : [ "Shader" ] 5062 }, 5063 { 5064 "enumerant" : "DerivativeControl", 5065 "value" : 51, 5066 "capabilities" : [ "Shader" ] 5067 }, 5068 { 5069 "enumerant" : "InterpolationFunction", 5070 "value" : 52, 5071 "capabilities" : [ "Shader" ] 5072 }, 5073 { 5074 "enumerant" : "TransformFeedback", 5075 "value" : 53, 5076 "capabilities" : [ "Shader" ] 5077 }, 5078 { 5079 "enumerant" : "GeometryStreams", 5080 "value" : 54, 5081 "capabilities" : [ "Geometry" ] 5082 }, 5083 { 5084 "enumerant" : "StorageImageReadWithoutFormat", 5085 "value" : 55, 5086 "capabilities" : [ "Shader" ] 5087 }, 5088 { 5089 "enumerant" : "StorageImageWriteWithoutFormat", 5090 "value" : 56, 5091 "capabilities" : [ "Shader" ] 5092 }, 5093 { 5094 "enumerant" : "MultiViewport", 5095 "value" : 57, 5096 "capabilities" : [ "Geometry" ] 5097 }, 5098 { 5099 "enumerant" : "SubgroupBallotKHR", 5100 "value" : 4423, 5101 "extensions" : [ "SPV_KHR_shader_ballot" ] 5102 }, 5103 { 5104 "enumerant" : "DrawParameters", 5105 "value" : 4427, 5106 "extensions" : [ "SPV_KHR_shader_draw_parameters" ] 5107 } 5108 ] 5109 }, 5110 { 5111 "category" : "Id", 5112 "kind" : "IdResultType", 5113 "doc" : "Reference to an <id> representing the result's type of the enclosing instruction" 5114 }, 5115 { 5116 "category" : "Id", 5117 "kind" : "IdResult", 5118 "doc" : "Definition of an <id> representing the result of the enclosing instruction" 5119 }, 5120 { 5121 "category" : "Id", 5122 "kind" : "IdMemorySemantics", 5123 "doc" : "Reference to an <id> representing a 32-bit integer that is a mask from the MemorySemantics operand kind" 5124 }, 5125 { 5126 "category" : "Id", 5127 "kind" : "IdScope", 5128 "doc" : "Reference to an <id> representing a 32-bit integer that is a mask from the Scope operand kind" 5129 }, 5130 { 5131 "category" : "Id", 5132 "kind" : "IdRef", 5133 "doc" : "Reference to an <id>" 5134 }, 5135 { 5136 "category" : "Literal", 5137 "kind" : "LiteralInteger", 5138 "doc" : "An integer consuming one or more words" 5139 }, 5140 { 5141 "category" : "Literal", 5142 "kind" : "LiteralString", 5143 "doc" : "A null-terminated stream of characters consuming an integral number of words" 5144 }, 5145 { 5146 "category" : "Literal", 5147 "kind" : "LiteralContextDependentNumber", 5148 "doc" : "A literal number whose size and format are determined by a previous operand in the enclosing instruction" 5149 }, 5150 { 5151 "category" : "Literal", 5152 "kind" : "LiteralExtInstInteger", 5153 "doc" : "A 32-bit unsigned integer indicating which instruction to use and determining the layout of following operands (for OpExtInst)" 5154 }, 5155 { 5156 "category" : "Literal", 5157 "kind" : "LiteralSpecConstantOpInteger", 5158 "doc" : "An opcode indicating the operation to be performed and determining the layout of following operands (for OpSpecConstantOp)" 5159 }, 5160 { 5161 "category" : "Composite", 5162 "kind" : "PairLiteralIntegerIdRef", 5163 "bases" : [ "LiteralInteger", "IdRef" ] 5164 }, 5165 { 5166 "category" : "Composite", 5167 "kind" : "PairIdRefLiteralInteger", 5168 "bases" : [ "IdRef", "LiteralInteger" ] 5169 }, 5170 { 5171 "category" : "Composite", 5172 "kind" : "PairIdRefIdRef", 5173 "bases" : [ "IdRef", "IdRef" ] 5174 } 5175 ] 5176 } 5177