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.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h
index 0e4907c53..9548abec8 100644
--- a/src/video_core/texture_cache/texture_cache.h
+++ b/src/video_core/texture_cache/texture_cache.h
@@ -1781,7 +1781,13 @@ void TextureCache<P>::CopyImage(ImageId dst_id, ImageId src_id, std::vector<Imag
1781 const SubresourceExtent src_extent{.levels = 1, .layers = 1}; 1781 const SubresourceExtent src_extent{.levels = 1, .layers = 1};
1782 const SubresourceRange dst_range{.base = dst_base, .extent = dst_extent}; 1782 const SubresourceRange dst_range{.base = dst_base, .extent = dst_extent};
1783 const SubresourceRange src_range{.base = src_base, .extent = src_extent}; 1783 const SubresourceRange src_range{.base = src_base, .extent = src_extent};
1784 const ImageViewInfo dst_view_info(ImageViewType::e2D, dst.info.format, dst_range); 1784 PixelFormat dst_format = dst.info.format;
1785 if (GetFormatType(src.info.format) == SurfaceType::DepthStencil &&
1786 GetFormatType(dst_format) == SurfaceType::ColorTexture &&
1787 BytesPerBlock(dst_format) == 4) {
1788 dst_format = PixelFormat::A8B8G8R8_UNORM;
1789 }
1790 const ImageViewInfo dst_view_info(ImageViewType::e2D, dst_format, dst_range);
1785 const ImageViewInfo src_view_info(ImageViewType::e2D, src.info.format, src_range); 1791 const ImageViewInfo src_view_info(ImageViewType::e2D, src.info.format, src_range);
1786 const auto [dst_framebuffer_id, dst_view_id] = RenderTargetFromImage(dst_id, dst_view_info); 1792 const auto [dst_framebuffer_id, dst_view_id] = RenderTargetFromImage(dst_id, dst_view_info);
1787 Framebuffer* const dst_framebuffer = &slot_framebuffers[dst_framebuffer_id]; 1793 Framebuffer* const dst_framebuffer = &slot_framebuffers[dst_framebuffer_id];