AMD's Mantle Graphics API For Linux?
Since the announcement earlier this week, many Phoronix readers have been asking about Mantle on Linux and discussing the AMD graphics API within the forums. Now that I'm back into the office as of yesterday evening and have had some time to look further into Mantle and followed up with some of my contacts, I have a better feeling for the API.
For enthusiasts that did any level of reading into Mantle, you should know it won't be an OpenGL-killer anytime soon. Initially the AMD Mantle API has just been implemented in the Catalyst Windows driver, but other platforms are planned to be supported. In theory it shouldn't be too much work for Mantle to come to the Catalyst Linux graphics driver given it's a largely shared code-base already right now with the Windows Catalyst driver, but will likely take Linux developer interest for AMD to ship it in their Linux blob.
NVIDIA and Intel also haven't committed to supporting this graphics rendering API. Beyond that, AMD is just supporting Mantle on their "GCN" hardware, which is the Radeon HD 7000 series and newer.
Mantle is still very young, but it will take a long while until it could possibly be widely supported. Within the open-source Linux graphics drivers, it's likely to take what would seem like an eternity given that Mesa developers are still working to support OpenGL 3.2/3.3 compared to OpenGL 4.4 upstream, unless AMD were to do some fabulous code drop.
On the application side, the Mantle launch title is Battlefield 4. AMD has said to have developed Mandle in conjunction with top game developers and their lightweight driver that allows direct access to GPU hardware.
As far as why AMD is pushing this new low-level graphics API, they claim that it offers nine times more draw calls per second than other APIs thanks to reduced CPU overhead, higher graphics performance with direct access to GPU functionality, presents new rendering techniques, and leverages optimization work spanning from next-gen game consoles to PCs. Mantle is also compatible with Microsoft HLSL -- the shading language for Direct3D -- but there's no mention of GLSL compatibility for Linux fans.
If the performance gains are really worthwhile, it's possible we could see Mantle used by some game engines as a complementary renderer to Direct3D/OpenGL, but given the limited support presence of the graphics API, it's unlikely to see any Mantle-only titles in the foreseeable future. What's perhaps more likely to see are some of the design advantages and rendering features of Mantle incorporated back into future revisions of the Khronos OpenGL specification.
We'll see in the coming months how the Mantle support and feature-set evolves and whether AMD is able to make any Linux play out of the situation.