From dea5de91d250887c39520fd3846ae9d8865b5e3e Mon Sep 17 00:00:00 2001 From: Liam Date: Wed, 23 Mar 2022 20:59:01 -0400 Subject: buffer_cache: reset cached write bits after flushing invalidations --- src/video_core/buffer_cache/buffer_base.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/video_core/buffer_cache/buffer_base.h b/src/video_core/buffer_cache/buffer_base.h index be2113f5a..10975884b 100644 --- a/src/video_core/buffer_cache/buffer_base.h +++ b/src/video_core/buffer_cache/buffer_base.h @@ -212,7 +212,7 @@ public: void FlushCachedWrites() noexcept { flags &= ~BufferFlagBits::CachedWrites; const u64 num_words = NumWords(); - const u64* const cached_words = Array(); + u64* const cached_words = Array(); u64* const untracked_words = Array(); u64* const cpu_words = Array(); for (u64 word_index = 0; word_index < num_words; ++word_index) { @@ -220,6 +220,7 @@ public: NotifyRasterizer(word_index, untracked_words[word_index], cached_bits); untracked_words[word_index] |= cached_bits; cpu_words[word_index] |= cached_bits; + cached_words[word_index] = 0; } } -- cgit v1.2.3