Reland "Fix vulkan async transfer from call to not submit command buffer to early."

This reverts commit bd986b104470611d49de50bae106072a2705170b.

Reason for revert: didn't mean to revert

Original change's description:
> Revert "Fix vulkan async transfer from call to not submit command buffer to early."
> 
> This reverts commit 10e259e9588d9d91ba3caa4f0dd5cf2c4713adbf.
> 
> Reason for revert: breaks nexus 7 and android one
> 
> Original change's description:
> > Fix vulkan async transfer from call to not submit command buffer to early.
> > 
> > Change-Id: I657758070261a6365975d9c7d61489b1ccb0e437
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219201
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
> 
> TBR=egdaniel@google.com,bsalomon@google.com
> 
> Change-Id: Ie3685c84be77e5bfbfbe83278c1341bed5dc20d9
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218958
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,bsalomon@google.com

Change-Id: Iba7975bb7ff0202299c995e71e911b7836e85953
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219383
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
diff --git a/src/gpu/vk/GrVkGpu.cpp b/src/gpu/vk/GrVkGpu.cpp
index e783a20..873ac8b 100644
--- a/src/gpu/vk/GrVkGpu.cpp
+++ b/src/gpu/vk/GrVkGpu.cpp
@@ -335,6 +335,8 @@
 void GrVkGpu::submitCommandBuffer(SyncQueue sync, GrGpuFinishedProc finishedProc,
                                   GrGpuFinishedContext finishedContext) {
     SkASSERT(fCurrentCmdBuffer);
+    SkASSERT(!fCachedRTCommandBuffer || !fCachedRTCommandBuffer->isActive());
+    SkASSERT(!fCachedTexCommandBuffer || !fCachedTexCommandBuffer->isActive());
 
     if (!fCurrentCmdBuffer->hasWork() && kForce_SyncQueue != sync &&
         !fSemaphoresToSignal.count() && !fSemaphoresToWaitOn.count()) {
@@ -569,10 +571,6 @@
                                VK_PIPELINE_STAGE_TRANSFER_BIT,
                                VK_PIPELINE_STAGE_HOST_BIT,
                                false);
-
-    // The caller is responsible for syncing.
-    this->submitCommandBuffer(kSkip_SyncQueue);
-
     return true;
 }