anv/GetQueryPoolResults: Actually implement the spec
authorJason Ekstrand <jason.ekstrand@intel.com>
Wed, 15 Mar 2017 03:48:47 +0000 (20:48 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Thu, 16 Mar 2017 22:08:18 +0000 (15:08 -0700)
commit08df015b9de8ccb16ce6db93890910f8a02be4c6
tree2bb032c3f35e7e36b3f825c05834e415d2be9205
parent81840130c0f147ed6ae4c26872c2f04a2167bc54
anv/GetQueryPoolResults: Actually implement the spec

The Vulkan spec is fairly clear about when we should and should not
write query pool results.  We're also supposed to return VK_NOT_READY if
VK_QUERY_RESULT_PARTIAL_BIT is not set and we come across any queries
which are not yet finished.  This fixes rendering corruptions on The
Talos Principle where geometry flickers in and out due to bogus query
results being returned by the driver.  These issues are most noticable
on Sky Lake GT4 2hen running on "ultra" settings.

Reviewed-By: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100182
Cc: "17.0 13.0" <mesa-stable@lists.freedesktop.org>
src/intel/vulkan/genX_query.c