From c6ef248170561da92f1ef3d60f1763f73a6e4061 Mon Sep 17 00:00:00 2001 From: ameerj <52414509+ameerj@users.noreply.github.com> Date: Sat, 2 Apr 2022 02:25:32 -0400 Subject: [PATCH] texture_cache: Only update is_rescaling when resolution is not 1x --- src/video_core/texture_cache/texture_cache.h | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h index 8fef74117d..959f6f228c 100644 --- a/src/video_core/texture_cache/texture_cache.h +++ b/src/video_core/texture_cache/texture_cache.h @@ -328,7 +328,8 @@ void TextureCache

::UpdateRenderTargets(bool is_clear) { } const bool rescaled = RescaleRenderTargets(is_clear); - if (is_rescaling != rescaled) { + const auto& resolution_info = Settings::values.resolution_info; + if (resolution_info.active && is_rescaling != rescaled) { flags[Dirty::RescaleViewports] = true; flags[Dirty::RescaleScissors] = true; is_rescaling = rescaled; @@ -345,12 +346,8 @@ void TextureCache

::UpdateRenderTargets(bool is_clear) { for (size_t index = 0; index < NUM_RT; ++index) { render_targets.draw_buffers[index] = static_cast(maxwell3d.regs.rt_control.Map(index)); } - u32 up_scale = 1; - u32 down_shift = 0; - if (is_rescaling) { - up_scale = Settings::values.resolution_info.up_scale; - down_shift = Settings::values.resolution_info.down_shift; - } + const u32 up_scale = is_rescaling ? resolution_info.up_scale : 1U; + const u32 down_shift = is_rescaling ? resolution_info.down_shift : 0U; render_targets.size = Extent2D{ (maxwell3d.regs.render_area.width * up_scale) >> down_shift, (maxwell3d.regs.render_area.height * up_scale) >> down_shift,