| 428 | } |
| 429 | |
| 430 | bool spvOpcodeIsNonUniformGroupOperation(spv::Op opcode) { |
| 431 | switch (opcode) { |
| 432 | case spv::Op::OpGroupNonUniformElect: |
| 433 | case spv::Op::OpGroupNonUniformAll: |
| 434 | case spv::Op::OpGroupNonUniformAny: |
| 435 | case spv::Op::OpGroupNonUniformAllEqual: |
| 436 | case spv::Op::OpGroupNonUniformBroadcast: |
| 437 | case spv::Op::OpGroupNonUniformBroadcastFirst: |
| 438 | case spv::Op::OpGroupNonUniformBallot: |
| 439 | case spv::Op::OpGroupNonUniformInverseBallot: |
| 440 | case spv::Op::OpGroupNonUniformBallotBitExtract: |
| 441 | case spv::Op::OpGroupNonUniformBallotBitCount: |
| 442 | case spv::Op::OpGroupNonUniformBallotFindLSB: |
| 443 | case spv::Op::OpGroupNonUniformBallotFindMSB: |
| 444 | case spv::Op::OpGroupNonUniformShuffle: |
| 445 | case spv::Op::OpGroupNonUniformShuffleXor: |
| 446 | case spv::Op::OpGroupNonUniformShuffleUp: |
| 447 | case spv::Op::OpGroupNonUniformShuffleDown: |
| 448 | case spv::Op::OpGroupNonUniformIAdd: |
| 449 | case spv::Op::OpGroupNonUniformFAdd: |
| 450 | case spv::Op::OpGroupNonUniformIMul: |
| 451 | case spv::Op::OpGroupNonUniformFMul: |
| 452 | case spv::Op::OpGroupNonUniformSMin: |
| 453 | case spv::Op::OpGroupNonUniformUMin: |
| 454 | case spv::Op::OpGroupNonUniformFMin: |
| 455 | case spv::Op::OpGroupNonUniformSMax: |
| 456 | case spv::Op::OpGroupNonUniformUMax: |
| 457 | case spv::Op::OpGroupNonUniformFMax: |
| 458 | case spv::Op::OpGroupNonUniformBitwiseAnd: |
| 459 | case spv::Op::OpGroupNonUniformBitwiseOr: |
| 460 | case spv::Op::OpGroupNonUniformBitwiseXor: |
| 461 | case spv::Op::OpGroupNonUniformLogicalAnd: |
| 462 | case spv::Op::OpGroupNonUniformLogicalOr: |
| 463 | case spv::Op::OpGroupNonUniformLogicalXor: |
| 464 | case spv::Op::OpGroupNonUniformQuadBroadcast: |
| 465 | case spv::Op::OpGroupNonUniformQuadSwap: |
| 466 | case spv::Op::OpGroupNonUniformRotateKHR: |
| 467 | case spv::Op::OpGroupNonUniformQuadAllKHR: |
| 468 | case spv::Op::OpGroupNonUniformQuadAnyKHR: |
| 469 | return true; |
| 470 | default: |
| 471 | return false; |
| 472 | } |
| 473 | } |
| 474 | |
| 475 | bool spvOpcodeIsScalarizable(spv::Op opcode) { |
| 476 | switch (opcode) { |
no outgoing calls
no test coverage detected