diff --git a/src/gallium/drivers/radeonsi/si_get.c b/src/gallium/drivers/radeonsi/si_get.c index 274d9d82f29..fb78e8d5a46 100644 --- a/src/gallium/drivers/radeonsi/si_get.c +++ b/src/gallium/drivers/radeonsi/si_get.c @@ -1144,6 +1144,9 @@ static bool si_vid_is_target_buffer_supported(struct pipe_screen *screen, return !is_dcc && !is_format_conversion; case PIPE_VIDEO_ENTRYPOINT_ENCODE: + if (is_dcc) + return false; + /* EFC */ if (is_format_conversion) { const bool input_8bit = @@ -1157,7 +1160,8 @@ static bool si_vid_is_target_buffer_supported(struct pipe_screen *screen, target->buffer_format == PIPE_FORMAT_R10G10B10A2_UNORM || target->buffer_format == PIPE_FORMAT_R10G10B10X2_UNORM; - if (sscreen->info.family <= CHIP_RENOIR || + if (sscreen->info.vcn_ip_version < VCN_2_0_0 || + sscreen->info.vcn_ip_version >= VCN_5_0_0 || sscreen->debug_flags & DBG(NO_EFC)) return false; @@ -1169,7 +1173,7 @@ static bool si_vid_is_target_buffer_supported(struct pipe_screen *screen, return false; } - return !is_dcc; + return true; default: return !is_format_conversion;