Yeah, Mantle's job was to show everybody that people want the lower-level graphics APIs and higher multithreading capabilities.
More multi-threaded applications would also make the FX processors look better.
Mantle got absorbed into OpenGL project and traditionally Windows game developers have hated OpenGL more than DirectX because of shitty documentation. Those devs who are working on their own Windows exclusive titles from ground up will stick to DX12 with no reason to switch over.
Only commercial game engine devs like Unity, Valve, Unreal etc care about OpenGL because of cross-platform compatibility and it's in their hands if Vulkan will live or die on Windows.
What it sought to do is sell AMD cards with exclusive titles but it didn't really take off because none of the AAA games that were Mantle's poster boys (BF4 etc) showed much technical superiority over DX11. Tech demos like Star Swarm are irrelevant when there's no benefit in actual games.
Consoles have always had the advantage of low level graphics APIs. It's the PC master race which benefits from DX12/Mantle when their games gets closer to bare metal again after years of high level APIs finally showing the true gap between outdated console hardware and modern PC GPUs on a level playing field.
Don't confuse Vulkan and OpenGL, those are two different API's. OpenGL isn't going away and Vulkan is quite different than OpenGL. Rather than Vulkan being a new version of OpenGL, it's an API based on Mantle, so nothing to do with OpenGL. Developers already showed interest in Mantle even though it was AMD only, so Vulkan should be even more popular especially if Valve pushes it on SteamOS. It also will work on older Windows version like 7 and 8.1 (for those that don't want to switch to 10).
Also keep in mind that both Vulkan and DirectX 12 are very similar so porting one to the other should be a lot simpler than porting DirectX 11 to OpenGL.
Wrong. Vulkan was publicly advertised ans "next gen OpenGL". At this point the future of Mantle or Vulkan or whatever is to be a subset and an addition to OpenGL. Kronos has been going back and forth with the name so it's hard to say what the OpenGL+Mantle will be called in few years. It could be OpenGL for mobile and Vulkan for x86, or it could be just OpenGL or just Vulkan.
DX12 changes are done on top of DX11, Mantle changes are done on top of OpenGL. Porting between the two is not gonna be any easier than before.
The best reason to advertise it as next gen of OpenGL would be if they plan for a future merge.
There's no separate DX11 and DX12 in Windows 10 (afaik). The new CPU optimization features are simply added to the Direct3D library v12.
You don't seam to understand what DirectX 12 does if you think it's just a well threaded DX 11 version. If that were to be true than the XBOXONE wouldn't be switching to 12 cause it already has a 11.X which has good MT.
- - - Updated - - -
http://www.anandtech.com/show/8544/microsoft-details-direct3d-113-12-new-features
First and foremost then, Microsoft has announced that there will be a new version of Direct3D 11 coinciding with Direct3D 12. Dubbed Direct3D 11.3, this new version of Direct3D is a continuation of the development and evolution of the Direct3D 11 API and like the previous point updates will be adding API support for features found in upcoming hardware.
Better people than you have given better explanations of the hate for OpenGL. Like for example ex Valve employee Rich Geldreich. But Documentation was #12. Most of the issues are because OpenGL has a lot of legacy. That's why Vulkan was created because building on top of OpenGL was getting out of hand.
No game developer was going to make a game too far off from DX11 to show off Mantle. The core of modern games are going to be build on DX11 for a while, and DX12/Vulkan are going to be slow to catch on. Especially when older generation of graphic cards can't support the new API's, or should I say AMD/Nvidia won't support newer API's for older cards. How old are the Radeon HD 5000/6000 cards? They're about due to go legacy and that's gonna be hard to do when they can still play modern games just fine. Though I'm willing to believe that someone is going to make working open source Vulkan drivers for Linux for older graphic cards. Vulkan works on crummy Intel graphic cards, so why wouldn't it work on any DX11 capable card?What it sought to do is sell AMD cards with exclusive titles but it didn't really take off because none of the AAA games that were Mantle's poster boys (BF4 etc) showed much technical superiority over DX11. Tech demos like Star Swarm are irrelevant when there's no benefit in actual games.
My point is if every DX11 card could support DX12/Vulkan than why use DX11 at all? Cause AMD/Nvidia want you to buy new graphic cards to get those benefits. Developers aren't about to dump DX11/OpenGL unless all their customers can use these new modern API's. But Vulkan has the edge here since DX12 is Windows 10 speicific. Vulkan doesn't care what OS you use, let alone what version of Windows.
Vulkan has no OpenGL legacy code what so ever. It is heavily Mantle influenced, but otherwise everything about Vulkan is new. OpenGL 5 or OpenGL-Next were place holder names until Kronos came up with a new name.
Since drivers with the new API's are very thin and there are no driver side optimizations the platform should be irrelevant since there won't be good or bad drivers.There will be one driver on release for a platform and than that's it. There won't be multiple driver updates when games come out. The only time you will see updates to drivers it will be related to either DirectX 11/Open GL or some kind of control panel feature or bug fixes which are not related to the graphics API.
DX12 is to DX11 as Vulkan is to OpenGL. Nothing was added to DX11 to get to DX12. Actually if you look at the header files the amount of function definitions have gone down by a huge amount in DX12.
OpenGL will live on and do it's own thing separate from Vulkan. OpenGL and Vulkan are very very different in many ways and would not make sense to merge. Same goes for DX12. DX12 is very different from DX11 and it's more of a API break than a evolution of DX12.
The reason developers uses DX isn't because of documentation but rather OpenGL is a hot mess because the group that managed OpenGL back when it was the most popular API weren't game developers. They didn't want new version to break compatability with new version of opengl.
OpenGL can do the same task 3 different ways. It's too large for modern development. When OpenGL 3.0 was in development it was supposed to be a clean break and create a more modern api akin to DX. Didn't happen because of said companies. Not only didn't it break compatability but it was also late to the party.
Also Microsoft also had a finger in the break from OpenGL as they openly said OpenGL wasn't going to native but rather it would function ontop of DX which would create overhead compared to DX. Microsoft later backtracked but it was too late.
Today OpenGL was handed to Khronos and OpenGL 4.5 is faster than DX11 because they already started doing AZDO(approaching zero driver overhead) things. The has changed alot but still has legacy croft which creates large unwieldy drivers with suboptimal performance.
The apis did alot of things behind the certains. Developers don't know exactly what code path is optimal and different drivers have different code paths.
The Vulkan work group consists of big players in the game industry: Unity, Epic(Unreal Engine), Blizzard, EA, GPU manufacturers. This will hopefully create an API which is geared for modern GFX and games development while still hopefully maintaining a fast evolving API which will maybe be cutting edge. If you look at the features added today DX pretty much just implemented what AMD and nVidia had already added to OpenGL via extensions.
DX12/Vulkan are new API's which hand responsibility over to the game developers. The old model where driver developers(nVidia/AMD/etc.) had to do optimizations to games is no longer needed. It's the developers responsability to do things correctly. Before if you did something very bad like forgetting to call a function that signalled a new frame and end frame the driver developers would actually go in and add that to the driver for that specific game. Here the driver doesn't hold your hand and tell you everythings going to be alright but rather just let your game do things wrong and ultimately cause a crash.
When engines are finally optimized for the new api's the real performance gains will be shown. If you look at Thief it had performance gains over what other Mantle games had because of async shaders. These features are in the new apis and AMD's gpu's are built for that purpose(Not sure about nvidia as AMD has been the only one to really talk about these things).
These api's also create much more stable frame pacing which decreases stutters because developers can control when things happen and not let the driver decide. This will be a huge boon for VR as VR really needs high stable framerate to maintain proper immersion and keeping people from becoming physically sick of the experience.
On the AMD side the oldest GPU to support is the 7000 series which is now about 3.5 years old, on NVidia side it's the 400 series which is about 5 years old. Everything else is older than that. By the time games come out with DX12 support the 7000 series will be 4 years old and 3 generations of GPU's will support the API. That's quite old.
This is the reason why I think DX 12 and Vulkan will catch on fast. A ton of hardware will support those API's one day 1, Win 10 will be a free upgrade for everyone that owns 7 or 8 (Vulkan will probably work on 7 and 8 and Linux), and it will be the same API on XBOX ONE as on PC.
That's true but understand that while these graphic cards are old they are still capable of playing modern games with nearly max settings. Given you have a high end card like a HD 5950 which would run modern games with 1080P with medium settings. The Radeon HD 7850 which I own has been renamed to the 265, which is going to be renamed again as the 360. GeForce 500 series is also 5 years old but anyone who owns them is probably fine with their performance in modern games, and they're all DX11. They're listed as partial Direct3D 12 support. Not sure what that even means.
A ton of hardware will but not all the hardware. And not all the OS's will support DX12. For this reason developers will generally want to stick with games that are very DX11ish. Right now DX11 uses HLSL code, while OpenGL uses GLSL. Hence why Valve made a HLSL to GLSL converter which they open sourced. But I think DX12 is going to continue to use HLSL, and this makes it easy for developers to support both DX11 and DX12. Mantle BTW can also use HLSL, which made it easy for developers to use DX11 code in the Mantle API. Meanwhile Vulkan will use SPIR-V which is really nice I hear cause it's ripped from OpenCL. Problem is nobody uses OpenCL for gaming.This is the reason why I think DX 12 and Vulkan will catch on fast. A ton of hardware will support those API's one day 1, Win 10 will be a free upgrade for everyone that owns 7 or 8 (Vulkan will probably work on 7 and 8 and Linux), and it will be the same API on XBOX ONE as on PC.
On one hand you have DX12 which is going to be easy for developers to migrate over from DX11. But it's specific to Windows and even then, specific to Windows 10. Vulkan on the other hand is not OS limited what so ever. SPR-V is the realy powerhouse of Vulkan.
Last edited by Vash The Stampede; 2015-05-25 at 04:43 AM.
You don't seem to understand that Microsoft added the multitasking support to DX11 for XB1 already way back but didn't do it for PC. Why? Probably because they had to get it working on the hundreds of other GPUs in addition to the one in XB1 and to coincide it with the launch of Windows10. XB1 DX11 version already includes all the MT optimizations for single GPU which will come out as generic support in DX12 for everyone.
It was the #1 reason when I last looked into low level graphics programming, more than ten years ago. Very hard to get started without proper SDK was the big problem then.
Why bother advertising Mantle then or releasing it at all if it gives zero performance benefit? It's useless in that case. Just think about it from marketing perspective.
Microsoft already announced that DX12 will work on almost all currently existing DX11 cards. There's very little reason to stick to DX11 if that's true.
Laziness or money. Don't need to change the game engine for new DX version would be the only reason.
Which is bullshit because DX12 works on DX11 cards.
Graphics APi is not the only thing preventing porting Windows games to linux. It's a big part, but not even half of it.
OC3D posted a picture of 980Ti reference card in case you missed it
THE HORDE WILL ENDURE
THE HORDE IS STRONG!
Learnt my lesson buying ATI in the past. Never again rather pay a little extra for a card that's on-par or perhaps even a little worse. ATI Support is nearly none existent and the drivers are trash.