diff --git a/src/amd/common/ac_nir_meta_cs_blit.c b/src/amd/common/ac_nir_meta_cs_blit.c index 8b2186e16b3..679281afc9f 100644 --- a/src/amd/common/ac_nir_meta_cs_blit.c +++ b/src/amd/common/ac_nir_meta_cs_blit.c @@ -644,6 +644,7 @@ ac_prepare_compute_blit(const struct ac_cs_blit_options *options, /* Verified on Navi31. */ if (is_resolve) { if (!((blit->dst.surf->bpe <= 2 && src_samples == 2) || + (blit->dst.surf->bpe == 2 && src_samples == 4) || (blit->dst.surf->bpe == 16 && src_samples == 4))) return false; } else { @@ -653,10 +654,7 @@ ac_prepare_compute_blit(const struct ac_cs_blit_options *options, if (blit->dst.surf->bpe == 2 && blit->src.surf->is_linear && dst_samples == 1) return false; - if ((blit->dst.surf->bpe == 4 || blit->dst.surf->bpe == 8) && dst_samples == 1) - return false; - - if (blit->dst.surf->bpe == 16 && dst_samples == 1 && !blit->src.surf->is_linear) + if (blit->dst.surf->bpe >= 4 && dst_samples == 1 && !blit->src.surf->is_linear) return false; if (blit->dst.surf->bpe == 16 && dst_samples == 8)