Commit 4ada51d
committed
Enable Metal ICB path on Apple Watch (S4+/Apple5)
The prepass rework dropped watchOS from the ICB gating along with the
splice-era OS-version gates, but watchOS support was genuine hardware
capability, not a splice workaround. Restore it.
Validated end-to-end on Apple Watch SE 2 (S8 SiP, watchOS 11.6): the GPU
reports "Apple S4 GPU", supports the Apple5 family, and an indirect
command buffer GPU-generated by the multi-draw generation kernel renders
correctly via executeCommandsInBuffer: (readback + visual).
objc2-metal exposes no MTLFeatureSet::watchOS_* values, so the feature-set
table can't cover watchOS, and watchOS classifies as OsType::Ios here with
no watchos key in family_check; the watch is therefore detected purely by
GPU family, folded into icb_family_support behind available!(watchos =
11.0) (false on every other platform). watchOS 11 is the floor for the
same reason iOS/iPadOS/tvOS 17.x are excluded: earlier drivers mishandle
the render-ICB path.1 parent 7b2115d commit 4ada51d
1 file changed
Lines changed: 19 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
727 | 727 | | |
728 | 728 | | |
729 | 729 | | |
730 | | - | |
731 | | - | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
| 733 | + | |
| 734 | + | |
| 735 | + | |
| 736 | + | |
| 737 | + | |
| 738 | + | |
| 739 | + | |
732 | 740 | | |
733 | 741 | | |
734 | 742 | | |
| |||
737 | 745 | | |
738 | 746 | | |
739 | 747 | | |
740 | | - | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
741 | 757 | | |
742 | 758 | | |
743 | 759 | | |
| |||
0 commit comments