summaryrefslogtreecommitdiff
path: root/src/video_core/renderer_vulkan
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/renderer_vulkan')
-rw-r--r--src/video_core/renderer_vulkan/vk_texture_cache.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.cpp b/src/video_core/renderer_vulkan/vk_texture_cache.cpp
index 9b90c7d9b..a4fbbc735 100644
--- a/src/video_core/renderer_vulkan/vk_texture_cache.cpp
+++ b/src/video_core/renderer_vulkan/vk_texture_cache.cpp
@@ -1126,6 +1126,7 @@ bool Image::ScaleUp() {
1126 return false; 1126 return false;
1127 } 1127 }
1128 ASSERT(info.type != ImageType::Linear); 1128 ASSERT(info.type != ImageType::Linear);
1129 flags |= ImageFlagBits::Rescaled;
1129 const auto& resolution = runtime->resolution; 1130 const auto& resolution = runtime->resolution;
1130 if (!resolution.active) { 1131 if (!resolution.active) {
1131 return false; 1132 return false;
@@ -1188,11 +1189,11 @@ bool Image::ScaleUp() {
1188 dst_region, src_region, Tegra::Engines::Fermi2D::Filter::Point, BLIT_OPERATION); 1189 dst_region, src_region, Tegra::Engines::Fermi2D::Filter::Point, BLIT_OPERATION);
1189 } else { 1190 } else {
1190 // TODO: Use helper blits where applicable 1191 // TODO: Use helper blits where applicable
1192 flags &= ~ImageFlagBits::Rescaled;
1191 LOG_ERROR(Render_Vulkan, "Device does not support scaling format {}", format); 1193 LOG_ERROR(Render_Vulkan, "Device does not support scaling format {}", format);
1192 return false; 1194 return false;
1193 } 1195 }
1194 } 1196 }
1195 flags |= ImageFlagBits::Rescaled;
1196 return true; 1197 return true;
1197} 1198}
1198 1199
@@ -1200,8 +1201,12 @@ bool Image::ScaleDown() {
1200 if (False(flags & ImageFlagBits::Rescaled)) { 1201 if (False(flags & ImageFlagBits::Rescaled)) {
1201 return false; 1202 return false;
1202 } 1203 }
1203 ASSERT(info.type != ImageType::Linear);
1204 flags &= ~ImageFlagBits::Rescaled; 1204 flags &= ~ImageFlagBits::Rescaled;
1205 const auto& resolution = runtime->resolution;
1206 if (!resolution.active) {
1207 return false;
1208 }
1209 ASSERT(info.type != ImageType::Linear);
1205 current_image = *original_image; 1210 current_image = *original_image;
1206 return true; 1211 return true;
1207} 1212}