[Mesa-dev] [PATCH 1/2] st/va: Fix config entrypoint handling

Christian König ckoenig.leichtzumerken at gmail.com
Tue Oct 10 07:32:04 UTC 2017


Am 09.10.2017 um 22:45 schrieb Mark Thompson:
> Consistently use it as a PIPE_VIDEO_ENTRYPOINT.
>
> Signed-off-by: Mark Thompson <sw at jkqxz.net>
> ---
>   src/gallium/state_trackers/va/config.c | 15 +++++++++------
>   1 file changed, 9 insertions(+), 6 deletions(-)
>
> diff --git a/src/gallium/state_trackers/va/config.c b/src/gallium/state_trackers/va/config.c
> index 1484fcacce..f3000be2fd 100644
> --- a/src/gallium/state_trackers/va/config.c
> +++ b/src/gallium/state_trackers/va/config.c
> @@ -195,7 +195,7 @@ vlVaCreateConfig(VADriverContextP ctx, VAProfile profile, VAEntrypoint entrypoin
>         return VA_STATUS_ERROR_ALLOCATION_FAILED;
>   
>      if (profile == VAProfileNone && entrypoint == VAEntrypointVideoProc) {
> -      config->entrypoint = VAEntrypointVideoProc;
> +      config->entrypoint = PIPE_VIDEO_ENTRYPOINT_UNKNOWN;
>         config->profile = PIPE_VIDEO_PROFILE_UNKNOWN;
>         supported_rt_formats = VA_RT_FORMAT_YUV420 |
>                                VA_RT_FORMAT_YUV420_10BPP |
> @@ -342,14 +342,17 @@ vlVaQueryConfigAttributes(VADriverContextP ctx, VAConfigID config_id, VAProfile
>   
>      *profile = PipeToProfile(config->profile);
>   
> -   if (config->profile == PIPE_VIDEO_PROFILE_UNKNOWN) {
> +   switch (config->entrypoint) {
> +   case PIPE_VIDEO_ENTRYPOINT_BITSTREAM:
> +      *entrypoint = VAEntrypointVLD;
> +      break;
> +   case PIPE_VIDEO_ENTRYPOINT_ENCODE:
> +      *entrypoint = VAEntrypointEncSlice;
> +      break;
> +   default:

I prefer an explicit case for PIPE_VIDEO_ENTRYPOINT_UNKNOWN and 
returning an error in the default case here.

Apart from that the change looks good to me and seems to be a rather 
nice cleanup/fix.

Thanks,
Christian.

>         *entrypoint = VAEntrypointVideoProc;
> -      *num_attribs = 0;
> -      return VA_STATUS_SUCCESS;
>      }
>   
> -   *entrypoint = config->entrypoint;
> -
>      *num_attribs = 1;
>      attrib_list[0].type = VAConfigAttribRTFormat;
>      attrib_list[0].value = config->rt_format;




More information about the mesa-dev mailing list