diff options
author | Kelebek1 <eeeedddccc@hotmail.co.uk> | 2023-05-30 21:57:13 +0100 |
---|---|---|
committer | Kelebek1 <eeeedddccc@hotmail.co.uk> | 2023-05-30 21:57:13 +0100 |
commit | 661375a222399f6b731362c849417a82a17531ee (patch) | |
tree | d866e0b3a7ba33951035419bbee73e1f4360b52d | |
parent | 810d19b6be80ac71adb96b8643823f84e265e8d8 (diff) |
Skip BufferCache tickframe with no channel state set
-rw-r--r-- | src/video_core/buffer_cache/buffer_cache.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/video_core/buffer_cache/buffer_cache.h b/src/video_core/buffer_cache/buffer_cache.h index c336be707..427afd5fc 100644 --- a/src/video_core/buffer_cache/buffer_cache.h +++ b/src/video_core/buffer_cache/buffer_cache.h @@ -63,8 +63,12 @@ void BufferCache<P>::RunGarbageCollector() { template <class P> void BufferCache<P>::TickFrame() { - // Calculate hits and shots and move hit bits to the right + // Homebrew console apps don't create or bind any channels, so this will be nullptr. + if (!channel_state) { + return; + } + // Calculate hits and shots and move hit bits to the right const u32 hits = std::reduce(channel_state->uniform_cache_hits.begin(), channel_state->uniform_cache_hits.end()); const u32 shots = std::reduce(channel_state->uniform_cache_shots.begin(), |