summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2021-06-25 02:43:01 -0300
committerReinUsesLisp <reinuseslisp@airmail.cc>2021-06-26 03:29:34 -0300
commit9476309d53b194d6ded5469dda8c3f0808e712ce (patch)
tree6f948913c898363b5a1af75c7ec6934c94419f4a /src
parent03abe8bf856b73a64f61252678acde72afbb38be (diff)
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) {
template <class P>
void BufferCache<P>::DownloadMemory(VAddr cpu_addr, u64 size) {
- ForEachBufferInRange(cpu_addr, size,
- [&](BufferId, Buffer& buffer) { DownloadBufferMemory(buffer); });
+ ForEachBufferInRange(cpu_addr, size, [&](BufferId, Buffer& buffer) {
+ DownloadBufferMemory(buffer, cpu_addr, size);
+ });
}
template <class P>