So here's the thing: Up until El Capitan (although possibly Yosemite) all UI drawing went through OpenGL - any issues in the OpenGL stack has the potential to break the entire desktop. So as a result their entire graphics architecture was designed to favor stability/robustness/uniformity over features and performance. Features that require low-level changes (e.g., core profile support) to GL become exponentially harder to validate in those situations, as it means having to ensure that using the feature doesn't break not only 1) other graphics code, but also 2) existing applications.
This is, in my opinion, the #1 reason why it takes them so long to support new versions of OpenGL. Nvidia and AMD don't have to worry about this on either Linux or Windows - they can change / break whatever they want without any real consequence, but Apple simply can't. This is also a large part of why they (historically) were responsible for the OpenGL implementation - any vendor specific behavior on the part of Nvidia/AMD/Intel has the potential to break not just games, but the entire desktop.
As a side note: Nvidia has been shipping their own OpenGL drivers for OS X for a little while, and I know AMD has a team working on OS X OpenGL drivers too. I'll come back to this in a moment.
There are two significant consequences for shifting to Metal on OS X:
- Metal - their proprietary API that they support + define, and are able to validate - has replaced OpenGL as critical OS dependency. This moves OpenGL further away from the core OS and (in theory) removes the requirements that led to it's stagnation.
- Implicit in supporting Metal alongside OpenGL is that they now have an abstraction at a very low level in their graphics stack that they can use to build support for multiple graphics APIs. So, whereas before the graphics stack was basically their proprietary OpenGL client/server talking directly to a graphics card, they now (necessarily) have an abstraction above the graphics card that is responsible for mediating between several graphics APIs.
On the hypothetical end, this means:
- Their graphics stack is more likely to support Vulkan now that it supports Metal, not less. Architecturally, a lot of the hard work that would have been required to support Vulkan has already been done to support Metal.
- Since OpenGL is no longer "critical infrastructure", they could quite easily either formally allow gpu vendors to ship their own OpenGL support, or fully transition OpenGL support over to gpu vendors.
Taking all of that in stride, this at least partially explains a lack of significant updates to OpenGL support. It's pretty clear that they chose to direct engineering resources at architectural problems instead of simply adding new features.
Unfortunately, this still leaves the question of if they will support Vulkan or (further) update OpenGL. I honestly don't know - and few, if any, people outside Apple know that. But Apple has put in a lot of effort over the last decade to support open graphics standards, so simply saying that they're going to abandon it for Metal is idiotic at best. Apple's love of proprietary standards hasn't stopped them from shipping the best OpenGL ES platform on the market, or fromcreating OpenCL. They've been lagging a bit in recent times on OS X, but it's a bit unfair to think it's malice or greed driving it.
I wouldn't be too shocked to see Vulkan launch with the next OS released after the specification is released. I also wouldn't be shocked if we get Vulkan support before we get OpenGL 4.5 support. But that's just my own theorizing.