From 6f69f06873f666174d3c0306055bc5f097d64afc Mon Sep 17 00:00:00 2001
From: Fernando Sahmkow <fsahmkow27@gmail.com>
Date: Tue, 4 Jun 2019 12:12:40 -0400
Subject: [PATCH] texture_cache: Don't Image Copy if component types differ

---
 src/video_core/texture_cache/texture_cache.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h
index 9511683576..d2c27bceff 100644
--- a/src/video_core/texture_cache/texture_cache.h
+++ b/src/video_core/texture_cache/texture_cache.h
@@ -389,7 +389,8 @@ private:
         const auto gpu_addr = current_surface->GetGpuAddr();
         TSurface new_surface = GetUncachedSurface(gpu_addr, params);
         const auto& cr_params = current_surface->GetSurfaceParams();
-        if (!support_info.depth_color_image_copies && cr_params.type != params.type) {
+        if (cr_params.type != params.type && (!support_info.depth_color_image_copies ||
+                                              cr_params.component_type != params.component_type)) {
             BufferCopy(current_surface, new_surface);
         } else {
             std::vector<CopyParams> bricks = current_surface->BreakDown(params);
-- 
GitLab