How much influence did Mantle have on Vulkan/DX12?

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

antihelten

Golden Member
Feb 2, 2012
1,764
274
126
If this is true, then why do AMD themselves state there is no direct relationship?

Source

Because that is exactly the same thing that Zlatan is saying. There isn't a direct relationship from Mantle to D3D12, but there is an indirect one, with both being derived from AMD's prototype code.

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.

No, according to Nvidia, DX12 has been under discussion since 2010 ("Our work with Microsoft on DirectX 12 began more than four years ago with discussions about reducing resource overhead"), actual work (involving Nvidia) didn't start until 2013 ("For the past year, NVIDIA has been working closely with the DirectX team to deliver a working design and implementation of DX12 at GDC.")
 

Erenhardt

Diamond Member
Dec 1, 2012
3,251
105
101
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.

<.b>nuff said
 

bononos

Diamond Member
Aug 21, 2011
3,886
156
106
If this is true, then why do AMD themselves state there is no direct relationship?
.......
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..

It sounds like you're hellbent on disbelieving the evidence before your eyes - the conversations btwn Dice/AMD, and the apparent similarities btwn DX12/mantle code. Its clear that DX12 owes a big debt to AMD. Talking about driver 'fiasco', some fanboys have to swallow earlier denials that poor drivers weren't holding back DX12 performance...
 

Carfax83

Diamond Member
Nov 1, 2010
6,841
1,536
136
Because that is exactly the same thing that Zlatan is saying. There isn't a direct relationship from Mantle to D3D12, but there is an indirect one, with both being derived from AMD's prototype code.

Being derived from something sounds pretty direct to me. I guess that Intel, NVidia, Qualcomm and God knows whoever else was on that committee was sitting around twiddling their thumbs whilst AMD "pioneered" the entire thing..

No, according to Nvidia, DX12 has been under discussion since 2010 ("Our work with Microsoft on DirectX 12 began more than four years ago with discussions about reducing resource overhead"), actual work (involving Nvidia) didn't start until 2013 ("For the past year, NVIDIA has been working closely with the DirectX team to deliver a working design and implementation of DX12 at GDC.")

I could easily take the last sentence in this paragraph and use it to claim that NVidia "pioneered" the actual working DX12 design. These companies are always eager to make themselves look good, whilst downplaying or ignoring the input of the others..
 

Carfax83

Diamond Member
Nov 1, 2010
6,841
1,536
136
It sounds like you're hellbent on disbelieving the evidence before your eyes - the conversations btwn Dice/AMD, and the apparent similarities btwn DX12/mantle code. Its clear that DX12 owes a big debt to AMD. Talking about driver 'fiasco', some fanboys have to swallow earlier denials that poor drivers weren't holding back DX12 performance...

So just because there are similarities between Mantle and DX12, automatically means that DX12 was founded using Mantle code? Talk about a logical fallacy. The opposite is much more likely, that Mantle is "derived" from DX12. AMD was able to push Mantle out faster than DX12 because it only supported GCN, whereas DX12 had to support several architectures. Also, AMD was under pressure to do something about their driver CPU overhead in DX11.

The first Mantle game update (BF4) and the first public DX12 demo occurred in the same month of the same year. That's very coincidental, if you believe logically that DX12 had a longer development time than Mantle.
 

Gikaseixas

Platinum Member
Jul 1, 2004
2,836
218
106
I think that people have touched on pretty reasonable points to illustrate AMD influence on what is today DX12.
I remember very well that not too long ago Nvidia was pushing very hard on DX11 games / features and had the upper hand compared to AMD so i doubt they were working since 2010 with MS on DX12. They seem to have be caught with their pants down and are since trying to catch up... so yeah, AMD has had more to say when it comes to DX12, like it or not.
 
  • Like
Reactions: DarthKyrie

antihelten

Golden Member
Feb 2, 2012
1,764
274
126
Being derived from something sounds pretty direct to me.

Which means that there's a direct link between the prototype code and DX12, not between Mantle and DX12. It's just how humans aren't descended from apes, but instead co-evolved from a common ancestor.

