summaryrefslogtreecommitdiffstats
path: root/src/video_core/buffer_cache
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2021-06-14 11:58:36 +0200
committerFernando Sahmkow <fsahmkow27@gmail.com>2021-06-16 21:35:03 +0200
commit954ad2a61ee597b67b978b36898f008885d3adb0 (patch)
tree4d0a3600e090c942bc3f553fdbdd7c24229a985e /src/video_core/buffer_cache
parentReaper: Tune it up to be an smart GC. (diff)
downloadyuzu-954ad2a61ee597b67b978b36898f008885d3adb0.tar
yuzu-954ad2a61ee597b67b978b36898f008885d3adb0.tar.gz
yuzu-954ad2a61ee597b67b978b36898f008885d3adb0.tar.bz2
yuzu-954ad2a61ee597b67b978b36898f008885d3adb0.tar.lz
yuzu-954ad2a61ee597b67b978b36898f008885d3adb0.tar.xz
yuzu-954ad2a61ee597b67b978b36898f008885d3adb0.tar.zst
yuzu-954ad2a61ee597b67b978b36898f008885d3adb0.zip
Diffstat (limited to 'src/video_core/buffer_cache')
-rw-r--r--src/video_core/buffer_cache/buffer_cache.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/video_core/buffer_cache/buffer_cache.h b/src/video_core/buffer_cache/buffer_cache.h
index b4fa85c5b..a8fb21d92 100644
--- a/src/video_core/buffer_cache/buffer_cache.h
+++ b/src/video_core/buffer_cache/buffer_cache.h
@@ -350,9 +350,10 @@ BufferCache<P>::BufferCache(VideoCore::RasterizerInterface& rasterizer_,
template <class P>
void BufferCache<P>::TickFrame() {
+ const bool enabled_gc = Settings::values.use_caches_gc.GetValue();
SCOPE_EXIT({
- ++frame_tick;
- delayed_destruction_ring.Tick();
+ ++frame_tick;
+ delayed_destruction_ring.Tick();
});
// Calculate hits and shots and move hit bits to the right
const u32 hits = std::reduce(uniform_cache_hits.begin(), uniform_cache_hits.end());
@@ -367,7 +368,7 @@ void BufferCache<P>::TickFrame() {
const bool skip_preferred = hits * 256 < shots * 251;
uniform_buffer_skip_cache_size = skip_preferred ? DEFAULT_SKIP_CACHE_SIZE : 0;
- const bool activate_gc = total_used_memory >= expected_memory;
+ const bool activate_gc = enabled_gc && total_used_memory >= expected_memory;
if (!activate_gc) {
return;
}