diff options
Diffstat (limited to '')
-rw-r--r-- | src/video_core/rasterizer_cache.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/video_core/rasterizer_cache.h b/src/video_core/rasterizer_cache.h index 4a34491a9..76743a85b 100644 --- a/src/video_core/rasterizer_cache.h +++ b/src/video_core/rasterizer_cache.h @@ -11,6 +11,7 @@ #include "common/common_types.h" #include "core/core.h" +#include "core/settings.h" #include "video_core/rasterizer_interface.h" #include "video_core/renderer_base.h" @@ -87,7 +88,12 @@ protected: void Unregister(const T& object) { auto& rasterizer = Core::System::GetInstance().Renderer().Rasterizer(); rasterizer.UpdatePagesCachedCount(object->GetAddr(), object->GetSizeInBytes(), -1); - object->Flush(); + + if (Settings::values.use_accurate_framebuffers) { + // Only flush if use_accurate_framebuffers is enabled, as it incurs a performance hit + object->Flush(); + } + object_cache.subtract({GetInterval(object), ObjectSet{object}}); } |