diff options
| author | JMC47 <JMC4789@gmail.com> | 2022-10-04 22:40:58 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-10-04 22:40:58 -0400 |
| commit | 4b6086b20a95183f453c5957104536f84a510077 (patch) | |
| tree | 3a75ac25c823b8ba7cf30920b11d00a276dd0703 /Source/Core/VideoCommon/BPStructs.cpp | |
| parent | 5479f0e776009d85c509fc6f9874aceeaed9b85b (diff) | |
| parent | 779fe13e62e6c0e9d591f2cb33d00a89191dd6a6 (diff) | |
Merge pull request #11098 from K0bin/refresh-efb-cache
VideoCommon: Update EFB peek cache on draw done and tokens
Diffstat (limited to 'Source/Core/VideoCommon/BPStructs.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/BPStructs.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/Source/Core/VideoCommon/BPStructs.cpp b/Source/Core/VideoCommon/BPStructs.cpp index 35f2f23ffe..bf0438a74b 100644 --- a/Source/Core/VideoCommon/BPStructs.cpp +++ b/Source/Core/VideoCommon/BPStructs.cpp @@ -181,6 +181,7 @@ static void BPWritten(const BPCmd& bp, int cycles_into_future) INCSTAT(g_stats.this_frame.num_draw_done); g_texture_cache->FlushEFBCopies(); g_framebuffer_manager->InvalidatePeekCache(false); + g_framebuffer_manager->RefreshPeekCache(); if (!Fifo::UseDeterministicGPUThread()) PixelEngine::SetFinish(cycles_into_future); // may generate interrupt DEBUG_LOG_FMT(VIDEO, "GXSetDrawDone SetPEFinish (value: {:#04X})", bp.newvalue & 0xFFFF); @@ -195,6 +196,7 @@ static void BPWritten(const BPCmd& bp, int cycles_into_future) INCSTAT(g_stats.this_frame.num_token); g_texture_cache->FlushEFBCopies(); g_framebuffer_manager->InvalidatePeekCache(false); + g_framebuffer_manager->RefreshPeekCache(); if (!Fifo::UseDeterministicGPUThread()) PixelEngine::SetToken(static_cast<u16>(bp.newvalue & 0xFFFF), false, cycles_into_future); DEBUG_LOG_FMT(VIDEO, "SetPEToken {:#06X}", bp.newvalue & 0xFFFF); @@ -203,6 +205,7 @@ static void BPWritten(const BPCmd& bp, int cycles_into_future) INCSTAT(g_stats.this_frame.num_token_int); g_texture_cache->FlushEFBCopies(); g_framebuffer_manager->InvalidatePeekCache(false); + g_framebuffer_manager->RefreshPeekCache(); if (!Fifo::UseDeterministicGPUThread()) PixelEngine::SetToken(static_cast<u16>(bp.newvalue & 0xFFFF), true, cycles_into_future); DEBUG_LOG_FMT(VIDEO, "SetPEToken + INT {:#06X}", bp.newvalue & 0xFFFF); |
