• Competitor rules

    Please remember that any mention of competitors, hinting at competitors or offering to provide details of competitors will result in an account suspension. The full rules can be found under the 'Terms and Rules' link in the bottom right corner of your screen. Just don't mention competitors in any way, shape or form and you'll be OK.

The Next Generation of Graphics APIs

As we've explained before, one of the key developer requests for Mantle was to take direct and explicit control of the hardware, including support for technologies like multi-GPU.

By direct request from devs, Mantle is unlike any other API: multi-GPU support must be added directly by the dev, and is no longer the domain of the graphics driver. The primary benefit of this approach is that the mGPU subsystem can be coded to match the way the engine is queuing its workloads for execution. Please see page 11 of the Mantle whitepaper for more information.

Thief will be adding multi-GPU in a patch arriving very soon.
 
Come on Kaap, ive explained both of those questions to you already in this thread. Do you think he will say anything different to what i did? Crossfire in Mantle cannot be implemented at driver level, its up to the game developer. As for quad fire problems in Mantle in BF4 at 4k, that's down to Dice as well. As you already said though, DX works perfectly, does it not? AMD were responsible for the multi gpu support in DX11, btw.

There is no harm in asking the question as Thracks will be able to give a more informative answer.
 
I'm looking at the word "specifically" rather cynically, why the disparity between GCN 1st gen and 2nd? Where's the 6970 support? (regardless of the performance gain)
 
Last edited:
Thracks, I think the stumbling block for a lot of people is #2. It sounds perilously close to magic.

I don't see how this can be construed as "magic," as this is precisely how an API works. Every API hides a certain level of core hardware functionality behind libraries/functions that greatly simplify the ability to leverage hardware features, but this comes at the expense of not always knowing what route the hardware is taking to achieve your result because the API is hiding it from you.

Mantle eliminates a substantial amount of the abstraction, for example giving developers direct control of their own work queues, memory management, texture loading, batching, threading, etc. Eliminating this abstraction does not magically tie an API to one specific architecture. It just exposes the hardware for what it is.

Mantle was designed to be compatible with modern programmable graphics pipelines. Period.
 
As we've explained before, one of the key developer requests for Mantle was to take direct and explicit control of the hardware, including support for technologies like multi-GPU.

By direct request from devs, Mantle is unlike any other API: multi-GPU support must be added directly by the dev, and is no longer the domain of the graphics driver. The primary benefit of this approach is that the mGPU subsystem can be coded to match the way the engine is queuing its workloads for execution. Please see page 11 of the Mantle whitepaper for more information.

Thief will be adding multi-GPU in a patch arriving very soon.

Well doesn't that make for a massive flaw :p? We're months after Mantles thief debut.
 
I'm looking at the word "specifically" rather cynically, why the disparity between GCN 1st gen and 2nd? Where's the 6970 support? (regardless of the performance gain)

The HD 6970 uses a VLIW4 architecture, which is quite dissimilar from the basic architecture of Graphics Core Next. Mantle support does not exist for VLIW4 because the underlying hardware is frankly incapable of running it.

I would also contend that there is no disparity between GCN-based products. If you look at the Thief performance figures, there is a notable uplift for the 270X and 280X products on the appropriate CPU. If you're trying to use BF4 as an example of a disparity, additional performance gains/optimizations for that application must come from the developer.

In every respect, we treat all GCN products as equal citizens, and what few driver-level optimizations can actually be made (remember, Mantle is designed to move the driver out of the way for developers) have already been made. The fact that these are all products utilizing the basic GCN ISA means optimizations are a one-size-fits-all.
 
Mantle was designed to be compatible with modern programmable graphics pipelines. Period.

