How much influence did Mantle have on Vulkan/DX12?

Page 4 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

Piroko

Senior member
Jan 10, 2013
905
79
91
How? The implication is that Andersson was the brain behind Mantle, and that he was responsible for pressing IHVs to come up with a low level API for PC. AMD was the only one that listened and took his proposal seriously, and for that they deserve credit. Not sure how DX12 fits into all of this, because DX12 was definitely in development before Mantle released. So AMD would have known that Mantle would be short lived because the release of DX12 was imminent.
Proposal: We should build a dam spanning three gorges in China. There, I just built the three gorges dam in china with one sentence. That's not a silly argument, it's exactly the hole you try to cover between several trips to Silicon Valley to work out proposals in meetings between AMD and Andersson (your source, that's why I said you should read all of it) and actually building an API that has some several hundred Megabytes of code and documentation. The interview, again, is very clear on who did what:
Mantle bedeutete für uns bei DICE, ein komplett unterschiedliches Render-Backend zu kreieren. Für AMD hieß es ein Treiberteam aufzubauen, welches seine Ressourcen und Zeit in die Entwicklung einer alternativen 3D-Schnittstelle steckt.
Literal translation (said by Andersson):
"Mantle meant for us at DICE to create an entirely different render backend. For AMD this meant to gather a driver team wich would dedicate its resources and time to develop an alternative 3D API."
See this split in work load? It's almost as if everyone did the job he is best in and communication was bidirectional.


So DX12, Mantle, Vulkan, all of which target modern GPUs, share similarities? Who'd have thought.
Petr Tomicek said:
Why does it feel like I am reading Mantle Programming Guide again? :)
Yes, they share tiny similarities that can happen if two students do the same project at different universities and by pure chance create two Thesis that are matched almost word for word. Oh look, they both copied full Wikipedia articles and only changed some phrases to adapt their copypasta to the own writing style! Who'd have guessed.

What the disagreement is, is about whether DX12 in it's current form would exist if it had not been for Mantle. My answer to that is yes, it would exist because that's what the game developers wanted. Mantle was first off the block, but DX12 was going to come eventually no matter what.

The other disagreement is about whether DX12 is an evolution or offshoot of Mantle. For me the answer is no, based on comments AMD themselves have made, plus timeline concerns.
...There's a general consensus of agreement based on all the gathered evidence in this thread and then there's your opinion. Andersson made it clear that noone but AMD listened to his proposals. Other developers have made it very clear how annoyed they were about the way MS treated them in the DX11.1 era. I mean, when the biggest thing MS can boast about is "For instance, right now we’re investing in some very cool graphics code authorizing [sic] technology in Visual Studio", then you know how bad it is. That's not reinventing the car, that's reinventing the height adjusting mechanism of your head rest inside of a car.
 
  • Like
Reactions: DarthKyrie

Phynaz

Lifer
Mar 13, 2006
10,140
819
126
I thought people poop on AMD all the time for having no money for R&D.

So, are we to believe they have the budget for more than one API dev team? :D

The Radeon group has hundreds of software devs. How many of them are API engineers I don't know. But I believe the skill set to design an API is different than the skill set to implement an API.
 

Despoiler

Golden Member
Nov 10, 2007
1,966
770
136
Yes Johan Andersson @ Dice wrote most of what became the Mantle spec. I might offer this in terms of the AMD vs other contributors. Saying DX12 was developed to work on modern GPUs is correct, but really only in terms of AMD GPUs. If Nvidia and Intel had been truly active players their GPUs would look a lot more like AMDs. Do you think it's coincidence that AMD just so happens to gain the most uplift from modern APIs? AMD's GCN was introduced years before all of these APIs came into being. The level of crystal balling by AMD of where things are and where things will end up is nothing short of incredible. In fact it was so good they greatly underestimated how long it would take to start the industry transition. The reason why their DX11 perf suffers is because they dropped architecture focus on single thread APIs. The notion that AMD has more driver/cpu overhead is complete garbage. What you see is single threaded API running on an architecture built for multi-thread, parallel operations. I digress though. Mantle was the foot in the door to changing the industry. To put theory into reality. The net result is GCN would finally start seeing the performance it can deliver.

FYI, the reason why MS could churn out DX12 so fast was because AMD specifically asked for their blessing to move ahead with the Mantle project and shared all of the information and progress with them. They didn't want to burn any bridges because the entire point of DX was to unify the GPU architectures to a standard feature set. The very reason why Mantle supported the DX feature set and not just AMD specific enhancements. I already provided proof that there was no DX12 development happening before Mantle.
 

thesmokingman

Platinum Member
May 6, 2010
2,307
231
106
I thought people poop on AMD all the time for having no money for R&D.

So, are we to believe they have the budget for more than one API dev team? :D

Iirc, Mantle started with one developer essentially in the basement. They didn't bring a team on until it was more than a proof of concept.
 

MajinCry

Platinum Member
Jul 28, 2015
2,495
571
136
Actually, AMD GPUs gain so much because the DX12 back end renderers lift up the CPU bottleneck from AMD GPUs. We must wait for fully DX12 coded games to judge how they perform, factually.

Isn't it that AMD has lower CPU overhead than NVidia, when the draw calls are being issued from a single thread, due to AMD's GPUs using a hardware scheduler? The "NVidia has lower overhead" argument stems from the fact that NVidia GPUs push the scheduler work onto the CPU, which allows for the use of driver command lists in D3D 11.

There's a Beyond3D thread on the subject, with a few game developers weighing in. Read frae this post onwards: https://forum.beyond3d.com/posts/1940663/
 
  • Like
Reactions: DarthKyrie

Glo.

Diamond Member
Apr 25, 2015
5,711
4,557
136
I am not talking about driver overhead in DX11, but in DX12. And logic would dictate that because of the nature of the API, there will not be difference between the two vendors on this front in DX12.
 

greatnoob

Senior member
Jan 6, 2014
968
395
136
Either @Carfax83 is experiencing a huge amount of dissonance or he is trolling. There is no way a rational person can go through 4 pages of comments, sources and very obvious evidence explaining the same thing over and over again only to disagree and hold their own weak interpretation based on even weaker (almost nil) tangible evidence. Seeing 4 pages of one user grasping at straws and arguing over semantics and then having other users explain and correct them is a good example of why so many of these threads span for hundreds of pages.

There is almost no way to change somebody's opinion without them having to deal with large amounts of cognitive dissonance (or buyer's remorse). This leads a person to argue over semantics (minor point x is relevant to the discussion, so I'll bring x into this discussion so I am right/have purchased the right thing) or to filter out information that goes against what they think is correct. I think these threads are useless because they will always spawn unnecessary nit-picking posts - similar to the ones in this thread - that end up going nowhere or start large arguments over non-issues. I don't see the point of them...
 

TheELF

Diamond Member
Dec 22, 2012
3,973
731
126
Isn't it that AMD has lower CPU overhead than NVidia, when the draw calls are being issued from a single thread, due to AMD's GPUs using a hardware scheduler? The "NVidia has lower overhead" argument stems from the fact that NVidia GPUs push the scheduler work onto the CPU, which allows for the use of driver command lists in D3D 11.

There's a Beyond3D thread on the subject, with a few game developers weighing in. Read frae this post onwards: https://forum.beyond3d.com/posts/1940663/
It's not like that,just because nvidia has the option doesn't mean that it gets used in every game,in fact it's pretty rare to get secondary threads that actually remove any considerable overhead ( about 1% or more)
Take ashes for example,one big clunky humungus driver thread of legendary dimensions ~35% you can see there is a second thread but it has not done anything at all it just sits there just in case.
fzxD627.jpg