summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2023-05-30 14:42:12 -0700
committerGitHub <noreply@github.com>2023-05-30 14:42:12 -0700
commit05e38ee1494c04c58897d60286db465193b831fc (patch)
treed866e0b3a7ba33951035419bbee73e1f4360b52d
parent810d19b6be80ac71adb96b8643823f84e265e8d8 (diff)
parent661375a222399f6b731362c849417a82a17531ee (diff)
Merge pull request #10506 from Kelebek1/bc_channel_fix
Skip BufferCache tickframe with no channel state set
-rw-r--r--src/video_core/buffer_cache/buffer_cache.h6
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(),