summaryrefslogtreecommitdiff
path: root/src/video_core/texture_cache
diff options
context:
space:
mode:
authorGravatar ameerj2021-11-21 01:58:49 -0500
committerGravatar ameerj2021-12-05 15:42:45 -0500
commit218d790bd6079af109474dd6be642eb8d01bbe0e (patch)
tree8faf6f2aaf70e6d3a1d8bd1f26cf080dcd6f6d07 /src/video_core/texture_cache
parentblit_image: Refactor upscale factors usage (diff)
downloadyuzu-218d790bd6079af109474dd6be642eb8d01bbe0e.tar.gz
yuzu-218d790bd6079af109474dd6be642eb8d01bbe0e.tar.xz
yuzu-218d790bd6079af109474dd6be642eb8d01bbe0e.zip
texture_cache: Fix image convert dimensions assertion
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 }