summaryrefslogtreecommitdiff
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.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/video_core/buffer_cache/buffer_cache.h b/src/video_core/buffer_cache/buffer_cache.h
index d350c9b36..43bed63ac 100644
--- a/src/video_core/buffer_cache/buffer_cache.h
+++ b/src/video_core/buffer_cache/buffer_cache.h
@@ -853,12 +853,14 @@ void BufferCache<P>::CommitAsyncFlushesHigh() {
853 } 853 }
854 if constexpr (USE_MEMORY_MAPS) { 854 if constexpr (USE_MEMORY_MAPS) {
855 auto download_staging = runtime.DownloadStagingBuffer(total_size_bytes); 855 auto download_staging = runtime.DownloadStagingBuffer(total_size_bytes);
856 runtime.PreCopyBarrier();
856 for (auto& [copy, buffer_id] : downloads) { 857 for (auto& [copy, buffer_id] : downloads) {
857 // Have in mind the staging buffer offset for the copy 858 // Have in mind the staging buffer offset for the copy
858 copy.dst_offset += download_staging.offset; 859 copy.dst_offset += download_staging.offset;
859 const std::array copies{copy}; 860 const std::array copies{copy};
860 runtime.CopyBuffer(download_staging.buffer, slot_buffers[buffer_id], copies); 861 runtime.CopyBuffer(download_staging.buffer, slot_buffers[buffer_id], copies, false);
861 } 862 }
863 runtime.PostCopyBarrier();
862 runtime.Finish(); 864 runtime.Finish();
863 for (const auto& [copy, buffer_id] : downloads) { 865 for (const auto& [copy, buffer_id] : downloads) {
864 const Buffer& buffer = slot_buffers[buffer_id]; 866 const Buffer& buffer = slot_buffers[buffer_id];