summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFernando S <fsahmkow27@gmail.com>2022-03-24 17:13:46 +0100
committerGitHub <noreply@github.com>2022-03-24 17:13:46 +0100
commit8f2e5f5666608dd466ea8476ac592074fb3fc8ec (patch)
tree36fb2a7ea7c64f3b26b3e2afae52bb4365bf5c5a /src
parentc50f2bd4f6797b778ae21dfed341129ed4a2252c (diff)
parentdea5de91d250887c39520fd3846ae9d8865b5e3e (diff)
Merge pull request #8074 from liamwhite/cached-words
buffer_cache: reset cached write bits after flushing invalidations
Diffstat (limited to 'src')
-rw-r--r--src/video_core/buffer_cache/buffer_base.h3
1 files changed, 2 insertions, 1 deletions
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<Type::CachedCPU>();
+ u64* const cached_words = Array<Type::CachedCPU>();
u64* const untracked_words = Array<Type::Untracked>();
u64* const cpu_words = Array<Type::CPU>();
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);
untracked_words[word_index] |= cached_bits;
cpu_words[word_index] |= cached_bits;
+ cached_words[word_index] = 0;
}
}