Merge pull request #8074 from liamwhite/cached-words

buffer_cache: reset cached write bits after flushing invalidations
merge-requests/60/head
Fernando S 2022-03-24 17:13:46 +07:00 committed by GitHub
commit 8f2e5f5666
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 2 additions and 1 deletions

@ -212,7 +212,7 @@ public:
void FlushCachedWrites() noexcept { void FlushCachedWrites() noexcept {
flags &= ~BufferFlagBits::CachedWrites; flags &= ~BufferFlagBits::CachedWrites;
const u64 num_words = NumWords(); const u64 num_words = NumWords();
const u64* const cached_words = Array<Type::CachedCPU>(); u64* const cached_words = Array<Type::CachedCPU>();
u64* const untracked_words = Array<Type::Untracked>(); u64* const untracked_words = Array<Type::Untracked>();
u64* const cpu_words = Array<Type::CPU>(); u64* const cpu_words = Array<Type::CPU>();
for (u64 word_index = 0; word_index < num_words; ++word_index) { for (u64 word_index = 0; word_index < num_words; ++word_index) {
@ -220,6 +220,7 @@ public:
NotifyRasterizer<false>(word_index, untracked_words[word_index], cached_bits); NotifyRasterizer<false>(word_index, untracked_words[word_index], cached_bits);
untracked_words[word_index] |= cached_bits; untracked_words[word_index] |= cached_bits;
cpu_words[word_index] |= cached_bits; cpu_words[word_index] |= cached_bits;
cached_words[word_index] = 0;
} }
} }