I could easily take the last sentence in this paragraph and use it to claim that NVidia "pioneered" the actual working DX12 design. These companies are always eager to make themselves look good, whilst downplaying or ignoring the input of the others..

By all means be my guest, but either way you want to twist it, it still doesn't change the fact that DX12 wasn't in the works since 2010 (all that happened back then was some general API overhead discussions).
 

Headfoot

Diamond Member
Feb 28, 2008
4,444
641
126
What is going on with these ridiculous consipracy theories? It's abundantly obvious what the general shape of things were. Microsoft goes to AMD to produce Xbox One (Semi-custom AMD hardware) based on GCN. To program Xbox One, you need an API. Both parties work together as they both have a role in creating an API to make the Xbox work. Both parties have the fundamental low-level API now built because it was built for Xbox One. AMD uses it as Mantle. MS works on it further to make it more generalized as DX12. It is no coincidence that Mantle came out shortly after the Xbox One was released... (Xbox One, November 2013. Mantle, February 2014).
 

turtile

Senior member
Aug 19, 2014
614
294
136
What is going on with these ridiculous consipracy theories? It's abundantly obvious what the general shape of things were. Microsoft goes to AMD to produce Xbox One (Semi-custom AMD hardware) based on GCN. To program Xbox One, you need an API. Both parties work together as they both have a role in creating an API to make the Xbox work. Both parties have the fundamental low-level API now built because it was built for Xbox One. AMD uses it as Mantle. MS works on it further to make it more generalized as DX12. It is no coincidence that Mantle came out shortly after the Xbox One was released... (Xbox One, November 2013. Mantle, February 2014).

Yup, not sure how this doesn't make sense to anyone here. Microsoft was working with AMD the entire time with console development so obviously, they shared resources. Also, Microsoft considered selling Xbox and later decided to try to push Windows into every household with Xbox One as an all-in-one device. It makes perfect sense to make DX12 run as good as possible on a console.
 

Bacon1

Diamond Member
Feb 14, 2016
3,430
1,018
91
What I am against, is the notion that Mantle inspired DX12, and that DX12 somehow would not exist without Mantle.

The whole point of Mantle was to show that low level APIs worked, because developers (like DICE who co-developed it with AMD) wanted lower level access.

http://support.amd.com/en-us/search/faq/184

Mantle was conceived and developed by AMD in partnership with leading game developers.

This enabled the fast and agile development required to validate the concepts and bring such the technology to life in a relatively short period of time. However, Mantle was designed in a way that makes it applicable to a range of modern GPU architectures. In the months ahead, we will be inviting more partners to participate in the development program, leading up to a public release of the specifications later in 2014. Our intention is for Mantle, or something that looks very much like it, to eventually become an industry standard applicable to multiple graphics architectures and platforms.
 

Carfax83

Diamond Member
Nov 1, 2010
6,841
1,536
136
What is going on with these ridiculous consipracy theories? It's abundantly obvious what the general shape of things were. Microsoft goes to AMD to produce Xbox One (Semi-custom AMD hardware) based on GCN. To program Xbox One, you need an API. Both parties work together as they both have a role in creating an API to make the Xbox work. Both parties have the fundamental low-level API now built because it was built for Xbox One. AMD uses it as Mantle. MS works on it further to make it more generalized as DX12. It is no coincidence that Mantle came out shortly after the Xbox One was released... (Xbox One, November 2013. Mantle, February 2014).

Nope, this is completely wrong. Mantle and DX12 are completely distinct. Again, look at the timeline. Mantle was announced in 2013, and became available in early 2014. DX12 for the Xbox One was announced in March 2014, but the actual release date was in 2015. SW Battlefront was the first game to use DX12 on the Xbox One, and that launched in November 2015, over two years after Mantle was first announced.

johan-andersson-xb1-dx12-confirmed.jpg


There is no deep correlation between Mantle and DX12 on either Xbox One or PC. When the Xbox One launched, it used a low level variant of DX11.. So no conspiracy theory here, just cold hard facts :sunglasses:
 

