Просмотр исходного кода

buffer_cache: reset cached write bits after flushing invalidations

Liam 4 лет назад
Родитель
Сommit
dea5de91d2
1 измененных файлов с 2 добавлено и 1 удалено
  1. 2 1
      src/video_core/buffer_cache/buffer_base.h

+ 2 - 1
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;
         }
     }