Understood, but I suspect that in order to get Mantle to work on, for example, Nvidia hardware, both AMD developers and other software developers involved with this API would have to do a significant amount of work? There must be a limit to how compatible with other hardware configurations Mantle can be made before one must start architectural specific programming to give Mantle-like gains (which are great by the way from what I've seen) on different hardware.
 
What would Nvidia have to do to 1 actually use mantle, and 2 get the same performance type gains as AMD with their GCN?

And what would AMD have to do to make that possible?

When it comes to the games, what do developers have to do, do they have to target the vendors arch to get gains, or would both vendors see similar games off the same code? (Excuse my simple terms)

I think those answers would clear up much speculation.
 
Understood, but I suspect that in order to get Mantle to work on, for example, Nvidia hardware, both AMD developers and software developers involved with this API would have to do a significant amount of work? There must be a limit to how compatible with other hardware configurations Mantle can be made before one must start architectural specific programming to give Mantle-like gains (which are great by the way from what I've seen) on different hardware.

This is a common and unfortunate misunderstanding. The API is only a layer that exists between the engine and the hardware, or the driver and the hardware. Releasing a public SDK for the API (which we intend to do this year) would permit any software developer of any sort to create a software package the incorporates and utilizes Mantle's functionality.

Once you have the API in your hands via a robust SDK, software optimization is limited only by skill and the boundaries of the hardware you're targeting. For example, DirectX is a vendor-neutral API with a public SDK, but through careful optimization it can be tuned to produce wildly different performance profiles depending on the hardware vendor.

Mantle too will become an API with a public SDK. That means anyone could use it to get the software overhead out of the way, either in an engine or a graphics driver. It is only a matter of willingness.

//EDIT: To be abundantly clear, a graphics API exists to facilitate communication between the game/driver/hardware triangle. Mantle greatly emphasizes the engine/hardware line, and greatly diminishes the size of the driver line, but the graphics driver must still support the API and know how to respond to those API calls!
 
Last edited:
This is a common and unfortunate misunderstanding. The API is only a layer that exists between the engine and the hardware, or the driver and the hardware. Releasing a public SDK for the API (which we intend to do this year) would permit any software developer of any sort to create a software package the incorporates and utilizes Mantle's functionality.

Once you have the API in your hands via a robust SDK, software optimization is limited only by skill and the boundaries of the hardware you're targeting. For example, DirectX is a vendor-neutral API with a public SDK, but through careful optimization it can be tuned to produce wildly different performance profiles depending on the hardware vendor.

Mantle too will become an API with a public SDK. That means anyone could use it to get the software overhead out of the way, either in an engine or a graphics driver. It is only a matter of willingness.

I see, thanks for explaining the reality of the situation :)

From previous information I was under the impression that Mantle was a graphics API currently tied to the GCN architecture unlike DirectX which is a generalised API. This new information is interesting and I look forward to see where Mantle goes from here, I see now that it does definitely have good potential.
 
I see, thanks for explaining the reality of the situation :)

From previous information I was under the impression that Mantle was a graphics API currently tied to the GCN architecture unlike DirectX which is a generalised API. This new information is interesting and I look forward to see where Mantle goes from here, I see now that it does definitely have good potential.

I'm glad Thracks came and explained it a hell of a lot better than i could. I was going off the many slides and presentations ive seen from AMD, Oxide, Dice and others. However its always more helpful to hear it from someone in the know and straight from the horses mouth. Thanks for popping by Robert. :)
 
This is the first time we've ever had information like this :p