Bacon1

Diamond Member
Feb 14, 2016
3,430
1,018
91
Nope, this is completely wrong. Mantle and DX12 are completely distinct. Again, look at the timeline. Mantle was announced in 2013, and became available in early 2014. DX12 for the Xbox One was announced in March 2014, but the actual release date was in 2015. SW Battlefront was the first game to use DX12 on the Xbox One, and that launched in November 2015, over two years after Mantle was first announced.

johan-andersson-xb1-dx12-confirmed.jpg


There is no deep correlation between Mantle and DX12 on either Xbox One or PC. When the Xbox One launched, it used a low level variant of DX11.. So no conspiracy theory here, just cold hard facts :sunglasses:

What exactly are you trying to prove with that screenshot?

Battlefront uses Frostbite, which was the engine that that Mantle was designed for basically since DICE were the ones asking for AMD to create low level API in the first place.

http://www.dice.se/news/rendering-battlefield-4-mantle/

And you wonder how they were able to have the first DX12 XB1 game?

Hmm..

port_times.PNG-635x341.png


Whats the bottom one say?

http://wccftech.com/mantle-api-ported-directx-12-amd-white-paper/
 

Carfax83

Diamond Member
Nov 1, 2010
6,841
1,536
136
What exactly are you trying to prove with that screenshot?

I would think it obvious. Headfoot claimed that Microsoft and AMD collaborated to create an API for the Xbox One, and that Mantle was essentially the PC version of this API. He also claimed that DX12 was developed using Mantle as a foundation.

Looking at the timeline however, this could not be true. If DX12 was released well after Mantle became available (about a year and a half), how could Mantle and the Xbox One DX12 be related? Xbox One launched with a low level variant of DX11, and not DX12.
Battlefront uses Frostbite, which was the engine that that Mantle was designed for basically since DICE were the ones asking for AMD to create low level API in the first place.

I just used Battlefront as an example to show that DX12 on Xbox One launched well after Mantle did on PC, so the two could not be linked from a development standpoint.

Coincidentally, BF4 on Xbox One does not use the Xbox One DX12 renderer.
 

Carfax83

Diamond Member
Nov 1, 2010
6,841
1,536
136
Mantle being GCN specific is not somehow mutually exclusive with having influenced the current form of DX12...

This is where semantics comes in. See, I don't doubt for one second that AMD influenced the development of DX12. Never claimed otherwise at any time during this debate.

So if Microsoft used Mantle's prototype structure as a basis for DX12, that's totally believable. I just doubt that DX12 itself is based on Mantle, mostly due to timeline issues, and the differences in terms of scope and capability between the two.
 

Carfax83

Diamond Member
Nov 1, 2010
6,841
1,536
136
The whole point of Mantle was to show that low level APIs worked, because developers (like DICE who co-developed it with AMD) wanted lower level access.

http://support.amd.com/en-us/search/faq/184

You make it sound as though low level APIs are something new in PC land, but it's not. The industry is well aware of the capabilities and advantages of low level APIs. The problem with low level APIs is that they are restricted to a narrow range of hardware architectures..

The only reason it's possible now, is because both the IHVs and the hardware architectures have become consolidated.
 

Headfoot

Diamond Member
Feb 28, 2008
4,444
641
126
Nope, this is completely wrong. Mantle and DX12 are completely distinct. Again, look at the timeline. Mantle was announced in 2013, and became available in early 2014. DX12 for the Xbox One was announced in March 2014, but the actual release date was in 2015. SW Battlefront was the first game to use DX12 on the Xbox One, and that launched in November 2015, over two years after Mantle was first announced.

johan-andersson-xb1-dx12-confirmed.jpg


There is no deep correlation between Mantle and DX12 on either Xbox One or PC. When the Xbox One launched, it used a low level variant of DX11.. So no conspiracy theory here, just cold hard facts :sunglasses:

