....
Apple developed Metal to leverage features of their AX GPUs for new iOS application, giving Apple an edge over Android.
There is a major tight coupling aspect to the increasingly ( now total) Apple implementation GPUs. ( Metal's FP64 'hole' for instance.)
However, that is somewhat in a vacuum of what others were doing. Nvidia, Microsoft, and Google were not 100% behind OpenCL in that time period. Nvidia pulled some "embrace , extended, extinguish" moves on OpenCL to free up more breathing space for CUDA. Microsoft has/had their own compute variant. Google was pushing Renderscript earlier on in Android development.
Similarly "Open GL next" was mired in Kronos committee up until AMD contributed Mantle. If AMD hasn't given them something concrete to converge on they might still be lost in the woods. It wasn't just Apple on the "forked" solutions path.
One of the substantive contributing issues why Apple moved to Metal was time. Didn't have time for the large , slower evolution committees to figure out a "Open" solution which wouldn't be heartily adopted by everyone else .
Metal isn't going to give the Mac any avantage over Windows PC.
But Macs do have a "large enough" critical mass. Mac's cross the 100M active deployed mark a while back. Windows was a viable ecosystem when it had 100M users. There is little reason Macs would not be a viable ecosystem with the same number. Throw as iPad Pro subset of iPadOS on top of that 100M and it is all the more a sustainable ecosystem. Some app developers can choose to ignore, but they will be passing up revenue.
Macs coupling to the higher iOS/iPadOS growth will generally help far more than Macs adding a Win32 sidecar to the Mac stack. Macs don't have to "feature match" Windows blow for blow to "win".
MacOS major advantage over Windows has been more stable, more secure (or at least, less attacked) , and more "just works". Apple destabilizing macOS is a bigger flaw than anything they are doing with Metal vs other stuff.
I Apple excecs think that, they are idiots. I understand why Metal exists for cross-compatibility with iOS and as a framework that Apple can use on macOS, but why Apple doesn't allow other APIs like openGL and Vulkan (as opposed to Microsoft's approach) is beyond me and I hate when they do that. It's anti-consumer.
OpenGL has been allowed for a long time on macOS. It is deprecated now, but "allowed" being problematical is a future problem that is probably at least a year or two out. The problem for OpenGL is that standard is mostly going into zombie mode. Apple doesn't deal with zombie mode standards all that well at the forefront of the library ( lower level unix stuff like shells , tty , command line stuff are relatively worked with well but that isn't the core of every basic macOS app either. ). The rush to Apple ARM may be part of the rush to shove OpenGL off the cliff. If so, they yeah that probably won't help the Mac Pro + iMac Pro side of the ecosystem.
OpenCL might get a reprieve on macOS. OpenCL 3.0 is largely a retreat back to OpenCL 1.2 ( which Apple already has so...... so why get rid of it? If the 2.0 parts that Apple didn't like are now far more optional in OpenCL 3.0 they'll just not implement them can still can claim OpenCL 3.0 implementation. I wouldn't be surprised if Apple canceled the OpenCL deprecation at the upcoming WWDC 2020. There may be some narrow aspect(s) of the required core that Apple scoffs at but that is a 'pill' they should just go ahead and swallow. If they don't that will be a blow to some of the more heavily computation focused workloads that already put in OpenCL port work. ). If Apple still walks away from OpenCL with the shift back to 1.2 then it probably isn't as much about Metal or competing with Windows as it is just being cheap ( tossing more coin into the Scrooge McDuck money pit. ). There is a decent chance they'll take that path.
Vulkan ( and Metal and the other similar contemporaries ) are more so aimed at framework developers than at application developers. If a game engine is ported to Metal then all the apps that sit on top of that game engine come relatively easily come along also. Apple's bigger 'fail' with Metal is more so that their sales pitch is more so you should port your OpenGL app calls to Metal "it is easy". The big mismatch is tons of basic apps don't need that kind of low level control. There is a bigger dust up there than in the Vulkan targeting framework layers. The problem with Vulkan and Metal is that have two 'cooks' in an even smaller kitchen. The closer to running on the 'raw iron' you get the more likely going to get into conflicts of "who is in charge" when have multiple users of the same single resource. The metrics where there is a single app at a time that takes over the entire screen aren't the core issue. Nor really the classic normal mode of a modern era Mac ( since move to the Mach based Mac OS X - macOS ).
If the GPU hardware vendors don't pick up the "shared control" work then it probably will be limited in some ways. It isn't so much that Apple has to do the work. They need to have a driver stack API design that allows that work to be passed to the GPU hardware vendors. The catch-22 is that would be a bigger larger driver for the GPU hardware vendors which probably both Apple ( more responsibly pushed out) and vendors ( more work for a limited growth market). Both sides would have less work to do if limited to just Metal ( which isn't going away).
Where Apple more so appears to be missing the boat is a level up from Metal/vulkan at the more common app framework level. There are some gaming applications engines ported to Metal. Lightweight apps are porting on top of HTML ( and hence Webkit) but a big chunk of the stuff in the middle I think is being under served. I think that is far more fragmented than Apple wants to acknowledge.