Wait on query being available, not !active.

These are not quite equivalent -- it is possible that we will start waiting before the query begins.

Tests: dEQP-VK.query_pool.occlusion_query.get_results_conservative*
Change-Id: I66fbe389b5329fbf34ff78cf3cea1078339b2b10
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30728
Tested-by: Chris Forbes <chrisforbes@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
diff --git a/src/Vulkan/VkQueryPool.cpp b/src/Vulkan/VkQueryPool.cpp
index 864ddb2..cd1041b 100644
--- a/src/Vulkan/VkQueryPool.cpp
+++ b/src/Vulkan/VkQueryPool.cpp
@@ -75,7 +75,7 @@
 			std::unique_lock<std::mutex> mutexLock(query.mutex);
 			if(flags & VK_QUERY_RESULT_WAIT_BIT) // Must wait for query to finish
 			{
-				query.condition.wait(mutexLock, [&query] { return query.state != Query::ACTIVE; });
+				query.condition.wait(mutexLock, [&query] { return query.state == Query::FINISHED; });
 			}
 
 			bool writeResult = true;
@@ -158,8 +158,6 @@
 		{
 			std::unique_lock<std::mutex> mutexLock(pool[i].mutex);
 
-			ASSERT(pool[i].state != Query::ACTIVE);
-
 			pool[i].state = Query::UNAVAILABLE;
 			pool[i].data = 0;
 		}