[Mesa-dev] [PATCH 7/9] i965: Pack simple pipelined query objects into the same buffer
Kenneth Graunke
kenneth at whitecape.org
Sat Oct 6 01:57:29 UTC 2018
On Tuesday, October 2, 2018 11:06:23 AM PDT Chris Wilson wrote:
> Reuse the same query object buffer for multiple queries within the same
> batch.
>
> A task for the future is propagating the GL_NO_MEMORY errors.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Kenneth Graunke <kenneth at whitecape.org>
> Cc: Matt Turner <mattst88 at gmail.com>
> ---
> src/mesa/drivers/dri/i965/brw_context.c | 3 ++
> src/mesa/drivers/dri/i965/brw_context.h | 10 +++--
> src/mesa/drivers/dri/i965/brw_queryobj.c | 16 +++----
> src/mesa/drivers/dri/i965/gen6_queryobj.c | 51 ++++++++++++++++++-----
> 4 files changed, 59 insertions(+), 21 deletions(-)
Don't want to do this. This means that WaitQuery will wait on the whole
group of packed queries instead of just the one the app asked about.
Vulkan has to pack queries by design, and it turns out this was a real
issue there. See b2c97bc789198427043cd902bc76e194e7e81c7d. Jason ended
up making it busy-wait to avoid bo_waiting on the entire pool, and it
improved Serious Engine performance by 20%.
We could busy-wait in GL too, for lower latency but more CPU waste,
but I think I prefer separate BOs + bo_wait.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20181005/cf818deb/attachment.sig>
More information about the mesa-dev
mailing list