diff --git a/.pick_status.json b/.pick_status.json index 399894f9565..6e01f473dfd 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1714,7 +1714,7 @@ "description": "ac/surface: don't validate DCC settings if DCC isn't possible", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null }, diff --git a/src/amd/common/ac_surface.c b/src/amd/common/ac_surface.c index 121093979b3..caaf220d851 100644 --- a/src/amd/common/ac_surface.c +++ b/src/amd/common/ac_surface.c @@ -2303,7 +2303,9 @@ static int gfx9_compute_surface(struct ac_addrlib *addrlib, const struct radeon_ !(surf->flags & (RADEON_SURF_DISABLE_DCC | RADEON_SURF_FORCE_SWIZZLE_MODE | RADEON_SURF_FORCE_MICRO_TILE_MODE)) && (surf->modifier == DRM_FORMAT_MOD_INVALID || - ac_modifier_has_dcc(surf->modifier))) { + ac_modifier_has_dcc(surf->modifier)) && + is_dcc_supported_by_DCN(info, config, surf, surf->u.gfx9.color.dcc.rb_aligned, + surf->u.gfx9.color.dcc.pipe_aligned)) { /* Validate that DCC is enabled if DCN can do it. */ if ((info->use_display_dcc_unaligned || info->use_display_dcc_with_retile_blit) && AddrSurfInfoIn.flags.display && surf->bpe == 4) {