summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2021-06-25 02:43:01 -0300
committerGravatar ReinUsesLisp2021-06-26 03:29:34 -0300
commit9476309d53b194d6ded5469dda8c3f0808e712ce (patch)
tree6f948913c898363b5a1af75c7ec6934c94419f4a /src
parentvideo_core: Enforce C4244 (diff)
downloadyuzu-9476309d53b194d6ded5469dda8c3f0808e712ce.tar.gz
yuzu-9476309d53b194d6ded5469dda8c3f0808e712ce.tar.xz
yuzu-9476309d53b194d6ded5469dda8c3f0808e712ce.zip
buffer_cache: Only flush downloaded size
Fixes a regression unintentionally introduced by the garbage collector. This makes regular memory downloads only flush the requested sizes. This negatively affected Koei Tecmo games.
Diffstat (limited to 'src')
-rw-r--r--src/video_core/buffer_cache/buffer_cache.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/video_core/buffer_cache/buffer_cache.h b/src/video_core/buffer_cache/buffer_cache.h
index eefd04c81..cad7f902d 100644
--- a/src/video_core/buffer_cache/buffer_cache.h
+++ b/src/video_core/buffer_cache/buffer_cache.h
@@ -416,8 +416,9 @@ void BufferCache<P>::CachedWriteMemory(VAddr cpu_addr, u64 size) {
416 416
417template <class P> 417template <class P>
418void BufferCache<P>::DownloadMemory(VAddr cpu_addr, u64 size) { 418void BufferCache<P>::DownloadMemory(VAddr cpu_addr, u64 size) {
419 ForEachBufferInRange(cpu_addr, size, 419 ForEachBufferInRange(cpu_addr, size, [&](BufferId, Buffer& buffer) {
420 [&](BufferId, Buffer& buffer) { DownloadBufferMemory(buffer); }); 420 DownloadBufferMemory(buffer, cpu_addr, size);
421 });
421} 422}
422 423
423template <class P> 424template <class P>