diff options
| author | JMC47 <JMC4789@gmail.com> | 2025-11-11 20:58:35 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-11 20:58:35 -0500 |
| commit | f63796c4804676f329f6c20bb376b16819933c37 (patch) | |
| tree | 9c06985495337a193626d0b28229db63cfed9846 /Source/Core/VideoCommon/FramebufferManager.cpp | |
| parent | b8236d4662a1b21189cc28033ad1ece8294bc432 (diff) | |
| parent | 2f20c12d82d367e6ebd3f5b772ebea62ccf05da7 (diff) | |
Merge pull request #14071 from iwubcode/avoid_config_framebuffer_manager
VideoCommon: pass the EFB buffer scale into the FramebufferManager
Diffstat (limited to 'Source/Core/VideoCommon/FramebufferManager.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/FramebufferManager.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/Source/Core/VideoCommon/FramebufferManager.cpp b/Source/Core/VideoCommon/FramebufferManager.cpp index 8872f551c1..6277598d92 100644 --- a/Source/Core/VideoCommon/FramebufferManager.cpp +++ b/Source/Core/VideoCommon/FramebufferManager.cpp @@ -45,9 +45,9 @@ FramebufferManager::~FramebufferManager() DestroyEFBFramebuffer(); } -bool FramebufferManager::Initialize() +bool FramebufferManager::Initialize(int efb_scale) { - if (!CreateEFBFramebuffer()) + if (!CreateEFBFramebuffer(efb_scale)) { PanicAlertFmt("Failed to create EFB framebuffer"); return false; @@ -90,14 +90,14 @@ bool FramebufferManager::Initialize() return true; } -void FramebufferManager::RecreateEFBFramebuffer() +void FramebufferManager::RecreateEFBFramebuffer(int efb_scale) { FlushEFBPokes(); InvalidatePeekCache(true); DestroyReadbackFramebuffer(); DestroyEFBFramebuffer(); - if (!CreateEFBFramebuffer() || !CreateReadbackFramebuffer()) + if (!CreateEFBFramebuffer(efb_scale) || !CreateReadbackFramebuffer()) PanicAlertFmt("Failed to recreate EFB framebuffer"); } @@ -210,12 +210,12 @@ float FramebufferManager::EFBToScaledYf(float y) const return y * ((float)GetEFBHeight() / (float)EFB_HEIGHT); } -std::tuple<u32, u32> FramebufferManager::CalculateTargetSize() +std::tuple<u32, u32> FramebufferManager::CalculateTargetSize(int efb_scale) { - if (g_ActiveConfig.iEFBScale == EFB_SCALE_AUTO_INTEGRAL) + if (efb_scale == EFB_SCALE_AUTO_INTEGRAL) m_efb_scale = g_presenter->AutoIntegralScale(); else - m_efb_scale = g_ActiveConfig.iEFBScale; + m_efb_scale = efb_scale; const u32 max_size = g_backend_info.MaxTextureSize; if (max_size < EFB_WIDTH * m_efb_scale) @@ -227,9 +227,9 @@ std::tuple<u32, u32> FramebufferManager::CalculateTargetSize() return std::make_tuple(new_efb_width, new_efb_height); } -bool FramebufferManager::CreateEFBFramebuffer() +bool FramebufferManager::CreateEFBFramebuffer(int efb_scale) { - auto [width, height] = CalculateTargetSize(); + auto [width, height] = CalculateTargetSize(efb_scale); const TextureConfig efb_color_texture_config = GetEFBColorTextureConfig(width, height); const TextureConfig efb_depth_texture_config = GetEFBDepthTextureConfig(width, height); |
