aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/buffer_cache
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/buffer_cache')
-rw-r--r--src/video_core/buffer_cache/buffer_cache.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/video_core/buffer_cache/buffer_cache.h b/src/video_core/buffer_cache/buffer_cache.h
index 40369b16ef..2e0f0d4623 100644
--- a/src/video_core/buffer_cache/buffer_cache.h
+++ b/src/video_core/buffer_cache/buffer_cache.h
@@ -2159,7 +2159,12 @@ bool BufferCache<P>::SynchronizeBuffer(Buffer& buffer, DAddr device_addr, u32 si
}
const std::span<BufferCopy> copies_span(upload_copies.data(), upload_copies.size());
UploadMemory(buffer, total_size_bytes, largest_copy, copies_span);
- any_buffer_uploaded = true;
+ // Mapped uploads carry their own barriers (or run in the upload command buffer, which
+ // ends with one); another barrier here only ended the render pass (~50 times a frame in
+ // Pokopia).
+ if constexpr (!USE_MEMORY_MAPS_FOR_UPLOADS) {
+ any_buffer_uploaded = true;
+ }
return false;
} else {
boost::container::small_vector<BufferCopy, 4> copies;