Jump to content


Why OpenGL Updates Take Forever and Why Vulkan Might be Coming After All

opengl vulkan osx.

  • Please log in to reply
24 replies to this topic

#1 Sneaky Snake

Sneaky Snake

    Official Mascot of the 1988 Winter Olympics

  • IMG Writers
  • 3299 posts
  • Steam Name:SneakySnake
  • Steam ID:sneaky_snake
  • Location:Waterloo, Canada

Posted 14 January 2016 - 12:10 PM

So the following is the result of an exchange between myself and a redditor by the name of lgroeni. He explains why OpenGL updates take forever and why there's actually a really good chance that Vulkan will be coming to OS X:

Quote:
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.
Roughly speaking, this puts Metal in the same position as DirectX on Windows, and should allow them to build out OpenGL (or Vulkan) without it impacting the core OS.
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.
so, tl;dr: it's pretty easy to see that they're in a far better position to support OpenGL/Vulkan now that they have Metal.
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.
2015 13" rMBP: i5 5257U @ 2.7 GHz || Intel Iris 6100 || 8 GB LPDDR3 1866 || 256 GB SSD || macOS Sierra
Gaming Build: R5 1600 @ 3.9 GHz || Asus GTX 1070 8 GB || 16 GB DDR4 3000 || 960 Evo NVMe, 1 TB FireCuda || Win10 Pro
Other: Dell OptiPlex 3040 as VMware host || QNAP TS-228 NAS || iPhone 6S 64GB

#2 macdude22

macdude22

    Like, totally awesome.

  • Forum Moderators
  • PipPipPipPipPipPip
  • 2040 posts
  • Steam Name:Rakden
  • Location:Iowa
  • Pro Member:Yes

Posted 14 January 2016 - 12:24 PM

Posted Image
IMG Discord Server | http://raptr.com/rakden | http://www.trueachie....com/Rakden.htm
Enterprise (MacPro 3,1): 8 Xeon Cores @ 2.8 GHz || 14 GB RAM || Radeon 4870 || 480GB Crucial M500 + 2TB WD Black (Fusion Drive) || 144hz Asus Mon
Defiant (MacBookPro 9,1): Core i7 @ 2.3ghz || 8GB RAM || nVidia GT 650M 512MB || 512GB Toshiba SSD

#3 Frigidman™

Frigidman™

    Eye Sea Yew

  • Admin
  • 4265 posts
  • Steam ID:frigidman
  • Location:East mahn, East!
  • Pro Member:Yes

Posted 14 January 2016 - 12:38 PM

Posted Image

-Fm [1oM7]
"I'm not incorruptible, I am so corrupt nothing you can offer me is tempting." - Alfred Bester


#4 Thain Esh Kelch

Thain Esh Kelch

    Admin

  • Members
  • PipPipPipPipPipPipPipPip
  • 3803 posts
  • Steam ID:thaineshkelch
  • Location:Denmark

Posted 14 January 2016 - 03:01 PM

Posted Image
"They're everywhere!" -And now, time for some Legend of Zelda.

iMac 2011, quad 3,4Ghz i7, 1TB Samsung EVO 840, 8GB RAM, 2GB Radeon 6970m. + 2016 Macbook m3 + iPad 2 64GB + iPhone 4S 64GB + Girlfriend + Daughter

#5 DirtyHarry50

DirtyHarry50

    Special Snowflake

  • Members
  • PipPipPipPipPipPip
  • 1555 posts
  • Steam Name:DirtyHarry
  • Steam ID:dirtyharry2
  • Location:North Carolina, USA

Posted 14 January 2016 - 08:02 PM

I don't buy that.

Of what benefit to Apple's strategy moving forward is investing anything at all in other APIs? The poster fails completely to address that key issue. That something is possible to do does not in any way imply a valid reason for doing it. Does anyone really believe that Apple would bother with any of this for what, to support Windows games being ported to OS X? Seriously?

I guess we'll see but this idiot thinks differently about this topic.

EDIT: since the above sentence was misunderstood by at least one person, just to clarify what I mistakenly thought would be understood, I was talking about me being the idiot that thinks differently than the quoted person in the reddit post who referred to my point of view as being idiotic. So I was admittedly being a wee bit snarky but I was only calling myself that name not anyone else. I don't think the guy is an idiot but I don't agree with him including his choice to regard those disagreeing with him as having idiotic points of view. Hopefully what I meant is crystal clear now.
“The time you enjoy wasting is not wasted time.” — Bertrand Russell

