AMD's Mantle (alternative to DirectX)

Have you guys considered the new Mantle API? I know you aren’t a fan on OpenGL, so what about Mantle?

From @INovaeKeith’s blog on the subject

Mantle & CUDA
Ultimately Mantle, which is an open specification like OpenGL, and CUDA are the reason I think OpenGL is doomed, or at least the reason OpenGL should be doomed unless the Khronos Group does something radical, and they’re also the reason the API wars are so interesting right now. For those of you who don’t know, at a high level a graphics driver primarily does 3 things: it manages memory and it creates then executes command buffers. The primary purpose of Mantle is to provide developers with a lightweight hardware abstraction layer so they have more control over those 3 things than DirectX and OpenGL currently allow. Basically it gets developers closer to how the hardware actually works while reducing OS and driver overhead. CUDA isn’t actually a graphics API per se, it’s a proprietary compute shader language/runtime that provides seamless integration with C/C++, however I don’t think it would take much for NVIDIA to turn it into a direct competitor with Mantle which is why I mention it here.

The jury is still out on Mantle and I think a lot depends on how Intel and NVIDIA react. If AMD can convince one of them or one of the mobile manufacturers to include it on their platform that’d be a huge vote of confidence for Mantle being useful on something other than AMD hardware. The reason Mantle and CUDA are such a threat to OpenGL is because, as has already been mentioned, the Khronos Group is not very good at responding quickly to changes in the marketplace. Microsoft has established with DirectX 8 and DirectX 10 that it is not afraid to completely rewrite DirectX to better accommodate changes in the architecture of next-gen hardware. There is nothing to prevent Microsoft from creating a Mantle style API with DirectX 12 and porting it to older versions of Windows whereas the Khronos Group demonstrated the exact opposite when they failed to rewrite OpenGL in any meaningful way with version 3.0. If Mantle gains traction, and Microsoft rewrites DirectX with version 12 to meet that threat, what incentive remains to use OpenGL? An even more radical thought is what if Microsoft does in fact discontinue development of DirectX, as AMD has suggested it might, in favor of Mantle? That would certainly explain why AMD made such a bold statement. Either way if Mantle begins gaining serious traction it seems likely OpenGL will no longer be worth supporting.

Can’t believe i missed that -____-

Found something interesting:

1 Like

A lot of my friends who are more of mobile/web developers keep telling me to start using Mantle and it’s annoying because… I can’t. Not yet :stuck_out_tongue:

Also, to Keith:

I think there’s a lot of aspects from which OpenGL’s core design doesn’t seem so bad, but the most popular approach to rendering and architecture in the game industry seems to be suited better to Direct3D/Mantle. I know you find this hard to believe. I think the common retrospective on graphics architecture is pretty biased and mislead. The more I dig up, the more I find the reasons believed to explain how we are situated as we are to be false (“programmable graphics pipeline”, pfft :cow2:).

Regarding “swiss army knife functions”, I think that depends on whether the functionality is capable of being reasonably abstracted into one mechanism or not. A definite problem arises when desigers try to push convention universally rather than just let conventional tendencies manifest from functionally good design. That’s probably a reason behind several mistakes we find in OpenGL (and much other software projects too). Abstraction is more of a computer science concept than a software engineering concept; I’d assert the low-level/high-level language duality paradigm is rubbish.

The rest of your points don’t seem so convincing. They’re only a small matter of time and effort to complete.