AMD's Mantle, was it ported from Xbox One?

Chief Legend

Be not wise in thine own eyes: fear the Lord...
Sep 13, 2013
251
112
529
Late Wednesday, AMD revealed plans to launch its new Radeon R9 and R7 series of GPUs, but the company announced much more than just a new set of hardware products. It also revealed plans to offer game developers access to a new low-level 3D graphics API called Mantle that will work with the new Radeon GPUs.
AMD's press release states that Mantle will allow game developers to get to the "bare metal" of its new Radeon GPUs, which it claims will offer a "a deeper level of hardware optimization no other graphics card manufacturer can match." The first game that will use Mantle will be "Battlefield 4" from Electronic Arts, which will enable Mantle support via a software patch in December.
However, there is speculation that Mantle is actually a port of the same low level graphics API that AMD developed for Microsoft's Xbox One console. AnandTech has apparently posed that question to AMD who would not even discuss the matter. However, a statement in AMD's own press release seems to hint strongly that Mantle is a port of the API used in the Xbox One. It states:


Mantle also assists game developers in bringing games to life on multiple platforms by leveraging the commonalities between GCN-powered PCs and consoles for a simple game development process.
That could allow game developers who are making Xbox One games a quicker way to port their titles to the PC without the need to lose that low level programming. More information on Mantle is scheduled to be revealed at the AMD Developer Summit in mid-November.
Source: AMD and AnandTech

http://www.neowin.net/news/amds-man...phics-api-but-was-it-ported-from-the-xbox-one

Perspective #2: The Console Connection
However even with a basic understanding of draw calls and their overhead, so far we haven’t really explained why Mantle exists, and indeed the entire frame of reference that Mantle resides in requires better understanding just why it exists. If Mantle was merely about providing a new low level API for GCN, then the issue would be far more straightforward, and Mantle in most likelihood remain an underutilized curiosity.
Instead we have to talk about what is not said not even hinted at, but what is more critical than Mantle’s performance improvements: the console connection.
As the supplier of the APUs in both the Xbox One and PS4, AMD is in a very interesting place. Both of these upcoming consoles are based on their GCN technology, and as such AMD owns a great deal of responsibility in developing both of these consoles. This goes not only for their hardware but also portions of their software stack, as it’s AMD that needs to write the drivers and AMD that needs to help develop the APIs these consoles will use, so that the full features of the hardware are made available to developers.
At the same time, when it comes to writing APIs we also have to briefly mention the fact that unlike the PC world, the use of both high level and low level APIs are a common occurrence in console software. High level APIs are still easier to use, but when you’re working with a fixed platform with a long shelf life, low level APIs not only become practical, but they become essential to extracting the maximum performance out of a piece of hardware. As good as a memory manager or a state manager is, if you know your code inside and out then there are numerous shortcuts and optimizations that are opened up by going low level, and these are matters that hardcore console developers will chase in full. So when we talk about AMD writing APIs for the new consoles, we’re really talking about AMD writing two APIs for the new consoles: a high level API, equivalent to the likes of Direct3D and OpenGL, and a low level API suitable for banging on the hardware directly for maximum performance.
This brings us to the crux of the matter: what’s not being said. Simply put, what would happen if you ported both the high level and low level APIs from a console – say the Xbox One – back over to the PC? We already know what that high level API would look like, because it exists today in the form of Direct3D 11.2, an API peppered with new features that coincide with AMD GCN hardware features. But what about a low level API? What would it look like?
What’s not being said, but what becomes increasingly hinted at as we read through AMD’s material is not just that Mantle is a low level API, but rather Mantle is the low level API. As in it’s either a direct copy or a very close derivative of the Xbox One’s low level graphics API. All of the pieces are there; AMD will tell you from the start that Mantle is designed to leverage the optimization work done for games on the next generation consoles, and furthermore Mantle can even use the Direct3D High Level Shader Language (HLSL), the high level shader language Xbox One shaders will be coded against in the first place. Let’s be very clear here: AMD will not discuss the matter let alone confirm it, so this is speculation on our part. But it’s speculation that we believe is well grounded. Based on what we know thus far, we believe Mantle is the Xbox One’s low level API brought to the PC.
If indeed Mantle is the Xbox One’s low level API, then this changes the frame of reference for Mantle dramatically. No longer is Mantle just a new low level API for AMD GCN cards, whose success is defined by whether AMD can get developers to create games specifically for it, but Mantle becomes the bridge for porting over Xbox One games to the PC. Developers who make extensive use of the Xbox One low level API would be able to directly bring over large pieces of their rendering code to the PC and reuse it, and in doing so maintain the benefits of using that low-level code in the first place. Mantle will not (and cannot) preclude the need for developers to also do a proper port to Direct3D – after all AMD is currently the minority party in the discrete PC graphics space – but it does provide the option of keeping that low level code, when in the past that would never be an option.

http://www.anandtech.com/show/7371/understanding-amds-mantle-a-lowlevel-graphics-api-for-gcn

 
Last edited:
  • Like
Reactions: starlight777
just to clarify, Anand is speculating it was ported FROM X1, not TO it.
 