#6 macdude22

macdude22

    Like, totally awesome.

  • Forum Moderators
  • PipPipPipPipPipPip
  • 2040 posts
  • Steam Name:Rakden
  • Location:Iowa
  • Pro Member:Yes

Posted 14 January 2016 - 09:03 PM

Sir, I say sir could you rephrase that in meme form?
IMG Discord Server | http://raptr.com/rakden | http://www.trueachie....com/Rakden.htm
Enterprise (MacPro 3,1): 8 Xeon Cores @ 2.8 GHz || 14 GB RAM || Radeon 4870 || 480GB Crucial M500 + 2TB WD Black (Fusion Drive) || 144hz Asus Mon
Defiant (MacBookPro 9,1): Core i7 @ 2.3ghz || 8GB RAM || nVidia GT 650M 512MB || 512GB Toshiba SSD

#7 Matt Diamond

Matt Diamond

    Master Blaster

  • IMG Writers
  • 2460 posts
  • Location:Holland, PA; US
  • Pro Member:Yes

Posted 14 January 2016 - 09:14 PM

The point about removing desktop dependency on OpenGL is interesting. But by that same logic, wouldn't investment in Metal then proceed at a crawl?

FWIW I'm running nVidia OpenGL drivers at the moment, not Apple's. The fact that they exist supports the argument, but nVidia's frequent updates have yet to destroy my desktop, which runs counter to the argument.

It feels like idle speculation to me. There's no evidence for it that I see, just "it could happen".
Matt Diamond - www.mindthecube.com
Measure twice, cut once, curse three or four times.

#8 jeannot

jeannot

    Notorious

  • Members
  • PipPipPip
  • 246 posts

Posted 15 January 2016 - 01:24 AM

View PostMatt Diamond, on 14 January 2016 - 09:14 PM, said:

The point about removing desktop dependency on OpenGL is interesting. But by that same logic, wouldn't investment in Metal then proceed at a crawl?

FWIW I'm running nVidia OpenGL drivers at the moment, not Apple's. The fact that they exist supports the argument, but nVidia's frequent updates have yet to destroy my desktop, which runs counter to the argument.

It feels like idle speculation to me. There's no evidence for it that I see, just "it could happen".
The nVidia OS X drivers don't change the openGL framework that is provided by Apple. That's why these drivers cannot implement their own updated openGL version like they do on Linux and Windows. Some of their recent drivers still broke Aperture (yellow rectangles instead of photos).

I agree with the OP that Apple doesn't have to invest in Vulkan or OpenGL if OS X uses Metal for the graphic pipeline (note that Metal is in effect only on Macs with Intel GPUs. The rest still relies on OpenGL). Just like MS didn't have to do anything to have Vulkan on Windows.

I just feel that:
- GPU vendors won't have the incentive to do it without Apple pushing them
- Apple may in fact prevent them from doing so (to promote Metal).

So far, there is no evidence that Apple is interested in any way in Vulkan. The Apple logo was notably absent from all Vulkan presentations I've seen recently. If we don't see any sign of Vulkan at the next WWDC, it will say it all. No Vulkan for us.

#9 Janichsan

Janichsan

    Jugger Bugger

  • Forum Moderators
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 8087 posts
  • Steam Name:Janichsan
  • Location:over there

Posted 15 January 2016 - 01:36 AM

I share the sentiment that I don't believe a single word of that explanation.

For one, updating OpenGL from the current 4.1 to the modern 4.5 wouldn't break anything. It's a fundamental part of OpenGL's design philosophy that adding new features do not change anything to the already existing ones. OGL 4.5 is fully compatible to 4.1. The added features are called "extensions" for a reason. The only version revision that wasn't fully backwards compatible was OpenGL 3.0. The only thing that could break already implemented OpenGL features are changes to their driver implementation.

Secondly, the claim that Apple's changes to the graphics stack for Metal would make an implementation of Vulkan easier makes no sense. Switching the middleman between the high level graphics libraries (e.g. Quartz) and the underlying hardware will always be the same amount of work, no matter if it's from OpenGL to Metal, or OpenGL to Vulkan, or Metal to Vulkan.

"We do what we must, because we can."
"Gaming on a Mac is like women on the internet." — "Highly common and totally awesome?"


#10 Sneaky Snake

