Silverforce11
Lifer
- Feb 19, 2009
- 10,457
- 10
- 76
The graphics pipeline is serial. Rasterizers are idling because running workload has not or had reached them. You cant access these Rasterizers through a dedicated queue to fill them with "work". You should read a little bit more about this: https://msdn.microsoft.com/en-us/library/windows/desktop/ff476882(v=vs.85).aspx
DMA engines copy information from the host system to the gpu before the GPU starts the workload. It has nothing to do with "asynchronous shaders(compute)".
The graphics pipeline USED to be serial.
id Software run Shadow Maps on the Rasterizer and other tasks on the Shaders at the same time.. you say they can't?!
Shadow map rendering, as an example, is typically bottlenecked by fixed pipeline processing (eg rasterisation) and memory bandwidth rather than raw compute performance. This means that when rendering your shadow maps, if nothing is running in parallel, you're effectively wasting a lot of GPU processing power.
/facepalm
In simple to understand diagrams, watch and learn:
https://youtu.be/H1L4iLIU9xU?t=14m49s
Yes you can, access Rasterizers & DMAs to fill them with "work" while Shaders are running. That's the entire point of the Multi-Engine design of DX12/Vulkan.