diff --git a/src/gallium/drivers/radeonsi/si_get.c b/src/gallium/drivers/radeonsi/si_get.c index a66e0c78a72..bc6c8a6ce66 100644 --- a/src/gallium/drivers/radeonsi/si_get.c +++ b/src/gallium/drivers/radeonsi/si_get.c @@ -556,6 +556,8 @@ static int si_get_video_param(struct pipe_screen *screen, enum pipe_video_profil case PIPE_VIDEO_FORMAT_VP9: return sscreen->info.vcn_ip_version >= VCN_1_0_0; case PIPE_VIDEO_FORMAT_AV1: + if (profile == PIPE_VIDEO_PROFILE_AV1_PROFILE2) + return sscreen->info.vcn_ip_version >= VCN_5_0_0 || sscreen->info.vcn_ip_version == VCN_4_0_0; return sscreen->info.vcn_ip_version >= VCN_3_0_0 && sscreen->info.vcn_ip_version != VCN_3_0_33; default: return false; @@ -699,12 +701,9 @@ static bool si_vid_is_format_supported(struct pipe_screen *screen, enum pipe_for return (format == PIPE_FORMAT_P010) || (format == PIPE_FORMAT_P016) || (format == PIPE_FORMAT_NV12); - if (profile == PIPE_VIDEO_PROFILE_AV1_PROFILE2 && entrypoint == PIPE_VIDEO_ENTRYPOINT_BITSTREAM) { - if (sscreen->info.vcn_ip_version < VCN_5_0_0 && sscreen->info.vcn_ip_version != VCN_4_0_0) - return false; + if (profile == PIPE_VIDEO_PROFILE_AV1_PROFILE2 && entrypoint == PIPE_VIDEO_ENTRYPOINT_BITSTREAM) return (format == PIPE_FORMAT_P010) || (format == PIPE_FORMAT_P016) || (format == PIPE_FORMAT_P012) || (format == PIPE_FORMAT_NV12); - } /* JPEG supports YUV400 and YUV444 */ if (profile == PIPE_VIDEO_PROFILE_JPEG_BASELINE) {