Sneaky Snake

    Official Mascot of the 1988 Winter Olympics

  • IMG Writers
  • 3299 posts
  • Steam Name:SneakySnake
  • Steam ID:sneaky_snake
  • Location:Waterloo, Canada

Posted 15 January 2016 - 09:14 AM

View PostMatt Diamond, on 14 January 2016 - 09:14 PM, said:

The point about removing desktop dependency on OpenGL is interesting. But by that same logic, wouldn't investment in Metal then proceed at a crawl?

FWIW I'm running nVidia OpenGL drivers at the moment, not Apple's. The fact that they exist supports the argument, but nVidia's frequent updates have yet to destroy my desktop, which runs counter to the argument.

It feels like idle speculation to me. There's no evidence for it that I see, just "it could happen".

Assuming you are running El Capitan [and are running off of intel integrated] then I believe your desktop is running off of Metal, not OpenGL

EDIT: Intel iGPU only for Metal, as pointed out below
2015 13" rMBP: i5 5257U @ 2.7 GHz || Intel Iris 6100 || 8 GB LPDDR3 1866 || 256 GB SSD || macOS Sierra
Gaming Build: R5 1600 @ 3.9 GHz || Asus GTX 1070 8 GB || 16 GB DDR4 3000 || 960 Evo NVMe, 1 TB FireCuda || Win10 Pro
Other: Dell OptiPlex 3040 as VMware host || QNAP TS-228 NAS || iPhone 6S 64GB

#11 Sneaky Snake

Sneaky Snake

    Official Mascot of the 1988 Winter Olympics

  • IMG Writers
  • 3299 posts
  • Steam Name:SneakySnake
  • Steam ID:sneaky_snake
  • Location:Waterloo, Canada

Posted 15 January 2016 - 09:23 AM

View PostDirtyHarry50, on 14 January 2016 - 08:02 PM, said:

Does anyone really believe that Apple would bother with any of this for what, to support Windows games being ported to OS X? Seriously?

That's not really the point of Vulkan. The primary benefit will be to take advantage of NEW games/applications that are being developed using Vulkan. It has nothing to do with Windows.

Fast forward to 2017 and assume that Vulkan has caught on with the majority of the gaming industry: new games are designed to utilize Vulkan, not DirectX. As such there is no 'port' required. The application will simply work on OS X. The only reason that porting games was required in the past was because the game was designed first for DirectX and then Feral/Aspyr had to port it to OpenGL later.

Obviously, I'm mega-simplifying the process of a game coming to both Windows and OS X (and Linux) if it was using Vulkan - it's more complicated then just "make game using Vulkan and simultaneous release on Linux/OSX/Windows" but I think you get my idea.

Another scenario that probably makes more sense is what if the new Adobe applications start to utilize Vulkan in order to leverage more processing power? Aperture is being discontinued by Apple, so now creative professionals are essentially forced to look towards other applications, such as Adobe Lightroom and such. I can see creative professionals being very upset if Apple decides to not support Vulkan and then in a few years time Adobe users on Windows can utilize more power via Vulkan, whereas Mac users cannot.

Also, I don't think calling the guy an 'idiot' is really very productive. He's clearly an intelligent person with intelligent ideas. He just takes the opposite side of the fence of this issue.
2015 13" rMBP: i5 5257U @ 2.7 GHz || Intel Iris 6100 || 8 GB LPDDR3 1866 || 256 GB SSD || macOS Sierra
Gaming Build: R5 1600 @ 3.9 GHz || Asus GTX 1070 8 GB || 16 GB DDR4 3000 || 960 Evo NVMe, 1 TB FireCuda || Win10 Pro
Other: Dell OptiPlex 3040 as VMware host || QNAP TS-228 NAS || iPhone 6S 64GB

#12 MichalM.Mac

MichalM.Mac

    Heroic

  • Members
  • PipPipPipPip
  • 263 posts
  • Steam Name:michalmmac
  • Steam ID:michalmmac

Posted 15 January 2016 - 09:24 AM

View PostSneaky Snake, on 15 January 2016 - 09:14 AM, said:

Assuming you are running El Capitan then I believe your desktop is running off of Metal, not OpenGL

WindowServer running on metal is enabled currently only for Intel graphics in 10.11 (HD4000+). AMD/NVidia still running on OpenGL.

#13 DirtyHarry50

DirtyHarry50

    Special Snowflake

  • Members
  • PipPipPipPipPipPip
  • 1555 posts
  • Steam Name:DirtyHarry
  • Steam ID:dirtyharry2
  • Location:North Carolina, USA

