AMD Mantle API [updating]

This isn't possible, because DirectX11 is more than simply the D3D subsystem. Sure, it might be academically possible to build some "DX11-wrapper" using Mantle and some hackery.
I have stated repeatedly that this was a theoretical exercise, and I noted in an earlier post that the non-D3D parts would fall outside of Mantle. Any such solution would be very kludgy and unreliable, and Microsoft could opt to break whatever means the shim would have at interjecting itself between the application and the runtime.

What I did speak to would be why even with all that, there might be a moment's thought devoted to trying.
Even if it were difficult, catering to the large number of XP holdouts and simplifying the development of PC games would have given a significant marketing boost to AMD.

If Mantle does utilize some of the queuing functions in HSA, it could be pulling parts of what Vista rolled into the kernel driver back out to the user level, reversing part of the original reason for the DX break in the first place.

He's probably thinking more along the lines of allowing DX11.2+ features on Win7 rather than DX10+ features on XP. Mantle should be able to accommodate that.

That's what I find could be interesting going forward.
 
If Mantle does utilize some of the queuing functions in HSA, it could be pulling parts of what Vista rolled into the kernel driver back out to the user level, reversing part of the original reason for the DX break in the first place.
I don't see how, AMD specifically states that there is a "Mantle Driver" which handles the Mantle API calls. By pulling those calls into user space, you sacrifice quite a bit of latency in the transition out of Ring 0 to Ring1++.

mantle-2.jpg
 
Given how WDDM is designed, I would be very surprised if the majority of the Mantle drive ran in kernel mode. I imagine it's similar to how DX/GL work - i.e. majority runs in user mode with a minimal KMD for patch and other stuff (that may or may not be required on GCN). In fact, it's likely that it interacts with the same KMD as DirectX, etc. but we'll see if Johan goes over any of that design in his talk.
 
Sorry, I mis-stated. The API certainly exists in user space, but given the explanations and graphics provided thus far, I still assert there is a kernel level driver involved in the hand-off.

I'm happy to be wrong :)
 
Sorry, I mis-stated. The API certainly exists in user space, but given the explanations and graphics provided thus far, I still assert there is a kernel level driver involved in the hand-off.
Yeah it's not totally clear. I did ask Johan to speak to these issues a bit in his talk if possible, but I'm not sure if he'll have time to get to it; we'll see soon :)
 
Dave, wonder if we could have any details/slides (video?) from these sessions shared on the APU365 website in the same manner that they keynotes had? Very interested in all the Mantle stuff from you guys, Nixxes, Crytek and Oxide. Also Bullet and TressFX 2.0 would be nice. Thanks!

7QTNgTT.jpg
 
Those slides about "Multi Device" and "Crossfire Unleashed" remind me of Lucid Hydra.
Perhaps we'll see the GPU memory non-cloned between crossfired cards with Mantle?
With such low-level access, I guess different objects now can be binded freely to different GPUs (discrete or integrated) and then assembled back for the final frame. This way, much of the memory duplication and synchronization overhead can be avoided.
 
With such low-level access, I guess different objects now can be binded freely to different GPUs (discrete or integrated) and then assembled back for the final frame. This way, much of the memory duplication and synchronization overhead can be avoided.

Next stop is to make it game-agnostic and fully implemented in the API.
And then world domination with 100% performance boost between all kinds of GCN GPUs: two different discrete cards + iGPU.
 
I hear that Mantle will disable itself if it detects an Nvidia GPU in the system.

On a side note, is trolling frowned upon in B3D? :D
 
Next stop is to make it game-agnostic and fully implemented in the API.
And then world domination with 100% performance boost between all kinds of GCN GPUs: two different discrete cards + iGPU.

We already have those implementations called Alternate Frame Rendering (SLI and Crossfire) and Split Frame Rendering. They have scalability issues as each game has vastly different memory objects and dependencies. Mantle is more like OpenCL in the sense that it allows you to control each device independently. This is certainly better for game developers but its impossible to write code for all the different device combinations available on PC market.
 
Hmm repi didn't mention how they are circumventing wddm. He also mentioned it's not tied to gcn (interesting...). Other than that, no big surprises.
 
BF4 Mantle API deployment is aimed for late December. Time of implementation - 2 months. Larger effort to build the rendering engine to working state, but then much easier optimisation to the final engine state. According to Repi, total manpower time is globally smaller for Mantle than for other PC APIs.

gVQHGuw.jpg

thumb900_phpxjjx8fp1010528.jpg
 
Back
Top