Skip wait on already signalled timeline semaphore

Changes VkTimeLineSemaphore::Shared::wait to pass on already
signalled semaphores.

Bug: b/188565298
Change-Id: I52089aca20d79392b1d9fb9ae2e0e04e8c91c6ff
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/54908
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Sean Risser <srisser@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/Vulkan/VkTimelineSemaphore.cpp b/src/Vulkan/VkTimelineSemaphore.cpp
index 7aa85db..89e5415 100644
--- a/src/Vulkan/VkTimelineSemaphore.cpp
+++ b/src/Vulkan/VkTimelineSemaphore.cpp
@@ -74,7 +74,7 @@
 void TimelineSemaphore::Shared::wait(uint64_t value)
 {
 	marl::lock lock(mutex);
-	cv.wait(lock, [&]() { return counter == value; });
+	cv.wait(lock, [&]() { return counter >= value; });
 }
 
 uint64_t TimelineSemaphore::getCounterValue()