zink: properly handle query pool overflows
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Mon, 25 May 2020 14:59:57 +0000 (10:59 -0400)
committerMarge Bot <eric+marge@anholt.net>
Mon, 13 Jul 2020 20:59:07 +0000 (20:59 +0000)
commit2c02ca21842c71162dbcce98d4b7357db5489348
treee3bb19110da5488503c67a54cb3a45da442429e2
parent510631ad76b8e10ccbfed2968cbe8622e2203d98
zink: properly handle query pool overflows

inline a query result value to each query object so we can stash the partial
result just before we do a pool reset, which will always happen during the
suspend/resume query mechanism that swaps active queries from a flushed batch
to the next batch

once (or if) the "real" call to fetch query results is called, we can dump the
inlined value into the fetch value and return the full results

fixes mesa/mesa#3000

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5533>
src/gallium/drivers/zink/zink_query.c