Something has been bugging me all day long now and despite some poking around in textbooks and websites, I'm none the wiser. It concerns the pipelines and various units in a graphics chip.
Let's take the example of a GeForce4 (NV25) chip. It has 4 pipelines, with 2 "TMUs" for each one. It also "has" two vertex shader units and a single pixel shader unit. How does this all link together? I was under the impression (which knowing my luck is probably so far off, it's like looking at Pluto through a pair of binoculars) that the vertex shader unit was simply the part of the graphics processing chip that did all the geometry stuff - you'd either program the app using the "standard hardware TnL" rendering pipeline, which would let the drivers handle how the VS unit crunches the data, or you would use vertex shader routines to explicitly control what the hardware is actually doing. Is this right?
If so, how do the dual VS units of the GF4 work with 4 pipelines? I know these operate in parallel so is it a case of when a pipeline has data in the geometry stage, it requests the use of a free VS unit? With something like a GF2 would this mean that each pipeline has to take it in turn to use the one-and-only VS unit?
How do the TMUs and pixel shader unit relate to each other? Is the latter solely used for the mathematics operations in PS routines, such as blending values, etc? How do the TMUs and PS unit work together or are they the same thing?
I need an aspirin...
Let's take the example of a GeForce4 (NV25) chip. It has 4 pipelines, with 2 "TMUs" for each one. It also "has" two vertex shader units and a single pixel shader unit. How does this all link together? I was under the impression (which knowing my luck is probably so far off, it's like looking at Pluto through a pair of binoculars) that the vertex shader unit was simply the part of the graphics processing chip that did all the geometry stuff - you'd either program the app using the "standard hardware TnL" rendering pipeline, which would let the drivers handle how the VS unit crunches the data, or you would use vertex shader routines to explicitly control what the hardware is actually doing. Is this right?
If so, how do the dual VS units of the GF4 work with 4 pipelines? I know these operate in parallel so is it a case of when a pipeline has data in the geometry stage, it requests the use of a free VS unit? With something like a GF2 would this mean that each pipeline has to take it in turn to use the one-and-only VS unit?
How do the TMUs and pixel shader unit relate to each other? Is the latter solely used for the mathematics operations in PS routines, such as blending values, etc? How do the TMUs and PS unit work together or are they the same thing?
I need an aspirin...