diff options
| author | Stenzek <stenzek@gmail.com> | 2019-03-02 15:11:47 +1000 |
|---|---|---|
| committer | Stenzek <stenzek@gmail.com> | 2019-03-09 12:23:33 +1000 |
| commit | 6bc4bfd26af96de8642e75bbf644722c44baeb7b (patch) | |
| tree | 4014a944ef503ddbab106647ffc0c124d2f8f70b /Source/Core/VideoCommon/RenderBase.cpp | |
| parent | 65216c9e874cdde90be329b3042ec22d81438499 (diff) | |
FramebufferManager: Implement EFB tile cache
The new tile cache is dynamic in size and can be turned on/off.
Diffstat (limited to 'Source/Core/VideoCommon/RenderBase.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/RenderBase.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Source/Core/VideoCommon/RenderBase.cpp b/Source/Core/VideoCommon/RenderBase.cpp index 611eca29e6..74760f57e9 100644 --- a/Source/Core/VideoCommon/RenderBase.cpp +++ b/Source/Core/VideoCommon/RenderBase.cpp @@ -386,6 +386,7 @@ void Renderer::CheckForConfigChanges() const StereoMode old_stereo = g_ActiveConfig.stereo_mode; const u32 old_multisamples = g_ActiveConfig.iMultisamples; const int old_anisotropy = g_ActiveConfig.iMaxAnisotropy; + const int old_efb_access_tile_size = g_ActiveConfig.iEFBAccessTileSize; const bool old_force_filtering = g_ActiveConfig.bForceFiltering; const bool old_vsync = g_ActiveConfig.bVSyncActive; const bool old_bbox = g_ActiveConfig.bBBoxEnable; @@ -395,6 +396,10 @@ void Renderer::CheckForConfigChanges() // Update texture cache settings with any changed options. g_texture_cache->OnConfigChanged(g_ActiveConfig); + // EFB tile cache doesn't need to notify the backend. + if (old_efb_access_tile_size != g_ActiveConfig.iEFBAccessTileSize) + g_framebuffer_manager->SetEFBCacheTileSize(std::max(g_ActiveConfig.iEFBAccessTileSize, 0)); + // Check for post-processing shader changes. Done up here as it doesn't affect anything outside // the post-processor. Note that options are applied every frame, so no need to check those. if (m_post_processor->GetConfig()->GetShader() != g_ActiveConfig.sPostProcessingShader) |
