From: Nanley Chery Date: Mon, 21 Nov 2022 21:58:12 +0000 (-0800) Subject: intel: Allow CCS_E on R11G11B10_FLOAT for TGL+ X-Git-Tag: upstream/23.3.3~15578 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e4e4ba23047a0f2f2578691456e487fba2013f43;p=platform%2Fupstream%2Fmesa.git intel: Allow CCS_E on R11G11B10_FLOAT for TGL+ We now support blorp_copy with this format. Reviewed-by: Kenneth Graunke Reviewed-by: Jianxun Zhang Part-of: --- diff --git a/src/intel/blorp/blorp_blit.c b/src/intel/blorp/blorp_blit.c index 14ef27f..33a83f3 100644 --- a/src/intel/blorp/blorp_blit.c +++ b/src/intel/blorp/blorp_blit.c @@ -2724,6 +2724,9 @@ get_ccs_compatible_copy_format(const struct isl_format_layout *fmtl) case ISL_FORMAT_R32_SNORM: return ISL_FORMAT_R32_UINT; + case ISL_FORMAT_R11G11B10_FLOAT: + return ISL_FORMAT_R32_UINT; + case ISL_FORMAT_B10G10R10A2_UNORM: case ISL_FORMAT_B10G10R10A2_UNORM_SRGB: case ISL_FORMAT_R10G10B10A2_UNORM: diff --git a/src/intel/isl/isl_format.c b/src/intel/isl/isl_format.c index e974580..729feec 100644 --- a/src/intel/isl/isl_format.c +++ b/src/intel/isl/isl_format.c @@ -888,11 +888,12 @@ isl_format_supports_ccs_e(const struct intel_device_info *devinfo, /* For simplicity, only report that a format supports CCS_E if blorp can * perform bit-for-bit copies with an image of that format while compressed. - * Unfortunately, R11G11B10_FLOAT is in a compression class of its own and - * there is no way to copy to/from it which doesn't potentially loose data - * if one of the bit patterns being copied isn't valid finite floats. + * Unfortunately, R11G11B10_FLOAT is in a compression class of its own, and + * on ICL, there is no way to copy to/from it which doesn't potentially + * loose data if one of the bit patterns being copied isn't valid finite + * floats. */ - if (format == ISL_FORMAT_R11G11B10_FLOAT) + if (devinfo->ver == 11 && format == ISL_FORMAT_R11G11B10_FLOAT) return false; return devinfo->verx10 >= format_info[format].ccs_e;