This is NOT like the x86 situation, because if you didn't notice, ps/vs specs are completely changing in every revision. ps2.0 is nothing like ps1.1, nor is it required to be. So how are IHVs constrained, when they are free to reinvent the spec in every hardware revision?
Yes it is... Vertex Shaders and Pixel shaders are largely optional rendering paths within DX. Just like MMX, SSE, SSE2, 3Dnow!, 3Dnow! Enhanced and 3Dnow Professinal (read: SSE) are optional extensions to x86.
NO IHVs at all, will EVER write backends for Cg, just like no IHVs wrote backends for Glide.
How would one write a "back-end" for Glide? It's an API not a compiler. Also, unlike Glide which was closed to 3Dfx, Cg is open to others... You can write a profile yourself, you necessarily need somebody else to do it for you.
No, the crux of the argument is NOT that it's vendor-biased; It's that it's vendor-controlled (at least the language&tools are). Don't you realise what it would mean for ATI to put the future of their development into NVIDIA's tools? It's like Apple switching to Visual Basic or C# if Microsoft gave them a backend.
Bad analogy (aside from VB and C# sucking), Apple has it's own internal language support and API investments. ATi doesn't. Nor are they switching to anything, because they're not going from an existing language, just endorsing a new one (DXP HLSL).
It's just nuts, because no matter how harmless it seems, it's a dog eat dog world, and if ATI promoted Cg, their eggs would all be in NVIDIA's basket, and NVIDIA is free to tip it over whenever they want.
If it is, it's just as nuts as endorsing 2 3D APIs. Supporting Cg doesn't entail "putting all their eggs into one basket", at worst it's just distributing them around to hedge your bets.
Likewise they could build their own Cg compiler with support for themselves, and even go one step further with preserving the Nvidia profiles, and possibly wrest control of Cg from Nvidia due to better implementation (couldn't use the Cg name though). It's be interesting to see what Nvidia would do such circumstances. It's not unheard of, take a look what's happened with Java...
Cg is currently the only HLSL available for OpenGL
That's not quite true. SGI's ISL has been around for several years now (although AFAIK it's specific to SGI hardware). Actually I think ESMTL also compiled to OpenGL as well but that a little older and more limited.
Really all this hullabaloo is kind've funny since HLSL's have been around for years (Hell Renderman has been around for ages, although it doesn't emphasize real-time performance). The only reason it's getting all this attention lately is simply because consumer level hardware is becoming capable enough to run them...
* ps_1_1, ps_1_2 and ps_1_3 for DirectX 8 and DirectX 9 <---- Doh !! PS 1.4 Radeon 8500/9000/9100 owners robbed..no support yet !! Its as if DX 8.1 didn't exist
Well 8.1 does exist. It's PS1.4 that doesn't exist...
You don't exactly see 3Dlabs, Matrox, SiS, et al cranking out PS1.4 parts do you?