From a042cedc6bc414bdc178e51558b68f9044e3b3a5 Mon Sep 17 00:00:00 2001 From: CamilleLaVey Date: Fri, 28 Aug 2026 17:17:37 -0400 Subject: [PATCH] =?UTF-8?q?Dale=20a=20tu=20cuerpo=20alegr=C3=ADa=20macaren?= =?UTF-8?q?a?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/settings.cpp | 2 +- src/video_core/renderer_vulkan/vk_texture_cache.cpp | 3 +-- src/video_core/texture_cache/texture_cache.h | 5 +++++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/common/settings.cpp b/src/common/settings.cpp index e1625c81f2..e2c5b532ac 100644 --- a/src/common/settings.cpp +++ b/src/common/settings.cpp @@ -369,7 +369,7 @@ void TranslateResolutionInfo(ResolutionSetup setup, ResolutionScalingInfo& info) } info.up_factor = static_cast(info.up_scale) / (1U << info.down_shift); info.down_factor = static_cast(1U << info.down_shift) / info.up_scale; - info.active = true; + info.active = info.up_scale != 1 || info.down_shift != 0; } void UpdateRescalingInfo() { diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.cpp b/src/video_core/renderer_vulkan/vk_texture_cache.cpp index 1184eaf74c..d9c9a807cc 100644 --- a/src/video_core/renderer_vulkan/vk_texture_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_texture_cache.cpp @@ -2440,7 +2440,7 @@ bool Image::ScaleUp(bool ignore) { runtime->ViewFormats(info.format)); ignore = false; } - ignore = true; + current_image = &Image::scaled_image; if (ignore) { return true; } @@ -2468,7 +2468,6 @@ bool Image::ScaleDown(bool ignore) { } ASSERT(info.type != ImageType::Linear); flags &= ~ImageFlagBits::Rescaled; - ignore = true; current_image = &Image::original_image; if (ignore) { return true; diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h index a654e969cd..a019439210 100644 --- a/src/video_core/texture_cache/texture_cache.h +++ b/src/video_core/texture_cache/texture_cache.h @@ -1122,6 +1122,11 @@ void TextureCache

::RefreshContents(Image& image, ImageId image_id) { TrackImage(image, image_id); + if (image.info.rescaleable) { + runtime.TransitionImageLayout(image); + return; + } + if (image.info.num_samples > 1 && !runtime.CanUploadMSAA()) { LOG_WARNING(HW_GPU, "MSAA image uploads are not implemented"); runtime.TransitionImageLayout(image);