Commit 70af80b
committed
Fix IEqual/INotEqual signedness check and add cooperative type support
The SPIR-V spec for IEqual/INotEqual only requires matching component
width and component count, allowing operands of different signedness.
The previous check required exact type ID match, rejecting valid SPIR-V
like comparing signed i32 with unsigned u32.
Also add cooperative matrix (KHR/NV) and cooperative vector NV type
support to arithmetic and logical comparison rules, matching the C++
validator's behavior.1 parent 45f5b4f commit 70af80b
File tree
3 files changed
+114
-16
lines changed- rust/spirv-tools-core/src/validation
- rules
- tests
3 files changed
+114
-16
lines changedLines changed: 14 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
68 | 68 | | |
69 | 69 | | |
70 | 70 | | |
71 | | - | |
| 71 | + | |
72 | 72 | | |
73 | 73 | | |
| 74 | + | |
74 | 75 | | |
75 | 76 | | |
76 | 77 | | |
| |||
199 | 200 | | |
200 | 201 | | |
201 | 202 | | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
202 | 209 | | |
203 | 210 | | |
204 | 211 | | |
| |||
215 | 222 | | |
216 | 223 | | |
217 | 224 | | |
218 | | - | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
219 | 231 | | |
220 | 232 | | |
221 | 233 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
348 | 348 | | |
349 | 349 | | |
350 | 350 | | |
351 | | - | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
352 | 355 | | |
353 | 356 | | |
354 | 357 | | |
| |||
368 | 371 | | |
369 | 372 | | |
370 | 373 | | |
371 | | - | |
372 | | - | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
373 | 380 | | |
374 | 381 | | |
375 | 382 | | |
| |||
614 | 621 | | |
615 | 622 | | |
616 | 623 | | |
617 | | - | |
618 | | - | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
619 | 629 | | |
620 | 630 | | |
621 | 631 | | |
| |||
632 | 642 | | |
633 | 643 | | |
634 | 644 | | |
635 | | - | |
636 | | - | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
637 | 650 | | |
638 | 651 | | |
639 | 652 | | |
| |||
670 | 683 | | |
671 | 684 | | |
672 | 685 | | |
673 | | - | |
| 686 | + | |
674 | 687 | | |
675 | 688 | | |
676 | 689 | | |
| |||
690 | 703 | | |
691 | 704 | | |
692 | 705 | | |
693 | | - | |
694 | | - | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
695 | 715 | | |
696 | 716 | | |
697 | 717 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
598 | 598 | | |
599 | 599 | | |
600 | 600 | | |
601 | | - | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
602 | 668 | | |
603 | 669 | | |
604 | 670 | | |
| |||
619 | 685 | | |
620 | 686 | | |
621 | 687 | | |
622 | | - | |
| 688 | + | |
623 | 689 | | |
624 | 690 | | |
625 | 691 | | |
626 | 692 | | |
627 | 693 | | |
628 | 694 | | |
629 | | - | |
| 695 | + | |
630 | 696 | | |
631 | 697 | | |
632 | 698 | | |
633 | 699 | | |
634 | 700 | | |
635 | | - | |
| 701 | + | |
636 | 702 | | |
637 | 703 | | |
638 | 704 | | |
| |||
0 commit comments