Not quite. In a typical pipeline the oldest draw command enters the top of the pipe and is immediately followed by the second draw. Multiple draws can be in flight at the same time so depending on the size of a draw command the ROPs will be working on the same draw as the geometry blocks or a different draw.Thanks, so traditionally I guess a task would travel through the different blocks of the graphics pipeline one at a time in sequence meaning that while the first blocks are active, the later blocks (e.g. ROPS) would be idle? And so the idea of mutliple graphics cmmand processors would in theory be to fill as much of the fixed function elements of the graphics pipeline simultaneously as possible?
The front end of a GPU can have a back log of work as the game/driver is often ahead of the GPU. If the game decides to perform a high priority operation it might wish to skip to the front of the line.
It's a different situation from async compute which can more efficiently fill the shaders because it bypasses the fixed function graphics pipeline.
Edit: Note that I'm briefly describing a second graphics queue or command processor. If portions of the graphics pipe are duplicated the results might be different.