forked from suyu/suyu
buffer_cache: reset cached write bits after flushing invalidations
This commit is contained in:
parent
fb4d80b169
commit
dea5de91d2
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue