old news but somewhat important question
if amd already created mantle, why did microsoft have to spend the resources to create dx12? how much of mantle is identical to dx12 codepath? is this a purely "legalistic/red-tape" move or was there any real engineering background logic as to why this is so?
if there are any devs in the house that see this this question is for you and please, if you can make your answer as technical as possible.
thank you gentlemen
Both the Mantle and DX12 API aim to gain efficiency by reducing the bottlenecks in communication channels from the CPU and GPU. With OpenGL being close to unsupported at this time AMD saw an opportunity to shake things up with a more efficient API. For them it is a strategy to compete with Nvidia in the sense that a less expensive card running Mantle can do what a more expensive competitive offering might running DX11.
DX12 has always been in the pipe for Microsoft but the Mantle API is here right now. I have a pair of R9 285's in my gaming rig and frankly on the games that run Mantle I don't even need a second card.
I'm not sure I'm going to describe this in more than a layman's technical sense, but essentially what Mantle aims to do is look at the existing hardware assets and allocate how to draw the image in the most efficient way given what is available in the system. Modern graphics cards have massive compute capability so in some cases it makes sense to offload some of the CPU overhead to the GPU. Mantle has low level access to the hardware in a way that it can dynamically adjust based on the available resources. DX12 will aim to do something similar.
i have a single r9 285 and have only experienced the best of quality from the games i have played on pc being a recent pc gamer. (now if i could on;y get it back from saphire RMA department )
It's a business decision by Microsoft. Asking why they did it if Mantle already exists is sort of like asking why would any other car company make a hybrid after Toyota already made a Prius. Developers will be more likely to use directx12 than mantle which is probably why amd dropped it.
AMD did not "drop" Mantle. Mantle is now a bigger project in 2015 than it has ever been, including continued life as a standalone API.
Then why are they telling developers to use DirectX or OpenGL?
Because OpenGL is the open source version of Mantle that works across OSes and across vendors, and DX12 has lots of industry interest. In both cases these APIs only offer what Mantle has already provided for 15 months. If that's the only functionality you're looking for, then it makes good business sense just to use the more open APIs. That's why we're focusing on Vulkan and DX12 starting in 2015, too.
But if you're looking for functionality that has already moved beyond that, let's talk about Mantle again.
Mantle is also the API running our LiquidVR platform, though we've been able to obfuscate it and make it accessible through DX.
i don't think microsoft would copy and paste mantle api into their compilers and relabel it simply as dx12.
what i do know is that generally speaking with all else things equals is that mantle outperforms dx12 to various degrees.
in lan2007 i was too tired to have a discussion on the one to my left sitting beside me he wanted to lecture me on the rendering pipeline, i would have enjoyed that i was too tired to listen. the next morning and few days i wasn't able to catch him again.
from the little discussion (brief) that did take place i know how api's work and the whole low level hardware abstraction along with the reduced overhead. however, i am curious if there are any (gave devs) or of such know-hows onto how much mantle is like dx12 and vice versa.
apart from open source vs exclusivity (industry support included), are there any 'technical' difference(s) between the two? yes they both have a similar mode of operation but specific features, extensions i just wanted to know.
thank you for your replies.