lol Geo..too much info in there to just start pruning willy-nilly, eh?
I tell ya what tho...the conversation, albeit a bit technical, deals primarily with a complete balance of both G80 and R600. OBth Jawed and Mintmaster have picked out alot of behaviors on each gpu that can affect(quite largely, i might add) how a programmer may end up writing his code.
Differnt types of rendering have different needs, resource wise. IF we take the "major" graphics engines in use right now(Source, IDtech, Unreal3.0, Chrome, etc), you find each has different needs from a gpu.
But the one thing I have not seen Jawed or Mintmaster mention is that R600 is basically 64 pipes, each pipes with 4 main ALU's, and an additional 5th ALU with added functionality(integer multiplication and division, bit shifts, reciprocal, division, sqrt, rsqrt, log, exp, pow, sin, cos and type conversion. Source HD2000 programming guide).
As the programming guide states,
.
OOOps.
You see that there math up there? It gets used ALOT.
To tkae again from the programming guide, on R600,
Will run much slower than
Now, it's natural for a programmer to choose first option, as it means less typing.
But the question that comes to my mind is,
how does G80 deal with the same code?
With the exclusion of capbits in DX10, they can no longer substitute thier own code by driver when code given by api is not ideal. I think we now call this an "optimization"...
Anyway, given this, seemingly R600 likes simplified math. Can someone tell me about G80?