From 9476309d53b194d6ded5469dda8c3f0808e712ce Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Fri, 25 Jun 2021 02:43:01 -0300 Subject: 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. --- src/video_core/buffer_cache/buffer_cache.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/video_core/buffer_cache') 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
::CachedWriteMemory(VAddr cpu_addr, u64 size) {
template ::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