5 ms·
There's two main parts to the stall, which aren't well illustrated by the diagram (I'll get on updating it): 1. Waiting for the resource to exit the command st
by acomminos 9y ago
There's two main parts to the stall, which aren't well illustrated by the diagram (I'll get on updating it):
1. Waiting for the resource to exit the command stream (wined3d_resource_wait_idle).
2. Waiting for the CS thread to finish after the map (occurs in wined3d_cs_map).
It's a pipeline stall because the D3D thread has to wait for the CS thread to do things, and thus is unable to dispatch more commands to the CS (and thus the GPU) during this time. I don't consider the actual glMapBufferRange to be part of the stall.
Edit: saw your edit :)
- twtw 9y agoThanks for clarifying, that makes sense. I'm glad you saw the edit. I initially wrote it based on my first interpretation of what you wrote, but after re-reading I realized that your description was totally accurate, I just misunderstood. Great work, and thanks for writing it up.