Posted 15 January 2016 - 10:31 AM

View PostSneaky Snake, on 15 January 2016 - 09:23 AM, said:

Fast forward to 2017 and assume that Vulkan has caught on with the majority of the gaming industry: new games are designed to utilize Vulkan, not DirectX.

Also, I don't think calling the guy an 'idiot' is really very productive. He's clearly an intelligent person with intelligent ideas. He just takes the opposite side of the fence of this issue.

I was referring to myself as an idiot in reference to his comment that my view of this is idiotic. If you review his post you will see him make that remark in what you quoted. I'm not going where he did stating other people's views are idiotic, only that I myself am an idiot for having the view I do. I added clarification to my post as I'm not in the habit of calling people names other than myself sometimes. Well, maybe in traffic or something but not in discussions. :innocent:

I think to assume that in 2017 any other API is going to replace DirectX on Windows and XBox is quite a stretch personally. So the rest of that just doesn't add up for me.

View PostMichalM.Mac, on 15 January 2016 - 09:24 AM, said:

WindowServer running on metal is enabled currently only for Intel graphics in 10.11 (HD4000+). AMD/NVidia still running on OpenGL.

No wonder my desktop wallpaper is getting such terrible FPS! Damn Apple always dragging their feet and favoring iOS all the time.
“The time you enjoy wasting is not wasted time.” — Bertrand Russell

#14 Sneaky Snake

Sneaky Snake

    Official Mascot of the 1988 Winter Olympics

  • IMG Writers
  • 3299 posts
  • Steam Name:SneakySnake
  • Steam ID:sneaky_snake
  • Location:Waterloo, Canada

Posted 15 January 2016 - 10:34 AM

View PostDirtyHarry50, on 15 January 2016 - 10:31 AM, said:

I was referring to myself as an idiot in reference to his comment that someone who sees things as I do is an idiot. If you review his post you will see him make that remark in what you quoted. I'm not going where he did calling anyone else an idiot, only myself. :innocent:

I think to assume that in 2017 any other API is going to replace DirectX on Windows and XBox is quite a stretch personally. So the rest of that just doesn't add up for me.

Ah I see, my mistake.

The Xbox will definitely stay with DirectX and the core API for Windows will certainly stay with DirectX. There's nothing stopping developers from using whatever API they want though.

DirectX, OpenGL, Mantle, and Vulkan will all be supported in Windows, so devs can choose to use whatever they want.
2015 13" rMBP: i5 5257U @ 2.7 GHz || Intel Iris 6100 || 8 GB LPDDR3 1866 || 256 GB SSD || macOS Sierra
Gaming Build: R5 1600 @ 3.9 GHz || Asus GTX 1070 8 GB || 16 GB DDR4 3000 || 960 Evo NVMe, 1 TB FireCuda || Win10 Pro
Other: Dell OptiPlex 3040 as VMware host || QNAP TS-228 NAS || iPhone 6S 64GB

#15 macdude22

macdude22

    Like, totally awesome.

  • Forum Moderators
  • PipPipPipPipPipPip
  • 2040 posts
  • Steam Name:Rakden
  • Location:Iowa
  • Pro Member:Yes

Posted 15 January 2016 - 10:38 AM

RNGesus post more memes people.

The argument made for the lack of OpenGL updates seems somewhat plausible. However it seems a stretch to think that Apple will make any effort to implement Vulcan now that they have Metal on iOS and Mac OS. 10.12 really will be the point where speculation becomes reality. If we are to see an OpenGL update or Vulkan implementation that will be when it will occur. If there are no OpenGL or Vulkan updates at that point it's a pretty good bet Metal is their roadmap forward.

Right now t hey are pushing Metal heavily for graphics and compute power in both games and applications within the developer portal.
IMG Discord Server | http://raptr.com/rakden | http://www.trueachie....com/Rakden.htm
Enterprise (MacPro 3,1): 8 Xeon Cores @ 2.8 GHz || 14 GB RAM || Radeon 4870 || 480GB Crucial M500 + 2TB WD Black (Fusion Drive) || 144hz Asus Mon
Defiant (MacBookPro 9,1): Core i7 @ 2.3ghz || 8GB RAM || nVidia GT 650M 512MB || 512GB Toshiba SSD

#16 DirtyHarry50

