vulkan: Don't add barrier for map->map

BufferVk had a condition to avoid adding a barrier for map usage
followed by map write usage. The same logic was missing from map read
branch so this adds it.

Bug: 425472913
Change-Id: I9293fe90306a43cdca78c0b7a468ebd184813a44
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/271497
Commit-Queue: Kyle Charbonneau <kylechar@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
diff --git a/src/dawn/native/vulkan/BufferVk.cpp b/src/dawn/native/vulkan/BufferVk.cpp
index 59efade..00c0885 100644
--- a/src/dawn/native/vulkan/BufferVk.cpp
+++ b/src/dawn/native/vulkan/BufferVk.cpp
@@ -494,6 +494,11 @@
             return;
         }
 
+        if (IsSubset(usage | mLastWriteUsage, kMappableBufferUsages)) {
+            // No barrier is needed for map write followed by map read.
+            return;
+        }
+
         // Write -> read barrier.
         srcAccess = VulkanAccessFlags(mLastWriteUsage);
         srcStage = VulkanPipelineStage(mLastWriteUsage, mLastWriteShaderStage);