However, if you consider mobile gaming then cross-platform code is a non-issue as well. When you're doing production mobile/console work, you spend so much time doing platform-specific optimizations, it's not even funny.
This is not really true with platforms like the iPhone, which support OpenGL ES 2.0. If you're talking about a AAA iPhone game -- sure, you will need to design specifically for the exact specs of the device. However, if you are porting a game that does not require absolutely 100% of the iPhone's capabilities, I think you would be surprised how easy it is to cross compile, for example, Black Shades for the iPhone.
If you support more than one mobile gaming platform, and they support a common API such as OpenGL, wouldn't one use that? Maybe write wrappers to expose a uniform interface where the implementations differ?
But maybe you're saying the optimizations required break the ability to have a cross-platform solution (even with good wrappers)?
Most platforms that at least support OpenGL/ES seem to be at least similar enough conceptually that you should just need different optimised render paths, not a totally different engine. Different render paths are something you'll need anyway, regardless of API, unless you're targeting exactly one machine.
You'll probably struggle more with the difference in RAM and CPU power available to the app than the different GPUs. In the simplest case you just use bigger textures and higher-poly models on better hardware if they all implement GL ES. Compare this to, say, the Nintendo DS, which is different from any other GPU I've ever worked with; writing a cross-platform engine that supports it is tricky. There isn't a GL ES implementation for it as far as I'm aware.
When they messed up OpenGL 3, I instantly became less interested. :-(
Having said that, since I primarily use Linux for development, anything graphics intensive that I would code will still use OpenGL, even if Windows is the primary target, since it lets me develop on Linux, like I normally do.
"However, desktop gamers are pretty savvy. They can tell when they're being treated like second-class citizens, and will vote against low-quality ports with their wallets."
- From the Article
I like to believe that too, except Modern Warfare 2 shattered that myth.