Oh they're definitely both T&L units, its just that one is fixed function (does certain fixed tasks you enable or disable) and the other you program to do what you want it to do, within the boundries of transform and lighting of course.
Its just that I'd imagine the first would be the faster/cheaper option for static geometry and would allow perfect out of the box compatability with GC games. While the second would be slower but able to handle more varied tasks. Which is why I thought that possibly they could use the fast and cheap Flipper T&L unit for 100% GC compatability and static geometry. While using a additional vertex shader to do whatever the CPU would have had to do on GC.
Even "fixed function" T&L is so flexible that you really want something programmable/heavily configurable to implement it in silicon. There's
up to eight different lights, which can be spots, points, directional with programmable fall-off functions, not to mention the various modes of automatic texcoord generation that many of the "fixed function" T&L engines can accelerate.
That multiplies out to
a whole damn lot of different programs that need to be supported somehow. Instead of building a static logic block that manages to support
everything (perhaps with lots of loop-backs), just jumping for a little processor that can do vector MADDs and dot products and is programmable just to the necessary extent is a pretty attractive solution.
Where exactly you draw the line between configurable and programmable is pretty arbitrary anyway, it's just tiny little steps between the concepts in practice. According to popular wisdom a Geforce 3's pixel and vertex pipes are programmable while a Geforce 2's are not, and that doesn't make much sense to me. Geforce 3 re-uses the exact same ALU blocks, it's just that it can loop to allow longer chains of "instructions" to be executed on it. Okay, that's forgetting the TS, but that leads me back to Flipper's TEV and that's where I want to be: what makes Flipper look "not programmable", above all else, is that Microsoft doesn't have a version number for it. Not the technology itself. It may not support everything a Geforce 3, which has a number assigned, supports, but the same thing is true in the opposite direction.
"Fixed function" T&L is perceived as not programmable because Microsoft doesn't have a version number for it. If you program the chip directly you'll never feel a difference, you'll never feel like you've just crossed that line. And down at the hardware level, transistors at large have been found to not care whether they are executing a pompous MUL instruction or are just
casually forming a multiplier.