From 1ac1b170878561f9b219596c2ac61b50e339185d Mon Sep 17 00:00:00 2001 From: Nanley Chery Date: Mon, 8 May 2023 15:25:12 -0700 Subject: [PATCH] intel/blorp: Add depth usage check for copy format We will soon update the CCS_E aux-usage check to a CCS_E format check. Since depth formats support CCS_E on gfx12+, add another check for the depth usage to prevent depth surfaces from falling into the CCS_E copy format case. Reviewed-by: Lionel Landwerlin Part-of: --- src/intel/blorp/blorp_blit.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/intel/blorp/blorp_blit.c b/src/intel/blorp/blorp_blit.c index be83bfa851c..f862b0e6e36 100644 --- a/src/intel/blorp/blorp_blit.c +++ b/src/intel/blorp/blorp_blit.c @@ -2925,6 +2925,12 @@ blorp_copy(struct blorp_batch *batch, */ params.src.view.format = params.dst.surf.format; params.dst.view.format = params.dst.surf.format; + } else if (isl_surf_usage_is_depth(params.src.surf.usage) || + isl_surf_usage_is_depth(params.dst.surf.usage)) { + assert(src_fmtl->bpb == dst_fmtl->bpb); + params.src.view.format = + params.dst.view.format = + get_copy_format_for_bpb(isl_dev, dst_fmtl->bpb); } else if (params.dst.aux_usage == ISL_AUX_USAGE_CCS_E || params.dst.aux_usage == ISL_AUX_USAGE_GFX12_CCS_E) { params.dst.view.format = get_ccs_compatible_copy_format(dst_fmtl);