Fear not, OpenGL will get Mantle like love from AMD as well

Lorien

Supreme [H]ardness
Joined
Aug 19, 2004
Messages
5,197
Further debunking the alarmist FUD some less educated people have been spreading, AMD sets the record straight with their plans on exposing Mantle like improvements through OpenGL extensions of their own.
http://www.dsogaming.com/news/amd-aims-to-give-opengl-a-big-boost-api-wont-be-the-bottleneck/

Well, you gotta love AMD and its engineers. Mantle looks – in paper – amazing, however that’s not the only thing the red team is currently working on. According to Graham Sellers, OpenGL guy at AMD, the red team will be supporting this open API with some high performance extensions that will offer almost similar performance to AMD’s upcoming API, Mantle.
As Sellers claimed, AMD aims to expose all of the hardware of their GPUs with these upcoming high performance extensions of OpenGL, and gamers will be able to get close to theoretical peak and performance. Not only that, but Sellers claimed that games using the modern versions of OpenGL won’t be bottlenecked by the API anymore, meaning that gamers will hit HW limits first.

NtOcPkh.png
 
Why do people have such a hard time grasping what AMD is doing here. Graham had to basically repeat himself 3 times, and I'm still not sure they got it.
 

OK then (sorry).

According to AMD the devs have been complaining for years that Dx is terribly inefficient and holds them back in game development for the PC. They lamented that the console API's, with more direct access to the hardware allowed for better performance than they could get on the PC. Estimates vary on the difference, but it apparently is substantial. Mantle is designed to give the devs direct access to the hardware, bypassing the overhead of Dx. The reason AMD has seen the opportunity to implement it now, is because their GPU's, which share the same GCN architecture as PC's, are in all of the new consoles that are coming out. So, they have simply added the low level API use from the consoles to their PC hardware. They are banking on the fact that devs will already be using it on consoles so the effort to port it to PC will be minimal.
 
Well, that's what I thought.

The good solution to the problem is -- as I've stated before -- to improve OpenGL, not add a new vendor-specific API. If the perfomance can be had from OpenGL, then the performance argument goes away from Mantle. That was the only argument that carried any weight.

I don't think Graham Sellers is on the same side as the Mantle-fanboys here.
 
OpenGL direct HW extensions, ME LIKES!

Looks like this will be as close to a "lean" OpenGL driver as you can get. I can see some nice libraries being developed to take standard functions and optimize them through direct HW calls at a fraction of the overhead associated with standard functions while still being 100% compatible to baseline OpenCL. :)
 
OK then (sorry).

According to AMD the devs have been complaining for years that Dx is terribly inefficient and holds them back in game development for the PC.
Non AMD folks have said this as well. John Carmack is one that immediately comes to mind.
 
Very good news :) It makes me happy to see that after having been stuck in limbo for eons during the 2.x days OpenGL is now growing by leaps and bounds, leaving competing APIs in its wake.
 
Well, that's what I thought.

The good solution to the problem is -- as I've stated before -- to improve OpenGL, not add a new vendor-specific API. If the perfomance can be had from OpenGL, then the performance argument goes away from Mantle. That was the only argument that carried any weight.

I don't think Graham Sellers is on the same side as the Mantle-fanboys here.

Not to rain on your parade but you do realize this is the OpenGL guy saying this and not the entire software team? Don't you think if this is where they are headed they would have done a lot of this already? Their OpenGL drivers have sucked for a long time and they've promised this kind of thing before with OpenGL. I can guarantee they will be focusing more on Mantle, at least in the short term. That being said there might be more to it now that the PS4 has AMD graphics and uses FreeBSD/OpenGL...so we'll just have to wait and see.
 
Further debunking the alarmist FUD some less educated people have been spreading, AMD sets the record straight with their plans on exposing Mantle like improvements through OpenGL extensions of their own.

Excellent! Now we get better use of our hardware resources for the few games that use OpenGL too! :D

Hopefully SteamOS will give some incentive creating more OpenGL games. :)
 
Isn't this how OpenGL has always worked? Official releases of the OpenGL specs are often outpaced by hardware features so the hardware is exposed via extensions. http://www.opengl.org/documentation/extensions/

I don't think that tweet means what you think it means. He's just covering their ass in terms of people saying they will abandon OpenGL updates in favor of Mantle or DX.
 
Not to rain on your parade but you do realize this is the OpenGL guy saying this and not the entire software team? Don't you think if this is where they are headed they would have done a lot of this already? Their OpenGL drivers have sucked for a long time and they've promised this kind of thing before with OpenGL. I can guarantee they will be focusing more on Mantle, at least in the short term. That being said there might be more to it now that the PS4 has AMD graphics and uses FreeBSD/OpenGL...so we'll just have to wait and see.

the "AMD OpenGL sucks" i thought died years ago when AMD did some major improvements to it..?
 
Excellent! Now we get better use of our hardware resources for the few games that use OpenGL too! :D

