Block GPU on release fence from dequeueBuffer earlier

If dequeueBuffer fence has not fired yet, then submit to the queue
and block GPU on VkSemaphore immediatelly.
It is not clear why this CL makes a difference, because semaphore
was already waited on.

Fixes: 128805387
Fixes: 128806388
Fixes: 128807485
Fixes: 128879779
Fixes: 128417453
Bug: 128998567
Test: Ran SelfieCity, Camera360, Settings app
Change-Id: I880ba6fa65509ba4c6faca0dc933551efcee423b
diff --git a/libs/hwui/renderthread/VulkanManager.cpp b/libs/hwui/renderthread/VulkanManager.cpp
index 9916da5..7f979d6 100644
--- a/libs/hwui/renderthread/VulkanManager.cpp
+++ b/libs/hwui/renderthread/VulkanManager.cpp
@@ -467,6 +467,10 @@
             GrBackendSemaphore backendSemaphore;
             backendSemaphore.initVulkan(semaphore);
             bufferInfo->skSurface->wait(1, &backendSemaphore);
+            // The following flush blocks the GPU immediately instead of waiting for other
+            // drawing ops. It seems dequeue_fence is not respected otherwise.
+            //TODO: remove the flush after finding why backendSemaphore is not working.
+            bufferInfo->skSurface->flush();
         }
     }