aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker/st_pbo.c
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2017-04-04 14:36:46 -0700
committerJason Ekstrand <[email protected]>2017-04-05 21:17:11 -0700
commitb2c97bc789198427043cd902bc76e194e7e81c7d (patch)
tree152b9e6c5d646ae0c5c64488978f687e95650eae /src/mesa/state_tracker/st_pbo.c
parentf195d40eca49800799d85d110939a125041f4028 (diff)
anv/query: Busy-wait for available query entries
Before, we were just looking at whether or not the user wanted us to wait and waiting on the BO. Some clients, such as the Serious engine, use a single query pool for hundreds of individual query results where the writes for those queries may be split across several command buffers. In this scenario, the individual query we're looking for may become available long before the BO is idle so waiting on the query pool BO to be finished is wasteful. This commit makes us instead busy-loop on each query until it's available. This significantly reduces pipeline bubbles and improves performance of The Talos Principle on medium settings (where the GPU isn't overloaded with drawing) by around 20% on my SkyLake gt4. Reviewed-by: Chris Wilson <[email protected]> Tested-by: Eero Tamminen <[email protected]> Tested-by: Grazvydas Ignotas <[email protected]>
Diffstat (limited to 'src/mesa/state_tracker/st_pbo.c')
0 files changed, 0 insertions, 0 deletions