How much influence did Mantle have on Vulkan/DX12?

Red Hawk

Diamond Member
Jan 1, 2011
3,266
169
106
So in another thread @richaron claimed that Mantle "has inspired and evolved into two of the most radical graphics APIs in history." @BFG10K disputed this, saying that DX12 was in development years before Mantle "even existed" (implying that Mantle thus couldn't have inspired/influenced it), and that coding to the metal isn't radical because of DOS and x86 Assembler being used to code years ago. @Carfax83 piped in and said it was a "myth" that DX12 was "derived from Mantle". Discussion ensued, but esquared shut it down in that thread, so I figured to create a thread for it.

I think Mantle did influence both Vulkan and DX12. I doubt BFG10K actually knows when Mantle started development, so his idea that DX12 existed in development before Mantle isn't even solidly supported itself. And Mantle could have still been in development itself and influence DX12's direction. AMD had input with DX12 just like they did with previous DX versions, and Microsoft would likely have been aware of the direction AMD was going with its cards and Mantle before the general announcement. Moreover, richaron was talking about DX12 and Vulkan -- and in Vulkan's case, it's much more clear. richaron was absolutely right to say that Vulkan evolved from Mantle. We know that Mantle's code was donated towards developing Vulkan. I hope I don't have to dig up the "Thanks AMD!" slide from one of the presentations by Khronos Group on Vulkan...

If anything is a "myth" it's that Mantle simply directly is DX12, or DX12 was just built off of Mantle's work like Vulkan. That's not true, AMD has said there is no direct relationship between Mantle and DX12. But that doesn't mean there was no influence at all. Mantle came first, and then DX12 comes out and just happens to target the same features that Mantle was aimed at? Completely coincidental, would have happened with or without Mantle? It seems irrational to me to insist that DX12 had no influence on the direction Microsoft took DX12 in.

Also, downplaying the significance of current low-level APIs because of DOS and x86 Assembler is just ridiculous. it's the 2010s, not the 90s. The norm for the past couple decades has been thick driver layer APIs. Mantle, DX12, and Vulkan (and Apple's Metal) are in fact radical compare to that, the context they're introduced into.
 

bononos

Diamond Member
Aug 21, 2011
3,923
181
106
I had always assumed that AMD contributed towards the development of DX12 either as an active collaborator or passively when Microsoft scrambled to head off a possible competitor towards its dx monopoly or to support the new AMD jaguar consoles which used Mantle.
 

kraatus77

Senior member
Aug 26, 2015
266
59
101
If dx12 was in development longer than mantle than how come nvidia's even latest architecture doesn't really support one the most basic features ? and how come gcn 1 which was released before kepler still supports those features ? it's pretty obvious which hardware mantle targeted, and how that same targeted gpu architecture has more basic feature support on all 2 ,dx12/vlk apis which derived from mantle. deny all you want but it's a fact gcn supports more basic dx12/vlk features on hardware level than any other gpu architecture. unlike fake driver flags on inferior architecture who have came and gone after gcn. :sunglasses:
 

antihelten

Golden Member
Feb 2, 2012
1,764
274
126
Whether or not DX12 was in development for years before Mantle largely depends upon how one defines development.

What we know is that in relation to the Forza DX12 demo Nvidia claimed that MS and Nvidia had started discussion about DX12 4 years prior (2010), but actual work on the API had only started the previous year (2013).

Also it's worth noting that the proper comparison to Mantle isn't DX12, it's Direct3D 12. DX12 as a whole contains a ton of things that don't have anything directly to do with graphics rendering.
 

Glo.

Diamond Member
Apr 25, 2015
5,928
4,987
136
http://semiaccurate.com/2014/03/18/microsoft-adopts-mantle-calls-dx12/

Here you go. In essence: DX11.3 - DX12 without Mantle.
DX12 - DX11.3 plus Mantle.
DX12.1 - DX11.3 plus Mantle plus Vendor(Nvidia) specific features.

Mantle 1.0 functionality(feature set) is in DX12, Vulkan, Metal. They work on low-level the same way, and achieve exactly the same goals. Because all of them have used Mantle in some way.

All of the APIs combine compute and graphics into single queue. And that is not available in DX11.3. DX11.3 is not Low-level API. In DX11.3 you will not have explicit MultiAdapter and other forms of mGPU configurations. All of this was part of Mantle feature set.
 

GaiaHunter

Diamond Member
Jul 13, 2008
3,682
329
126
Unless someone from MS clearly states it was, which will never happen, this will never conclusively be answered.

What is clear is that DX12 features are very similar to Vulkan and Mantle features.

It is also clear that DX12 is important to the XBone and MS and AMD cooperated closely during XBone development.

It is also a fact that consoles always operated closer to metal than PCs.

Mantle was AMD way of bringing that same close to metal that was being done in two of the main consoles in the market to the PC.