DirtyHarry50

    Special Snowflake

  • Members
  • PipPipPipPipPipPip
  • 1555 posts
  • Steam Name:DirtyHarry
  • Steam ID:dirtyharry2
  • Location:North Carolina, USA

Posted 15 January 2016 - 10:51 AM

View PostSneaky Snake, on 15 January 2016 - 10:34 AM, said:

Ah I see, my mistake.

The Xbox will definitely stay with DirectX and the core API for Windows will certainly stay with DirectX. There's nothing stopping developers from using whatever API they want though.

DirectX, OpenGL, Mantle, and Vulkan will all be supported in Windows, so devs can choose to use whatever they want.

I would not argue that point with you but I just don't see the benefit of deviating from a firmly entrenched standard that also is used in one of the leading consoles.

I guess I should add that OpenGL and Vulkan both come across to me as being linux like ideals of open standards that don't really have an ice cube's chance in hell ultimately in a world where the largest players are already invested in their own proprietary solutions. In fact, when these companies support such open source initiatives I think it is often because they can take what they learn from the experience, best ideas if you will and incorporate some of them into their own technology. I don't think they do it necessarily because they embrace open standards.
“The time you enjoy wasting is not wasted time.” — Bertrand Russell

#17 jeannot

jeannot

    Notorious

  • Members
  • PipPipPip
  • 246 posts

Posted 15 January 2016 - 11:05 AM

View PostSneaky Snake, on 15 January 2016 - 09:14 AM, said:

Assuming you are running El Capitan then I believe your desktop is running off of Metal, not OpenGL
Only if you have an intel GPU.
(EDIT: beaten :cool: )

#18 Janichsan

Janichsan

    Jugger Bugger

  • Forum Moderators
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 8087 posts
  • Steam Name:Janichsan
  • Location:over there

Posted 15 January 2016 - 12:26 PM

View PostSneaky Snake, on 15 January 2016 - 09:23 AM, said:

Another scenario that probably makes more sense is what if the new Adobe applications start to utilize Vulkan in order to leverage more processing power? Aperture is being discontinued by Apple, so now creative professionals are essentially forced to look towards other applications, such as Adobe Lightroom and such. I can see creative professionals being very upset if Apple decides to not support Vulkan and then in a few years time Adobe users on Windows can utilize more power via Vulkan, whereas Mac users cannot.
Adobe has stated plans to support Metal, already during the WWDC. So far, they haven't updated their applications in that way yet.

View Postjeannot, on 15 January 2016 - 11:05 AM, said:

Only if you have an intel GPU.
(EDIT: beaten :cool: )
...that is not too old. Only GPUs from 2012 and later are supported by Metal.

"We do what we must, because we can."
"Gaming on a Mac is like women on the internet." — "Highly common and totally awesome?"


#19 Sneaky Snake

Sneaky Snake

    Official Mascot of the 1988 Winter Olympics

  • IMG Writers
  • 3299 posts
  • Steam Name:SneakySnake
  • Steam ID:sneaky_snake
  • Location:Waterloo, Canada

Posted 15 January 2016 - 12:57 PM

View PostJanichsan, on 15 January 2016 - 12:26 PM, said:

Adobe has stated plans to support Metal, already during the WWDC. So far, they haven't updated their applications in that way yet.

Apparently they are backpedaling now on Metal support, saying it's "one possibility".

Quote

"We are currently exploring various technologies for GPU acceleration, and Metal is one possibility, but we have made no commitment to any specific GPU acceleration technology at this time."

2015 13" rMBP: i5 5257U @ 2.7 GHz || Intel Iris 6100 || 8 GB LPDDR3 1866 || 256 GB SSD || macOS Sierra
Gaming Build: R5 1600 @ 3.9 GHz || Asus GTX 1070 8 GB || 16 GB DDR4 3000 || 960 Evo NVMe, 1 TB FireCuda || Win10 Pro
Other: Dell OptiPlex 3040 as VMware host || QNAP TS-228 NAS || iPhone 6S 64GB

#20 Janichsan

Janichsan

    Jugger Bugger

  • Forum Moderators
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 8087 posts
  • Steam Name:Janichsan
  • Location:over there

Posted 15 January 2016 - 01:45 PM

View PostSneaky Snake, on 15 January 2016 - 12:57 PM, said:

Read that article all the way. They backpedaled from the backpedaling.

"We do what we must, because we can."
"Gaming on a Mac is like women on the internet." — "Highly common and totally awesome?"






Also tagged with one or more of these keywords: opengl, vulkan, osx.