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.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h
index 5aaeb16ca..2e19fced2 100644
--- a/src/video_core/texture_cache/texture_cache.h
+++ b/src/video_core/texture_cache/texture_cache.h
@@ -1855,9 +1855,20 @@ void TextureCache<P>::CopyImage(ImageId dst_id, ImageId src_id, std::vector<Imag
1855 .height = std::min(dst_view.size.height, src_view.size.height), 1855 .height = std::min(dst_view.size.height, src_view.size.height),
1856 .depth = std::min(dst_view.size.depth, src_view.size.depth), 1856 .depth = std::min(dst_view.size.depth, src_view.size.depth),
1857 }; 1857 };
1858 UNIMPLEMENTED_IF(copy.extent != expected_size); 1858 const Extent3D scaled_extent = [is_rescaled, expected_size]() {
1859 if (!is_rescaled) {
1860 return expected_size;
1861 }
1862 const auto& resolution = Settings::values.resolution_info;
1863 return Extent3D{
1864 .width = resolution.ScaleUp(expected_size.width),
1865 .height = resolution.ScaleUp(expected_size.height),
1866 .depth = expected_size.depth,
1867 };
1868 }();
1869 UNIMPLEMENTED_IF(copy.extent != scaled_extent);
1859 1870
1860 runtime.ConvertImage(dst_framebuffer, dst_view, src_view, is_rescaled); 1871 runtime.ConvertImage(dst_framebuffer, dst_view, src_view);
1861 } 1872 }
1862} 1873}
1863 1874