You have no evidence to support your assertion. My theory is supported by the timing of both releases and the fact those two companies cooperated on the Xbox One.

I don't believe you at all and you have absolutely NO basis whatsoever to say "Completely wrong."

No dude. Some random screenshot about Battlefront proves NOTHING
 

Headfoot

Diamond Member
Feb 28, 2008
4,444
641
126
The only reason it's possible now, is because both the IHVs and the hardware architectures have become consolidated.

LOL. So you acknowledge that the hardware and IHV has become consolidated. But you refuse to take the next excruciatingly obvious logical step and conclude "GEE, this consolidation happened on AMD Hardware roughly in 2013 to 2014 time frame. Wow what a coincidence Mantle came out right then. Wow what a coincidence Mantle and DX12 docs have the exact same wording for nearly half the document. Wow what a coincidence the two organizations who developed those two APIs were working closely together on another device which now runs DX12, Wow maybe this AMD company that is present in every single step here had some influence on DX12!"
 
  • Like
Reactions: DarthKyrie

Headfoot

Diamond Member
Feb 28, 2008
4,444
641
126
I would think it obvious. Headfoot claimed that Microsoft and AMD collaborated to create an API for the Xbox One, and that Mantle was essentially the PC version of this API. He also claimed that DX12 was developed using Mantle as a foundation.

I never claimed this. Do not put words in my mouth.

At this point it is abundantly obvious you have no intention of discussing this in good faith since you are twisting others words to try and make points, and posting "evidence" that you know doesn't support what you're saying.

We are done here.
 

Despoiler

Golden Member
Nov 10, 2007
1,966
770
136
MS wasn't doing anything with DX12 when Mantle was released. AMD spent 3 years building Mantle and you think MS just popped DX12 out of nothing a year later? No, they borrowed the design from Mantle to fast track DX12 development. They built a bit more abstraction into it, built in their Windows integration, and then obviously expanded the IHV support. Below is proof that MS was not doing anything with DX. This was also why AMD said that MS wasn't planning a DX12.

http://www.gamedev.net/topic/666419-what-are-your-opinions-on-dx12vulkanmantle/#entry5215019

MS, for all practical purposes, concluded that DX was a mature, stable technology that required only minor work and mostly disbanded the teams involved. Many of the revisions to GL have been little more than API repairs. (A GTX 480 runs full featured OpenGL 4.5, by the way.) So the reason we're seeing new APIs at all stems fundamentally from Andersson hassling the IHVs until AMD woke up, smelled competitive advantage,
 

Bacon1

Diamond Member
Feb 14, 2016
3,430
1,018
91
I just used Battlefront as an example to show that DX12 on Xbox One launched well after Mantle did on PC, so the two could not be linked from a development standpoint.

This statement makes absolutely no sense. If anything it makes it seem more plausible that DX12 was based on Mantle considering it took a long time for DX12 to come out after Mantle did.
 
  • Like
Reactions: DarthKyrie

TheELF

Diamond Member
Dec 22, 2012
3,973
730
126
Of course Dx12 has a big chunk of mantle in it and why not? Ms probably even owns the code.
If you think about it,after AMD "won" the console deal they just had to provide a way for the cheap-ass cores they used to utilize the big chunk of GCN they used.
I doubt that MS would not demand the ownership (or at least co-ownership) of such a big part of the cosole's OS/API ,I would guess that that was even part of the original deal.
Of course AMD would use the work they already did to promote GCN on PC via MANTLE ,they would be crazy not to.
So which came first? The hen or the egg?

MS paid AMD to create MANTLE and then turned it into DX12,of course they would use the work they already paid for to make something even better,they would be crazy not to.


(There, spinned it around for all of you )
 

zinfamous

No Lifer
Jul 12, 2006
110,568
29,182
146
This is where semantics comes in. See, I don't doubt for one second that AMD influenced the development of DX12. Never claimed otherwise at any time during this debate.

So if Microsoft used Mantle's prototype structure as a basis for DX12, that's totally believable. I just doubt that DX12 itself is based on Mantle, mostly due to timeline issues, and the differences in terms of scope and capability between the two.

