OpenGL is a dead end - while vendors (including Apple) still support their respective GL stacks, there is not really active investment anymore either in those stacks or in the standards.
Metal came out years before Vulkan, and Apple has tight integration between the graphics API and their underlying first-party graphics hardware designs. If Apple did have first party support for Vulkan, it would basically be MoltenVK anyway. Apple tends to push anything which isn't a first party framework to be third-party sourced and bundled as much as they can. They likely think MoltenVK as a third party library is the best scenario for Vulkan support.
My understanding is still that Metal was released on iOS months before AMD's Mantle API was accepted as the start of Vulkan work.
cool, now try two monitors https://www.kensington.com/en-au/news-index---blogs--press-c...
My personal Mini M1 can't handle two DP over USB-C displays but can handle one DP over USB-C + one USB-C to HDMI. I also wish the two USB-A ports were USB-C as well.
4K60 monitor? cool, it gets DP1.2. So MST means dropping to 1440p or 1080p resolution (splitting DP1.2 across two monitors).
crappy dell office monitor? it gets DP1.1, so MST means dropping to 720p or 540p.
absolutely no company in their right mind is going to haul off and put a DP1.4 in a bottom-shelf monitor or whatever, such that MST actually had extra resolution to play with. So the only places it matters are (a) stocktrader type people who want 8 monitors and don't care about visual quality/running non-native resolution, and (b) office situations and other places where the ability to run a single cable is more important than visual quality.
so de-facto nobody has ever cared about MST, and docks fill this use-case much better. Thunderbolt/USB4 doesn't care about what monitor controller board is behind it. It just cares that you have one DP1.4 stream and the dock can allocate that into as many physical ports as the dock physically allows. Have the bandwidth but need more ports? Cool, just daisychain more docks/adapters.
(and this does work on m1 pro/max btw - this guy for example did eventually find a dock that worked for him.)
https://www.derekseaman.com/2021/11/my-journey-for-dual-disp...
--
the big gotcha with M1 is really that the base M1 is actually a crossover chip between high-performance tablet/ultraportable laptop and so Apple doesn't want to waste the space for multiple PHYs that won't be used. So it gets 1x HDMI PHY (normally used for the internal screen, on tablets/laptops) and 1x DP PHY for an external monitor. The Pro/Max support 2 and 3 external displays respectively.
I do agree this is a major limitation on the "just buy macbook air" approach, although you can use displaylink (video compression+USB+active adapter) or use an ultrawide monitor (it's a fast connection, you just only get 1 of them). In particular the 15" MBA really needed a "Pro" CPU option like the Mac Mini family, because that's actually a very nice ultrabook other than the single display, and I absolutely think the chassis is big enough to handle it for normal "interactive" use-cases (not bulk video processing/etc).
And of course the 13" MBP doesn't get one either but lol fuck that thing anyway, let the touch bar/old-style chassis die already please
I don't think it's hard to understand. Apple wanted an easy to use API that could be extended and updated easily. Vulkan is an extremely complex API that foregoes all and any developer ergonomy to facilitate quick driver development on as many hardware targets as possible. Consequently, Vulkan's design choices are driven by the least common denominator. The goals are just too different.
There is at least some evidence that Apple was interested in supporting and shaping Vulkan (they were member of the initial working group), but I suspect that it very quickly became clear that the committee is going into a direction they were not interested in, so they noted out.
Still, I don't think it's correct that Apple is opposing any kind of standardisation in this domain, they just want something more aligned with their vision. They have been very active with WebGPU, which is shaping up to be a very nice API, and it has inherited a lot of good design decisions from Metal.
WebGPU specifically has to be the lowest common denominator among the APIs it supports. And there are several features very useful in GPGPU's which are supported in Vulkan and CUDA, but cannot be included in WebGPU due to the lack of Metal support. One such example is floating point atomics.
Regarding floating point atomics, I think you got it confused? Metal fully supports floating atomics on all recent devices, while in Vulkan it’s an optional extension. According to gpuinfo database only 30% of implementations support float atomics, and only 10% support more advanced operations like min/max. If you are looking for cross-platform float atomics support, Apple is the least of your worries (what they suck at are 64-bit int atomics though).
On the other hand I'm sitting here typing on a Mac with nothing but USB-C ports that is connected to half a dozen peripherals and a big ol' monitor over those standard ports using standard protocols.
In general I feel that Apple prefers open standards when they actually suffice. USB2 couldn't do a lot of the things that Lightning did, so they invented that. Now that USB-C exists, they embraced it immediately on the Mac and iPad but are unfortunately dragging their feet w.r.t. the iPhone.