diff --git a/src/intel/isl/isl.c b/src/intel/isl/isl.c index d68ac324d07..f737f8b3b53 100644 --- a/src/intel/isl/isl.c +++ b/src/intel/isl/isl.c @@ -2020,6 +2020,16 @@ isl_surf_get_ccs_surf(const struct isl_device *dev, if (surf->tiling != ISL_TILING_Y0) return false; + /* BSpec 44930: + * + * Linear CCS is only allowed for Untyped Buffers but only via HDC + * Data-Port messages. + * + * We probably want to limit linear CCS to storage usage and check that + * the shaders actually use only untyped messages. + */ + assert(surf->tiling != ISL_TILING_LINEAR); + switch (isl_format_get_layout(surf->format)->bpb) { case 8: ccs_format = ISL_FORMAT_GEN12_CCS_8BPP_Y0; break; case 16: ccs_format = ISL_FORMAT_GEN12_CCS_16BPP_Y0; break;