Mintmaster
Veteran
How? You still only get one triangle per clock fed to the rasterizers.Dave answered this question, but there are probably multiple reasons for dual rasterizers without increasing the setup rate. One is by working on 2 triangles or tiles in parallel you speed up rendering of triangles that don't cover multiple tiles.
Are you talking about pixels to the rasterizer or pixels to the shader engine? For the latter, you can definately have pixels from multiple triangles. For the former, why does it matter? You only have a maximum of one triange per clock going into the rasterizer.Previous designs rasterized one triangle at a time so all pixels had to come from one triangle to achieve full rate. As Dave said each now works on a different group of tiles.
The only way dual rasterizers help is to reduce bubbles a bit. If the shader engines are busy working on pixels from bigger triangles, the setup engine will fill the post setup polygon cache, and these may be small triangles. When there's room for more pixels in the shader engine, the rasterizer can empty that cache since it processes it twice as fast as the setup engine fills it. Then, when a big triangle comes, the setup engine can still keep plugging away until the cache fills again.
The result is that instead of always having #cycles = #triangles + #quads/8 for simple pixels, you now have a best case of #cycles = max{#triangles, #quads/8} if the big and small triangles are sufficiently interleaved. For uniform loads, though, a single rasterizer is just as fast as dual.
Interestingly, this also affects where you decide to put your cache. With a 1 tri/clk rasterizer, you have no need for a post-setup cache, and instead buffer pixels after the rasterizer.