just to clarify, Anand is speculating it was ported FROM X1, not TO it.
Bad speculation because Mantle is open source for PC graphics cards and the X1 is DX11. It would be illogical for Microsoft to have X1 use Mantle over its own proprietary API.

The PS4 GPU isn't all that different from X1's. We could speculate that it uses Mantle as well, but that is just as unlikely.
 
Bad speculation because Mantle is open source for PC graphics cards and the X1 is DX11. It would be illogical for Microsoft to have X1 use Mantle over its own proprietary API.

The PS4 GPU isn't all that different from X1's. We could speculate that it uses Mantle as well, but that is just as unlikely.

Did you happen to read Anand's article? Because he explains why he specualtes that.

What’s not being said, but what becomes increasingly hinted at as we read through AMD’s material is not just that Mantle is a low level API, but rather Mantle is the low level API. As in it’s either a direct copy or a very close derivative of the Xbox One’s low level graphics API. All of the pieces are there; AMD will tell you from the start that Mantle is designed to leverage the optimization work done for games on the next generation consoles, and furthermore Mantle can even use the Direct3D High Level Shader Language (HLSL), the high level shader language Xbox One shaders will be coded against in the first place. Let’s be very clear here: AMD will not discuss the matter let alone confirm it, so this is speculation on our part. But it’s speculation that we believe is well grounded. Based on what we know thus far, we believe Mantle is the Xbox One’s low level API brought to the PC.
 
Still wouldn't make sense, who here actually thinks MS would be A-Okay with DICE taking XBO's DX11 based low level API, tearing it apart to the point it's no longer DX11 and making it open source? Especially when DICE doesn't own that API in anyway shape or form, that and Mantle completely undermines DX11 on PC and that's most definitely something MS wouldn't want catching on in any way in PC space as that means developers would opt to use it over DX11.x

His reasoning still doesn't make sense, as an example GLSL and HLSL are very similar to each other to the point that porting to the other wouldn't be that hard. But I'd be a fool to speculate that OpenGL is based on DX.
 
Exactly. @Ketto

Edit:

This should also be moved to the OCD, since it mainly has to do with PC.
 
Last edited:
Let's see if AMD can stick to their guns and make this work. AMD, the only company I know that constantly comes up with awesome stuff then drops it after it's first use (Truform, TressFX, etc etc etc). I think Eyefinity has been the only thing they've actually stuck with and have continued to improve.
 
Still wouldn't make sense, who here actually thinks MS would be A-Okay with DICE taking XBO's DX11 based low level API, tearing it apart to the point it's no longer DX11 and making it open source? Especially when DICE doesn't own that API in anyway shape or form, that and Mantle completely undermines DX11 on PC and that's most definitely something MS wouldn't want catching on in any way in PC space as that means developers would opt to use it over DX11.x
MS has done it before, people forget but the whole .NET framework is open source.

edit: Actually in the context of .NET, it makes perfect sense. Just ask oracle :D
 
Last edited:
MS has done it before, people forget but the whole .NET framework is open source.

edit: Actually in the context of .NET, it makes perfect sense. Just ask oracle :D

.Net Framework is shared sourced under Microsoft's Reference Library, totally not the same as open source.
 
.Net Framework is shared sourced under Microsoft's Reference Library, totally not the same as open source.
i hit a broad spectrum by referencing all of .NET. Some portions are open source.
 
i hit a broad spectrum by referencing all of .NET. Some portions are open source.

True, but regardless we know Direct X isn't open source so it's a moot point. DirectX is about as open source as MS Word. That and Mantle is OS-agnostic (it works on linux). And there is absolutely no way in hell MS would allow DX on Linux, point in case...how anal they were over WINE when it was first announced/released.
 
True, but regardless we know Direct X isn't open source so it's a moot point. DirectX is about as open source as MS Word. That and Mantle is OS-agnostic (it works on linux). And there is absolutely no way in hell MS would allow DX on Linux, point in case...how anal they were over WINE when it was first announced/released.
Yeahhh, and Im ignorant of DX. From reading, it sounded like Mantle, Dx, or a combination could be used. Whats to say that AMD "version" of Mantle is not one tailored by MS? Kinda how cell carriers can release their own tailored version of android.
 
Yeahhh, and Im ignorant of DX. From reading, it sounded like Mantle, Dx, or a combination could be used. Whats to say that AMD "version" of Mantle is not one tailored by MS? Kinda how cell carriers can release their own tailored version of android.

The AMD version of mantle is the only version, it's a collaboration between AMD/DICE/EA. It's made for AMD cards, there is no benefit to MS for doing this as 1. It completely undermines DirectX, 2. AMD/DICE want to make it platform agnostic which means Linux and everything else they can get it on. 3. If it arrives on Linux and Mantle in general takes off...why do we need PCs for gaming? That's even less people on Windows in the consumer space. This also means that AMD will no longer be reliant on MS when working on new features for future GPUs. Hell this might even make ripples in the HPC space and displace Nvidia if AMD can get their linux drivers up to snuff.
 
  • Like
Reactions: Psycho-Realm