Hopefully SteamOS will give some incentive creating more OpenGL games. :)

I game on mac so I can only play OpenGL games, about 1/3rd of steam games run on mac so their are quite a lot of games put their that support OpenGL.
 
Not to rain on your parade but you do realize this is the OpenGL guy saying this and not the entire software team? Don't you think if this is where they are headed they would have done a lot of this already? Their OpenGL drivers have sucked for a long time and they've promised this kind of thing before with OpenGL. I can guarantee they will be focusing more on Mantle, at least in the short term.

Exactly! That's the problem. They're going to waste their limited resources on this dead end.
 
OK then (sorry).

According to AMD the devs have been complaining for years that Dx is terribly inefficient and holds them back in game development for the PC. They lamented that the console API's, with more direct access to the hardware allowed for better performance than they could get on the PC. Estimates vary on the difference, but it apparently is substantial. Mantle is designed to give the devs direct access to the hardware, bypassing the overhead of Dx. The reason AMD has seen the opportunity to implement it now, is because their GPU's, which share the same GCN architecture as PC's, are in all of the new consoles that are coming out. So, they have simply added the low level API use from the consoles to their PC hardware. They are banking on the fact that devs will already be using it on consoles so the effort to port it to PC will be minimal.

And it was addressed with DX10... somewhat. Part of the problem is that it doesn't scale. DX11's threaded rendering is not in a very good spot, support for it is optional and both IHV's seemingly handle it like shit. On a console maybe you'll have 6 threads crunching away at that stuff, whereas on PC you just get this single heavy load that you get to just brute force through (which certainly hurts more on AMD where the individual cores are weaker). This is a bitch on OGL as well from my limited understanding on it.

OpenGL direct HW extensions, ME LIKES!

Looks like this will be as close to a "lean" OpenGL driver as you can get. I can see some nice libraries being developed to take standard functions and optimize them through direct HW calls at a fraction of the overhead associated with standard functions while still being 100% compatible to baseline OpenCL. :)

NV already has several (which I think require HW support) specific extensions for themselves, like NV_bindless_*
 
I game on mac so I can only play OpenGL games, about 1/3rd of steam games run on mac so their are quite a lot of games put their that support OpenGL.

I think we are talking about two different things. :)

When I say few OpenGL games, I mean few games that support OpenGL ingame. Steam uses a dynamic translator with their ported games, so DX is translated to OpenGL on-the-fly. The games themselves are not OpenGL. Here you can see from Linux how they did it:

http://ubuntuxtreme.com/opinions/how-steam-ports-games-in-linux/

As I said, I hope that SteamOS might give more incentive creating more OpenGL games. Most games are made for DX and only a few have OpenGL support.
 
Well first AMD would have to make OpenGL drivers that don't suck, but that's been proven to be quite a challenge for them so far. Maybe they can call up Intel and get some pointers.

The second thing is that if they can get OpenGL + extensions to perform as well as Mantle, then Mantle isn't as low-level an API as it was initially billed. I kind of see this as the disparate, super-high level rhetoric that seems so common from AMD (both GPU and CPU sides). Lots of platitudes, not a lot of details. And action never seems to materialize in accord with that rhetoric. Don't worry, they're stilllllll workin' on those OpenGL drivers!

I can see them making an extension to support unified memory but that's kind of meaningless for those of us who have discrete cards.

Though if you read carefully Sellers never really said these extensions are going to be comparable to Mantle. Plus he made that comment the day of Mantle's announcement, so no doubt he was speaking off the cuff (he probably learned of it the same day as the rest of us). He did say he's going to try to expose as much of the GPU through OGL extensions. That's all. And that's pretty ordinary run-of-the-mill GPU business.
 
Thats for the Linux drivers.

OpenGL on windows is pretty good.

AMD only have 3 people working on the linux drivers so the Linux drivers are pretty shit.

Well yes but if you aren't going to write for linux too then what's the point in using OpenGL ? You can just as well go with DirectX
 
Mantle will allow seamless porting from consoles without problems. Games wont run like trash if ported over. They are just doing opengl extensions just in case a developer decides to not use mantle. Most likely it wont be 100% as smooth as mantle though. Most big games will support mantle anyways.
 
Well yes but if you aren't going to write for linux too then what's the point in using OpenGL ? You can just as well go with DirectX

Why? So that you can be slower, less portable and gated in which version you can use by Microsoft? Sounds swell.

There's just a lot of inertia around Direct3D/X that needs to be overcome. It's bad for the industry. This isn't new, but now is a great time to walk away from it. No doubt part of that is the sorry state of OpenGL drivers on some of these platforms. I just wish the IHVs would work on that problem instead.
 
On a console maybe you'll have 6 threads crunching away at that stuff, whereas on PC you just get this single heavy load that you get to just brute force through (which certainly hurts more on AMD where the individual cores are weaker). This is a bitch on OGL as well from my limited understanding on it.