DX12 brings those features to the PC.
Would DX12 bring that feature set to the PC if AMD had not released Mantle?
 

ThatBuzzkiller

Golden Member
Nov 14, 2014
1,120
260
136
If one had to be honest, Mantle had very few influences on D3D12. D3D12 was also based around a new driver display model too so there's already some divergence between the two. Fully bindless, async compute and other features are not specific to Mantle but to existing hardware ...
 
  • Like
Reactions: frozentundra123456

zlatan

Senior member
Mar 15, 2011
580
291
136
D3D12 is based on AMDs command buffer submission and control model. As far as I know the story... AMD said many years ago, that the command buffer management in D3D11 is not useful for the many-core era, and they have a much more efficient concept that should work for the PC. Microsoft wants them to prove their claim, and they did it a year later or so. This prototype was the main building block of D3D12. The idea of Mantle came after this, because the lead programer of Dice didn't want to wait for D3D12, and he asked AMD to give him an explicit API for a new project (BF4). AMD said OK, and they also build an API for the same prototype. This was a good idea after all, because Vulkan is heavily based on the Mantle specification.

Technically D3D12 is not based on Mantle. But all of the new PC APIs based on an AMD prototype code.
 
Last edited:

Stuka87

Diamond Member
Dec 10, 2010
6,240
2,559
136
Lets not forget that the DX12 documentation was almost word for word identical to the Mantle documentation. So much so that someplace there is a photo of some pages side by side, and 95% of the words are identical.

As for Mantle "influencing" Vulcan, Vulcan *IS* Mantle, under a different name. AMD handed it over to the Kronos Group, and then inserted it into OpenGL.
 

Piroko

