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);