Some thoughts on Mantle and low level graphics APIs
When AMD announced Mantle, my first reaction to the idea of yet another graphics API, and a low level one at that, was negative. Like many others, I had visions of the problems in the early GPU days like happened with Glide.
After giving it some thought, I now feel very differently, and I am glad that AMD is heading in this direction (and perhaps NVidia as well in the not too distant future). These are my reasons:
The current gaming and 3d graphics market is completely different from the early days of 3dFX and Glide. In those days, there was one primary platform for 3d graphics and that was the PC (consoles were in their very early stages). There were more 3d hardware vendors than I could count (or remember) and no common graphics API. There was, however, one primary hardware platform and one primary operating system. Under these circumstances, dozens of vendor specific APIs all trying to operate on the same hardware and OS platform does not make good sense, and Glide was an example. Also, games were created from the ground up and the graphics engine was a custom part of each game, which would make supporting dozens of APIs, especially for the same platform unthinkable.
Today, the situation is reversed. There are only a few 3d graphics hardware vendors remaining (NVidia, AMD, Intel, Imagination, etc). There are now many different OS and hardware gaming platforms (Windows, Linux, IOS, Android, Playstation, and XBox for example). Also most games use commercial game engines written by just a few companies and used for many different games by many different game studios (CryEngine, UnReal Engine, Source Engine, etc). In such an environment, the game studios are largely isolated from the 3d graphics API, and its mostly the game engine companies that need to deal with it. As it is, they need to port their engines to a broad variety of OSs and hardware platforms. Having a few common low level APIs, specific to each GPU vendor, would not only greatly speed up the graphics, and add new features, but would probably actually lower the porting work by the engine companies, since the GPU companies are putting their graphics hardware on multiple OS/hardware platforms.
So it very likely will be a win, win, win, win for the GPU vendors, the gaming platforms, the game studio/engine companies, and the game customer. Better performance, more features, fewer ports, and more platforms.