zink: flush active queries on destroy and free query object
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Wed, 20 May 2020 13:45:39 +0000 (09:45 -0400)
committerMarge Bot <eric+marge@anholt.net>
Fri, 22 May 2020 13:24:10 +0000 (13:24 +0000)
commitae32a1ed20ebd49c8fb42b9dd31d26c046881f46
treea04d699f2871ea1cd1e0371cbfdfa1510186e9db
parent4592c1d45df2c3ec74c29db1294cf31cf8bd1649
zink: flush active queries on destroy and free query object

queries with a valid active_list pointer are likely to still be active,
and vk spec requires them to have completed prior to being destroyed

this isn't completely accurate, as it's currently possible for queries
to remain in the active list while not actually being active, but it
resolves driver crashes that can occur from destroying a stilll-running
query pool object

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