diff options
| author | 2021-06-25 02:43:01 -0300 | |
|---|---|---|
| committer | 2021-06-26 03:29:34 -0300 | |
| commit | 9476309d53b194d6ded5469dda8c3f0808e712ce (patch) | |
| tree | 6f948913c898363b5a1af75c7ec6934c94419f4a /src | |
| parent | video_core: Enforce C4244 (diff) | |
| download | yuzu-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.h | 5 |
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 | ||
| 417 | template <class P> | 417 | template <class P> |
| 418 | void BufferCache<P>::DownloadMemory(VAddr cpu_addr, u64 size) { | 418 | void 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 | ||
| 423 | template <class P> | 424 | template <class P> |