Remove mutex in GrVkSemaphore

The mutex was originally added to support the use of multiple GrContext's
accessing the semaphore when using cross context images. However, we no
longer use semaphores for Vulkan cross contexts. We require the VkQueue to
be the same in the shared context, so this allows a simple barrier to do
the trick for us.

Change-Id: I92c80df6b14249de85e35c56c90a0910ad6c5bfc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213300
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
diff --git a/src/gpu/vk/GrVkGpu.cpp b/src/gpu/vk/GrVkGpu.cpp
index 6daf28d..37acd73 100644
--- a/src/gpu/vk/GrVkGpu.cpp
+++ b/src/gpu/vk/GrVkGpu.cpp
@@ -2566,7 +2566,11 @@
                               false);
     this->submitCommandBuffer(kSkip_SyncQueue);
 
-    // The image layout change serves as a barrier, so no semaphore is needed
+    // The image layout change serves as a barrier, so no semaphore is needed.
+    // If we ever decide we need to return a semaphore here, we need to make sure GrVkSemaphore is
+    // thread safe so that only the first thread that tries to use the semaphore actually submits
+    // it. This additionally would also require thread safety in command buffer submissions to
+    // queues in general.
     return nullptr;
 }