summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/video_core/texture_cache/texture_cache.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h
index 951168357..d2c27bcef 100644
--- a/src/video_core/texture_cache/texture_cache.h
+++ b/src/video_core/texture_cache/texture_cache.h
@@ -389,7 +389,8 @@ private:
389 const auto gpu_addr = current_surface->GetGpuAddr(); 389 const auto gpu_addr = current_surface->GetGpuAddr();
390 TSurface new_surface = GetUncachedSurface(gpu_addr, params); 390 TSurface new_surface = GetUncachedSurface(gpu_addr, params);
391 const auto& cr_params = current_surface->GetSurfaceParams(); 391 const auto& cr_params = current_surface->GetSurfaceParams();
392 if (!support_info.depth_color_image_copies && cr_params.type != params.type) { 392 if (cr_params.type != params.type && (!support_info.depth_color_image_copies ||
393 cr_params.component_type != params.component_type)) {
393 BufferCopy(current_surface, new_surface); 394 BufferCopy(current_surface, new_surface);
394 } else { 395 } else {
395 std::vector<CopyParams> bricks = current_surface->BreakDown(params); 396 std::vector<CopyParams> bricks = current_surface->BreakDown(params);