summaryrefslogtreecommitdiff
path: root/src/video_core/texture_cache
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/texture_cache')
-rw-r--r--src/video_core/texture_cache/texture_cache.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h
index 43ebf4ce1..6a161f21c 100644
--- a/src/video_core/texture_cache/texture_cache.h
+++ b/src/video_core/texture_cache/texture_cache.h
@@ -1847,7 +1847,18 @@ void TextureCache<P>::CopyImage(ImageId dst_id, ImageId src_id, std::vector<Imag
1847 .height = std::min(dst_view.size.height, src_view.size.height), 1847 .height = std::min(dst_view.size.height, src_view.size.height),
1848 .depth = std::min(dst_view.size.depth, src_view.size.depth), 1848 .depth = std::min(dst_view.size.depth, src_view.size.depth),
1849 }; 1849 };
1850 UNIMPLEMENTED_IF(copy.extent != expected_size); 1850 const Extent3D scaled_extent = [is_rescaled, expected_size]() {
1851 if (!is_rescaled) {
1852 return expected_size;
1853 }
1854 const auto& resolution = Settings::values.resolution_info;
1855 return Extent3D{
1856 .width = resolution.ScaleUp(expected_size.width),
1857 .height = resolution.ScaleUp(expected_size.height),
1858 .depth = expected_size.depth,
1859 };
1860 }();
1861 UNIMPLEMENTED_IF(copy.extent != scaled_extent);
1851 1862
1852 runtime.ConvertImage(dst_framebuffer, dst_view, src_view); 1863 runtime.ConvertImage(dst_framebuffer, dst_view, src_view);
1853 } 1864 }