So I'm not really active here the last, like five years or so, but I figured I can still post highly controversial topics.
so lets throw this out there: **** the fixed function pipeline. seriously.
Now I know what you are thinking: "The hell are you on Bob?! We need that for backwards compatibility!"
to which I respond: "Compatibility with what?"
Seriously, this probably could have been done in 2007, it's twice that now, I think it's safe to mark the fixed function HT&L pipeline deprecated and focus squarely on the programmable shader utopia future.
Granted some work probably needs to be done in terms of making the shaders work for the few people who cannot use them now, but I think that would be less work in the long run than maintaining the old non-programmable option.
We did this with HT&L vs ST&L.
Why is making an active choice to do this good? why not just leave it there and maybe not give it as much attention?
The fixed function and programmable pipelines behave in massively different ways, maintaining the fixed function pipeline means you will forever be chained to having things organized the way it likes. dropping it would allow for major restructurings that could allow a vastly simpler and more flexible internal structure, which would translate directly into better features, developed faster and made more stable. With the policy of 'we must maintain the fixed function' in place no coder would ever be allowed to make these improvements.
So. Who's with me?
/*grabs pitch fork and torch*/
(also poll about if your graphics card is incapable of supporting freespace open in shader mode. lets see if I'm wrong about this.)