Implement waiting for fences as noop

For the purpose of running dEQP tests, for now, fences can be
implemented as noop. Once more complex rendering tests exercise
this, we'll be able to implement and test fences.

Bug b/117835459

Change-Id: I2b54be816c83f7a626108f61bd14eb9c969a2b0f
Reviewed-on: https://swiftshader-review.googlesource.com/c/23068
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
diff --git a/src/Vulkan/VkQueue.cpp b/src/Vulkan/VkQueue.cpp
index f0978cf..43bb4a0 100644
--- a/src/Vulkan/VkQueue.cpp
+++ b/src/Vulkan/VkQueue.cpp
@@ -13,6 +13,7 @@
 // limitations under the License.
 
 #include "VkCommandBuffer.hpp"
+#include "VkFence.hpp"
 #include "VkQueue.hpp"
 #include "VkSemaphore.hpp"
 
@@ -25,11 +26,6 @@
 
 void Queue::submit(uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence)
 {
-	if(fence != VK_NULL_HANDLE)
-	{
-		UNIMPLEMENTED();
-	}
-
 	for(uint32_t i = 0; i < submitCount; i++)
 	{
 		auto& submitInfo = pSubmits[i];
@@ -48,6 +44,12 @@
 			vk::Cast(submitInfo.pSignalSemaphores[j])->signal();
 		}
 	}
+
+	// FIXME (b\117835459): signal the fence only once the work is completed
+	if(fence != VK_NULL_HANDLE)
+	{
+		vk::Cast(fence)->signal();
+	}
 }
 
 } // namespace vk
\ No newline at end of file