Richard Huddy did an interview with Tech Radar. One of the things he discussed there was the current state of Mantle, and its future.
One interesting passage in the interview is this:
DirectX is a generic APi. It covers Intel hardware, it covers Nvidia hardware and it covers ours. Being generic means that it will never be perfectly optimized for a particular piece of hardware, where with Mantle we think we can do a better job. The difference will dwindle as DX 12 arrives. I’m sure they’ll do a very good job of getting the CPU out of the way, but we’ll still have at least corner cases where we can deliver better performance, measurably better performance.
He basically concedes here that Mantle is NOT a generic API, and is cutting a few corners here and there because it only has to support GCN-based hardware (after all, if both DX12 and Mantle were designed to be equally generic (as the original claims about Mantle were: it would run on Intel and nVidia hardware), then there would be no corners to cut, and no extra (measurable, note that word) CPU overhead to avoid. The only thing they are avoiding here is the abstraction overhead that is in DX12, which allows it to support GPU architectures from multiple vendors/generations.
And, if we were to just apply some basic logic here: AMD is not *capable* of designing a generic API on their own. DirectX is designed with a committee with all IHVs involved, so as soon as someone proposes some kind of feature or API construct that will not work on some IHV’s hardware, the IHV will jump in. So in the end everything that is in the API will work on all hardware, and any incompatible features have been dropped.
Even if we were to assume that AMD would be fair and impartial to other IHVs in their design, they simply don’t have full knowledge of their competitor’s inner workings and limitations. So the thought of AMD (or any other IHV) designing a cutting-edge graphics API that is generic enough to be compatible with other IHVs is quite ridiculous anyway.
So, that leaves virtually none of the original claims about Mantle… We’ve already seen earlier that Mantle would not be a console API, and now it is not going to be a generic API either, but it will remain specific to AMD.
Huddy still claims that Mantle is what inspired DX12 though… At the same time he admits that some of the DX12 features are not supported on Mantle and AMD hardware yet:
They are pixel synchronization, which let you do some cool transparency effects and lighting transparent substances which is very, very hard on the current API. There’s something called bindless resources which is a major efficiency improvement again in how the GPU is running, making sure it’s not stalling waiting for the CPU to tell it about some of the changes that are needed.
As for bindless resources… As I already said earlier, nVidia has been doing OpenGL extensions for bindless resources since 2009.
So these are some DX12-features that have clearly not originated from AMD, but from its competitors.