So, to clarify, anything done in mantle, running on 2 different architecture GPU's which support mantle, will get the same gains off the same code versus directX? They don't each need to be specifically targeted to get gains? (As far as I can see, this hasn't specifically been answered)
 
Last edited:
There's a lot of speculation in this thread, so let me clear the air by stating the cold, hard facts:

1. Mantle is not specifically tied to Graphics Core Next, though it's obviously optimized in this direction.

2. Mantle has a meaningful, though thin, layer of abstraction that would permit it to be compatible with any modern, programmable (e.g. DX11-11.2) graphics architecture.

4. While Mantle is currently in closed beta for the purposes of rapid development, our intention to release a public SDK by the end of the year would open Mantle to the same extent as any other graphics API. Further adoption beyond that point would be limited only by a hardware vendor's willingness to do so. This would also permit a software vendor to optimize a Mantle render backend for other microarchitectures.

We fully support, and intend to pursue, any action that would broaden the adoption of Mantle and its philosophy of low-overhead game development. It is clear from the comments by Oxide, Firaxis, EA and other developers this is a worthwhile pursuit with clear and positive ramifications for the overall simplicity and robustness of game development.

The facts.

//edit: Added on sentence of clarification in the first paragraph of point #4.

You skipped point 3...
Standard practice at AMD? :p (just kidding)

The HD 6970 uses a VLIW4 architecture, which is quite dissimilar from the basic architecture of Graphics Core Next. Mantle support does not exist for VLIW4 because the underlying hardware is frankly incapable of running it.

I would also contend that there is no disparity between GCN-based products. If you look at the Thief performance figures, there is a notable uplift for the 270X and 280X products on the appropriate CPU. If you're trying to use BF4 as an example of a disparity, additional performance gains/optimizations for that application must come from the developer.

In every respect, we treat all GCN products as equal citizens, and what few driver-level optimizations can actually be made (remember, Mantle is designed to move the driver out of the way for developers) have already been made. The fact that these are all products utilizing the basic GCN ISA means optimizations are a one-size-fits-all.

So you're saying that the underlying architecture of the 6970 is incapable of supporting Mantle?
Because that developer (Josh Barczak) seemed to suggest that any issues using Mantle with other hardware is political and not technical. Hardware being incapable of running something sounds technical to me.
If this AMD hardware is incapable of running Mantle, how do we know that Nvidia hardware is? I mean Josh Barczak apparently knows, so maybe that's enough?
 
This is all well and good but, When nvidia don't use mantle who will it be 'open' to? Thus dividing red and green specific games that won't touch the other endorsed games.

If dx12 comes along soon then where would that leave mantle with only 30% of gamers able to use it.
 
This is the first time we've ever had information like this :p

So, to clarify, anything done in mantle, running on 2 different architecture GPU's which support mantle, will get the same gains off the same code versus directX? They don't each need to be specifically targeted to get gains? (As far as I can see, this hasn't specifically been answered)

Mantle as a general rule enables more performance than competing APIs, but requires extra effort from developers who crave the explicit hardware control that helps squeeze out that extra performance. Mantle takes the blinders off.

But that does not mean one slice of Mantle code would run equivalently on two wildly different architectures. Just like any other API, some degree of specialization in the code would be required to target a non-GCN architecture, but this is a trivial and expected outcome for anyone familiar with graphics API development.

You skipped point 3...
Standard practice at AMD? :p (just kidding)



So you're saying that the underlying architecture of the 6970 is incapable of supporting Mantle?
Because that developer (Josh Barczak) seemed to suggest that any issues using Mantle with other hardware is political and not technical. Hardware being incapable of running something sounds technical to me.
If this AMD hardware is incapable of running Mantle, how do we know that Nvidia hardware is? I mean Josh Barczak apparently knows, so maybe that's enough?

HARHAR. This is what I get for typing quickly. He's not referring to VLIW4 vs. GCN. Get my drift?

This is all well and good but, When nvidia don't use mantle who will it be 'open' to? Thus dividing red and green specific games that won't touch the other endorsed games.

If dx12 comes along soon then where would that leave mantle with only 30% of gamers able to use it.

It'll be open to any developer who--like Firaxis, EA and Oxide (to name a few)--are comfortable supporting multiple render backends. Game developers have been doing this for a very long time: Quake 2 supported PowerVR and OpenGL. Unreal Tournament supported OpenGL, D3D and Glide. Half-Life 2 supports OpenGL and D3D. Civilization: Beyond Earth will support Direct3D and Mantle. As Josh stated, the manhour cost of this decision is fixed and known, and many game developers are willing to pay that cost for less headaches down the road.

If you're a game developer concerned with giving the best experience to every gamer, then choosing Mantle for 40% of the market is a no-brainer. In the past few days, two noteworthy game developers have even expressed how and why DirectX 12 and Mantle should coexist, and why they will use both.
 
In the past few days, two noteworthy game developers have even expressed how and why DirectX 12 and Mantle should coexist, and why they will use both.

Would be great to see that in an article or blog with more information. :)
 
Back
Top Bottom