So you accept that AMD worked with MS to develop DX12 at some capacity--obviously this would be the same team at AMD involved in Mantle--but you remain certain that in no way DX12 and Mantle have common and possibly shared design?
 

Bacon1

Diamond Member
Feb 14, 2016
3,430
1,018
91
When we developed Mantle, it was really at the request of game devs who saw what was possible on the console in terms of FLOPS/W and perf/W. There's just an incredibly deep level of access and control that was entirely missing on the PC, because there were no graphics APIs that remotely behaved like what the consoles offered.

We knew that bringing the industry over to the idea of low-overhead APIs would strengthen the bridge--for devs and ourselves--between PC and console. It could improve portability. It could allow for code reuse, which minimizes porting mistakes. It could allows performance enhancing techniques on console (async compute anyone?) to finally run on the PC.

The interest level in Mantle was enormous. During its day, it was the fastest-growing PC graphics API ever introduced. That honor now goes to DirectX 12, but the trend in both cases is very clear: game devs needed and wanted morethan what they were being given by "traditional" APIs.

And game devs cut their teeth on these new APIs on Radeon hardware. They learned best practices from AMD. They learned how to port to these APIs from AMD to AMD. For years we were the only game in town when a game dev wanted to know more about how to control a modern GPU with these new APIs.

I think Mantle was much more innovative than people give it credit for, mostly because many don't understand the significance of an "API" or all the little features inside that API. There are several AMD-invented API features that are now standard in the major graphics APIs. This is just a sampling, but there are easily 4-5 more I'm forgetting ATM:

  • Explicit multi-adapter
  • Asynchronous compute/shading
  • Explicit framebuffer management
  • Multi-threaded command buffer recording
  • Explicit frame management
Our "win condition" for Mantle was either growing it into an industry-standard API of its own, or influencing an API very much like Mantle to become the standard. There is a lot of pride in this industry, and chances were low that an API owned by a graphics vendor would ever be adopted by other graphics vendors. So when the opportunity came to migrate the spec to serve as the foundation of Vulkan, it was a no-brainer. This was our chance to realize one of the win conditions for Mantle.

Along the way, we had the opportunity to help develop DX12, also. This allowed us to share our philosophies and ideas on how APIs should work into DirectX as well. We've been serving in this capacity for DX for many years, but DX12 came at a good time for us.

And now here we are. All the major graphics APIs have features we invented for Mantle, and are philosophically similar to Mantle. And they run on everyone's hardware.

That's what necessitated the transition to Vulkan. But it wasn't by accident. :)


https://www.reddit.com/r/pcmasterra...han_10_hours_on_the_amd_ama/d4ua4rr?context=3
 

Red Hawk

Diamond Member
Jan 1, 2011
3,266
169
106
This is where semantics comes in. See, I don't doubt for one second that AMD influenced the development of DX12. Never claimed otherwise at any time during this debate.

So if Microsoft used Mantle's prototype structure as a basis for DX12, that's totally believable. I just doubt that DX12 itself is based on Mantle, mostly due to timeline issues, and the differences in terms of scope and capability between the two.
You're right, it's just that you're the one muddling semantics here. If AMD and Mantle had a significant influence on DX12, that means that DX12 would be significantly different if AMD had not developed Mantle. In other words, if Mantle had not been developed, DX12 as we know it would not exist.

This is not the same as saying DX12 is based on Mantle.

You make it sound as though low level APIs are something new in PC land, but it's not. The industry is well aware of the capabilities and advantages of low level APIs. The problem with low level APIs is that they are restricted to a narrow range of hardware architectures..

The only reason it's possible now, is because both the IHVs and the hardware architectures have become consolidated.

They're new for graphics APIs when the norm has been high level APIs for decades. The theory of the benefit of such APIs has been known for some time, sure, but developers and publishers need more than theory, they need to see practical benefits. That's where Mantle came in - it was the proof of concept of sorts that pushed Microsoft and Khronos to follow suit.