It is, generally you can only talk to the API from the thread that created the context, or at least from one thread at a time (you need to make the context 'current' on the one thread doing the talkin'), which essentially means you've got to queue up all requests on one CPU.

Though I'm not up to date on the latest and greatest, I know they're trying to solve this but it's not a solved problem.
 
Great! New OGL capabilities for all those game that use OGL!
 
OK then (sorry).

According to AMD the devs have been complaining for years that Dx is terribly inefficient and holds them back in game development for the PC. They lamented that the console API's, with more direct access to the hardware allowed for better performance than they could get on the PC. Estimates vary on the difference, but it apparently is substantial. Mantle is designed to give the devs direct access to the hardware, bypassing the overhead of Dx. The reason AMD has seen the opportunity to implement it now, is because their GPU's, which share the same GCN architecture as PC's, are in all of the new consoles that are coming out. So, they have simply added the low level API use from the consoles to their PC hardware. They are banking on the fact that devs will already be using it on consoles so the effort to port it to PC will be minimal.

Ok, great.

What happens when AMD changes the underlying HW architecture, and the assumptions made in software about the hardware design is no longer true? Will games stop working? Performance loss?

That's the point of higher level API's: You accept a performance loss in order to ensure compatibility.
 
It is, generally you can only talk to the API from the thread that created the context, or at least from one thread at a time (you need to make the context 'current' on the one thread doing the talkin'), which essentially means you've got to queue up all requests on one CPU.

Though I'm not up to date on the latest and greatest, I know they're trying to solve this but it's not a solved problem.

DX11 allows multithreaded rendering, and you see it used a LOT in Crysis3/BF3.
 
What was the point of Mantle again?

To make porting Xbox One and PS4 games over to PC as easy as taking a dump, cause PS4 and Xbone will use Mantle regardless anyway.

BTW, custom OpenGL extensions aren't anything new, and are likely to cause the same trouble as they used too in the past. Much like Glide, custom OpenGL extensions only worked on specific hardware. Just as Nvidia, they abused this all too often.

Just look at Doom 3, which had like a plethora of code paths for graphic cards. For those remembering how to tweak Doom 3 back in 2004 using the doomconfig.cfg file.

These used Nvidia's custom OpenGL extensions.
NV10
NV20


Specially made for R200 chips were the R200 code path, and yes ATI does have custom extensions. The only extensions that didn't was ARB2, and that was pure OpenGL. Both Nvidia and AMD use each others extensions for compatibility. but Nvidia was the king of OpenGL, and always had better performance because of custom extensions. But because we've been stuck in DirectX land for nearly 10 years, there hasn't been custom extensions from either vendor for some time.
 
Well yes but if you aren't going to write for linux too then what's the point in using OpenGL ? You can just as well go with DirectX
Because many people have Macs, which means there is quite a big unexplored market that could net big profits to the companies. :D
 
As I understood it (from a few years ago I admit) MS & a few others effectively sabotaged OpenGL with in-fighting and other bullshit. Has this changed?

Even though SteamBox went with NV in their prototype boxes its still good news for linux gaming.
 
I game on mac so I can only play OpenGL games, about 1/3rd of steam games run on mac so their are quite a lot of games put their that support OpenGL.

Everything from now on will support OpenGL except Microsoft exclusives. DirectX is fading.
 
Why do people have such a hard time grasping what AMD is doing here. Graham had to basically repeat himself 3 times, and I'm still not sure they got it.

It's because what he is saying doesn't make sense.

He says they are exposing the hardware directly to avoid API limitations, yet he also says they are doing so through an API...

Opening up the platform to direct hardware calls, and encouraging cross platform developers to use those direct calls is inevitably going to hurt compatibility/performance on non AMD hardware, which sounds like it is what they are counting on.

How this works out in practice will remain to be seen, but it looks a lot like AMD trying to leverage their contract wins for all the next gen consoles to boost their performance and steal market share in PC's.

IN the process it could damage the true competitive hardware independence that we enjoy on PC's today, and take us back to the bad old days of games optimized for one piece of hardware vs. another.

We'll have to see though. I have to admit I am very skeptical of this move.
 
Ok, great.

What happens when AMD changes the underlying HW architecture, and the assumptions made in software about the hardware design is no longer true? Will games stop working? Performance loss?

That's the point of higher level API's: You accept a performance loss in order to ensure compatibility.

Exactly, not to mention the benefits of competition in the market with other hardware vendors. While with this "mantle" performance of console ports on AMD hardware might go up, simultaneously I would expect performance to go down on Intel IGP's and Nvidia hardware.

IMHO, I used to praise AMD for their superior business practices, but now it looks like they are taking a page from Intels book and using their dominance in one field (upcoming console GPU's) to get an unfair advantage in a different one (PC GPU's).

This is rather alarming to me, and if true, I wouldn't be surprised if it goes to court.
 
Back
Top