Senior member
Jan 10, 2013
905
79
91
@BFG10K disputed this, saying that DX12 was in development years before Mantle "even existed" (implying that Mantle thus couldn't have inspired/influenced it), and that coding to the metal isn't radical because of DOS and x86 Assembler being used to code years ago.
Well, about that, in early 2013 Microsoft themselves had a very different opinion in how active said DirectX development was. Their vision back then was clearly focused on the Metro side, in which games were to run through their Metro framework and DX should provide legacy support. I've also read that at the time their DX development team had pretty much dissolved into their Xbox and Metro teams, but I can't find said article anymore. It's probably buried somewhere at b3d forums.

The idea for DX12 has likely only started after they pulled a hard break on the Win8 development direction and reimagined Treshold to be what later became Windows 10. To speed up its development MS most likely took the proof of concept behind Mantle to jumpstart DX12.

And then there's conversations like these between Johan Andersson (Dice) and Petr Tomicek (Creative Assembly):
https://twitter.com/repi/status/446718535616585730
They couldn't have made it more obvious.
 
Last edited:

Carfax83

Diamond Member
Nov 1, 2010
6,841
1,536
136
D3D12 is based on AMDs command buffer submission and control model. As far as I know the story... AMD said many years ago, that the command buffer management in D3D11 is not useful for the many-core era, and they have a much more efficient concept that should work for the PC. Microsoft wants them to prove their claim, and they did it a year later or so. This prototype was the main building block of D3D12. The idea of Mantle came after this, because the lead programer of Dice didn't want to wait for D3D12, and he asked AMD to give him an explicit API for a new project (BF4). AMD said OK, and they also build an API for the same prototype. This was a good idea after all, because Vulkan is heavily based on the Mantle specification.

Technically D3D12 is not based on Mantle. But all of the new PC APIs based on an AMD prototype code.

If this is true, then why do AMD themselves state there is no direct relationship?

Source

And the first public demo of DX12 was done on NVidia hardware, shortly after the first Mantle driver became publically available. And according to NVidia, DX12 has been in the works since roughly 2010.

That's the thing about this thread. Many people are saying one thing, but without any evidence or proof. At least I have furnished evidence from AMD themselves on whether there is any deep connection between DX12 and Mantle.

I think that people are so hellbent on giving AMD credit, that they are blinding themselves to the evidence that actually exists; much like what occurred with the AMD DX11 CPU overhead fiasco..
 

swilli89

Golden Member
Mar 23, 2010
1,558
1,181
136
If this is true, then why do AMD themselves state there is no direct relationship?

Source

And the first public demo of DX12 was done on NVidia hardware, shortly after the first Mantle driver became publically available. And according to NVidia, DX12 has been in the works since roughly 2010.

That's the thing about this thread. Many people are saying one thing, but without any evidence or proof. At least I have furnished evidence from AMD themselves on whether there is any deep connection between DX12 and Mantle.

I think that people are so hellbent on giving AMD credit, that they are blinding themselves to the evidence that actually exists; much like what occurred with the AMD DX11 CPU overhead fiasco..

You're not able to read between the lines? Why would AMD even make a FAQ topic on something so extremely obscure as their relationship to DX12?
 
  • Like
Reactions: Headfoot

Carfax83

Diamond Member
Nov 1, 2010
6,841
1,536
136
Why would AMD even make a FAQ topic on something so extremely obscure as their relationship to DX12?

That's not what the FAQ is about. The FAQ encompasses an entire list of many questions related to Mantle. You can look at the entire FAQ here.
 

Carfax83

Diamond Member
Nov 1, 2010
6,841
1,536
136
From the FAQ:

What are the similarities between Mantle and DirectX® 12?
DirectX® 12 is Microsoft’s own creation, though its development has been steered by input from many different technology partners including AMD. We have welcomed the same input on Mantle by sharing the full specification with Microsoft since the early days of our API. As the industry moves to embrace the principles of “closer-to-the-metal” API design, it is evident that our pioneering work with this concept has been highly influential.
 

cytg111

Lifer
Mar 17, 2008
25,206
14,702
136
Derived from the LHC(Large Hadron Collider) you will find that DX12 and Mantle are indeed entangled with one another on the quantum level and thus it makes no sense to differentiate the two. Without DX12 there would be no Mantle, without Mantle there would be no DX12. As with all things quantum you are required to leave your sanity at the door. Just accept it. Own it. Be it.
</joking>
Yea, that thread again.
 
  • Like
Reactions: Red Hawk and Phynaz

MajinCry

Platinum Member
Jul 28, 2015
2,495
571
136
https://twitter.com/renderpipeline/status/581086347450007553

CBBu9COWwAAPzZB.jpg:large
 

Red Hawk

Diamond Member
Jan 1, 2011
3,266
169
106
From the FAQ:

What are the similarities between Mantle and DirectX® 12?
DirectX® 12 is Microsoft’s own creation, though its development has been steered by input from many different technology partners including AMD. We have welcomed the same input on Mantle by sharing the full specification with Microsoft since the early days of our API. As the industry moves to embrace the principles of “closer-to-the-metal” API design, it is evident that our pioneering work with this concept has been highly influential.

...this literally says what I've been trying to say.

"sharing the full specification with Microsoft since the early days of our API"

"it is evident that our pioneering work with this concept has been highly influential"
 

Carfax83

Diamond Member
Nov 1, 2010
6,841
1,536
136
...this literally says what I've been trying to say.

"sharing the full specification with Microsoft since the early days of our API"

"it is evident that our pioneering work with this concept has been highly influential"

I certainly don't doubt AMD's influence on DX12, as they were one of Microsoft's closest collaborators, along with NVidia, Intel, Qualcomm, Epic etcetera. What I am against, is the notion that Mantle inspired DX12, and that DX12 somehow would not exist without Mantle.

DX12 would have come regardless of whether AMD had come out with Mantle first is what I'm getting at.
 

Red Hawk

Diamond Member
Jan 1, 2011
3,266
169
106
I certainly don't doubt AMD's influence on DX12, as they were one of Microsoft's closest collaborators, along with NVidia, Intel, Qualcomm, Epic etcetera. What I am against, is the notion that Mantle inspired DX12, and that DX12 somehow would not exist without Mantle.

DX12 would have come regardless of whether AMD had come out with Mantle first is what I'm getting at.

Like I said before, I think the word "influence" is better than "inspire" in this case. But I still think it isn't inaccurate to say that Mantle helped inspire the low-level part of DX12. Would something called DX12 exist if Mantle didn't? Sure. Would DX12 exist in its current form, with all the low-level features, if not for Mantle? I doubt that.
 
  • Like
Reactions: DarthKyrie

wahdangun

Golden Member
Feb 3, 2011
1,007
148
106
D3D12 is based on AMDs command buffer submission and control model. As far as I know the story... AMD said many years ago, that the command buffer management in D3D11 is not useful for the many-core era, and they have a much more efficient concept that should work for the PC. Microsoft wants them to prove their claim, and they did it a year later or so. This prototype was the main building block of D3D12. The idea of Mantle came after this, because the lead programer of Dice didn't want to wait for D3D12, and he asked AMD to give him an explicit API for a new project (BF4). AMD said OK, and they also build an API for the same prototype. This was a good idea after all, because Vulkan is heavily based on the Mantle specification.

Technically D3D12 is not based on Mantle. But all of the new PC APIs based on an AMD prototype code.

hmm that make sense, that is why from the get go, DX 12 have more feature set and more optimization for amd than NVDIA. and maybe that is why MS chose AMD for their xbox one design ?

and maybe that prototype API that amd build to prove their theory was available way earlier than mantle.
 
  • Like
Reactions: DarthKyrie

Carfax83

Diamond Member
Nov 1, 2010
6,841
1,536
136
Would DX12 exist in its current form, with all the low-level features, if not for Mantle? I doubt that.

Again, the facts don't support this claim. Mantle is a GCN specific low level API. DX12 isn't. So saying that DX12 wouldn't exist in its current form if not for Mantle makes no sense..