diff options
author | FernandoS27 <fsahmkow27@gmail.com> | 2021-10-17 02:21:26 +0200 |
---|---|---|
committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2021-11-16 22:11:31 +0100 |
commit | d4f5193bd308988a80f52941d9eefc4c857bfa99 (patch) | |
tree | 09f3c34e22ef0255a43ef64ba2270e5b38c28916 /src/video_core/renderer_vulkan/vk_texture_cache.cpp | |
parent | Texture cache: Fix memory consumption and ignore rating when a depth texture is rendered. (diff) | |
download | yuzu-d4f5193bd308988a80f52941d9eefc4c857bfa99.tar yuzu-d4f5193bd308988a80f52941d9eefc4c857bfa99.tar.gz yuzu-d4f5193bd308988a80f52941d9eefc4c857bfa99.tar.bz2 yuzu-d4f5193bd308988a80f52941d9eefc4c857bfa99.tar.lz yuzu-d4f5193bd308988a80f52941d9eefc4c857bfa99.tar.xz yuzu-d4f5193bd308988a80f52941d9eefc4c857bfa99.tar.zst yuzu-d4f5193bd308988a80f52941d9eefc4c857bfa99.zip |
Diffstat (limited to 'src/video_core/renderer_vulkan/vk_texture_cache.cpp')
-rw-r--r-- | src/video_core/renderer_vulkan/vk_texture_cache.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.cpp b/src/video_core/renderer_vulkan/vk_texture_cache.cpp index a4fbbc735..17c62e27d 100644 --- a/src/video_core/renderer_vulkan/vk_texture_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_texture_cache.cpp @@ -867,26 +867,29 @@ void TextureCacheRuntime::BlitImage(Framebuffer* dst_framebuffer, ImageView& dst }); } -void TextureCacheRuntime::ConvertImage(Framebuffer* dst, ImageView& dst_view, ImageView& src_view) { +void TextureCacheRuntime::ConvertImage(Framebuffer* dst, ImageView& dst_view, ImageView& src_view, + bool rescaled) { + const u32 up_scale = rescaled ? resolution.up_scale : 1; + const u32 down_shift = rescaled ? resolution.down_shift : 0; switch (dst_view.format) { case PixelFormat::R16_UNORM: if (src_view.format == PixelFormat::D16_UNORM) { - return blit_image_helper.ConvertD16ToR16(dst, src_view); + return blit_image_helper.ConvertD16ToR16(dst, src_view, up_scale, down_shift); } break; case PixelFormat::R32_FLOAT: if (src_view.format == PixelFormat::D32_FLOAT) { - return blit_image_helper.ConvertD32ToR32(dst, src_view); + return blit_image_helper.ConvertD32ToR32(dst, src_view, up_scale, down_shift); } break; case PixelFormat::D16_UNORM: if (src_view.format == PixelFormat::R16_UNORM) { - return blit_image_helper.ConvertR16ToD16(dst, src_view); + return blit_image_helper.ConvertR16ToD16(dst, src_view, up_scale, down_shift); } break; case PixelFormat::D32_FLOAT: if (src_view.format == PixelFormat::R32_FLOAT) { - return blit_image_helper.ConvertR32ToD32(dst, src_view); + return blit_image_helper.ConvertR32ToD32(dst, src_view, up_scale, down_shift); } break; default: |