ac/surface: reject modifiers with retile_dcc and bpe != 32
radv has a comment in radv_meta_dcc_retile.c: * BPE is always 4 at the moment and the rest is derived from the tilemode. radeonsi has in si_retile_dcc: /* We have only 1 variant per bpp for now, so expect 32 bpp. */ assert(tex->surface.bpe == 4); This fixes ext_image_dma_buf_import-modifiers for radeonsi. Cc: mesa-stable Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29612>
This commit is contained in:
committed by
Marge Bot
parent
9d8073a5fd
commit
abd048124a
@@ -291,9 +291,13 @@ bool ac_is_modifier_supported(const struct radeon_info *info,
|
||||
if (!options->dcc)
|
||||
return false;
|
||||
|
||||
if (ac_modifier_has_dcc_retile(modifier) &&
|
||||
(!info->use_display_dcc_with_retile_blit || !options->dcc_retile))
|
||||
return false;
|
||||
if (ac_modifier_has_dcc_retile(modifier)) {
|
||||
/* radeonsi and radv retiling shaders only support bpe == 32. */
|
||||
if (util_format_get_blocksizebits(format) != 32)
|
||||
return false;
|
||||
if (!info->use_display_dcc_with_retile_blit || !options->dcc_retile)
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user