> -----Original Message-----
> From: Charles, Daniel [mailto:daniel.char...@intel.com]
> Sent: Tuesday, October 18, 2016 10:20 AM
> To: Eoff, Ullysses A <ullysses.a.e...@intel.com>
> Cc: libva@lists.freedesktop.org
> Subject: Re: [Libva] [PATCH][libva-intel-driver] i965_validate_config: return 
> unsupported profile
> 
> On Tue, Oct 18, 2016 at 8:25 AM, Eoff, Ullysses A
> <ullysses.a.e...@intel.com> wrote:
> > Please run the tests... I suspect this patch will cause some to fail.  
> > Those tests will need updated too.
> >
> 
> Ran the test suite on ToT, no regression found with this patch.
> 

Ah yes, I see why now.   The AVC and JPEG config tests still pass on most HW 
because UNSUPPORTED_PROFILE is only returned if *both* encode *and* decode are 
unsupported.  Thus, if there is such HW that doesn't support one or the other 
then those tests will be regressed.

> --
> Daniel.
> > U. Artie
> >
> >> -----Original Message-----
> >> From: Libva [mailto:libva-boun...@lists.freedesktop.org] On Behalf Of 
> >> Daniel Charles
> >> Sent: Monday, October 17, 2016 5:45 PM
> >> To: libva@lists.freedesktop.org
> >> Subject: [Libva] [PATCH][libva-intel-driver] i965_validate_config: return 
> >> unsupported profile
> >>
> >> When all the profiles are not supported return
> >> VA_STATUS_ERROR_UNSUPPORTED_PROFILE instead of
> >> VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT.
> >>
> >> Also change the style on the code modified to be common
> >> on all cases
> >>
> >> Signed-off-by: Daniel Charles <daniel.char...@intel.com>
> >> ---
> >>  src/i965_drv_video.c | 49 
> >> ++++++++++++++++++++++++++++++++++++++++---------
> >>  1 file changed, 40 insertions(+), 9 deletions(-)
> >>
> >> diff --git a/src/i965_drv_video.c b/src/i965_drv_video.c
> >> index fbf2cda..0830ae0 100644
> >> --- a/src/i965_drv_video.c
> >> +++ b/src/i965_drv_video.c
> >> @@ -711,6 +711,8 @@ i965_validate_config(VADriverContextP ctx, VAProfile 
> >> profile,
> >>          if ((HAS_MPEG2_DECODING(i965) && entrypoint == VAEntrypointVLD) ||
> >>              (HAS_MPEG2_ENCODING(i965) && entrypoint == 
> >> VAEntrypointEncSlice)) {
> >>              va_status = VA_STATUS_SUCCESS;
> >> +        } else if (!HAS_MPEG2_DECODING(i965) && 
> >> !HAS_MPEG2_ENCODING(i965)){
> >> +            va_status = VA_STATUS_ERROR_UNSUPPORTED_PROFILE;
> >>          } else {
> >>              va_status = VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT;
> >>          }
> >> @@ -723,6 +725,9 @@ i965_validate_config(VADriverContextP ctx, VAProfile 
> >> profile,
> >>              (HAS_H264_ENCODING(i965) && entrypoint == 
> >> VAEntrypointEncSlice) ||
> >>              (HAS_LP_H264_ENCODING(i965) && entrypoint == 
> >> VAEntrypointEncSliceLP)) {
> >>              va_status = VA_STATUS_SUCCESS;
> >> +        } else if (!HAS_H264_DECODING(i965) && !HAS_H264_ENCODING(i965) &&
> >> +                   !HAS_LP_H264_ENCODING(i965)){
> >> +            va_status = VA_STATUS_ERROR_UNSUPPORTED_PROFILE;
> >>          } else {
> >>              va_status = VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT;
> >>          }
> >> @@ -733,6 +738,8 @@ i965_validate_config(VADriverContextP ctx, VAProfile 
> >> profile,
> >>      case VAProfileVC1Advanced:
> >>          if (HAS_VC1_DECODING(i965) && entrypoint == VAEntrypointVLD) {
> >>              va_status = VA_STATUS_SUCCESS;
> >> +        } else if (!HAS_VC1_DECODING(i965)) {
> >> +            va_status = VA_STATUS_ERROR_UNSUPPORTED_PROFILE;
> >>          } else {
> >>              va_status = VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT;
> >>          }
> >> @@ -741,6 +748,8 @@ i965_validate_config(VADriverContextP ctx, VAProfile 
> >> profile,
> >>      case VAProfileNone:
> >>          if (HAS_VPP(i965) && VAEntrypointVideoProc == entrypoint) {
> >>              va_status = VA_STATUS_SUCCESS;
> >> +        } else if (!HAS_VPP(i965)){
> >> +            va_status = VA_STATUS_ERROR_UNSUPPORTED_PROFILE;
> >>          } else {
> >>              va_status = VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT;
> >>          }
> >> @@ -750,6 +759,8 @@ i965_validate_config(VADriverContextP ctx, VAProfile 
> >> profile,
> >>          if ((HAS_JPEG_DECODING(i965) && entrypoint == VAEntrypointVLD) ||
> >>              (HAS_JPEG_ENCODING(i965) && entrypoint == 
> >> VAEntrypointEncPicture)) {
> >>              va_status = VA_STATUS_SUCCESS;
> >> +        } else if (!HAS_JPEG_DECODING(i965) && !HAS_JPEG_ENCODING(i965)){
> >> +            va_status = VA_STATUS_ERROR_UNSUPPORTED_PROFILE;
> >>          } else {
> >>              va_status = VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT;
> >>          }
> >> @@ -759,6 +770,8 @@ i965_validate_config(VADriverContextP ctx, VAProfile 
> >> profile,
> >>          if ((HAS_VP8_DECODING(i965) && entrypoint == VAEntrypointVLD) ||
> >>              (HAS_VP8_ENCODING(i965) && entrypoint == 
> >> VAEntrypointEncSlice)) {
> >>              va_status = VA_STATUS_SUCCESS;
> >> +        } else if (!HAS_VP8_DECODING(i965) && !HAS_VP8_ENCODING(i965)){
> >> +            va_status = VA_STATUS_ERROR_UNSUPPORTED_PROFILE;
> >>          } else {
> >>              va_status = VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT;
> >>          }
> >> @@ -768,8 +781,12 @@ i965_validate_config(VADriverContextP ctx, VAProfile 
> >> profile,
> >>      case VAProfileH264StereoHigh:
> >>          if ((HAS_H264_MVC_DECODING_PROFILE(i965, profile) &&
> >>               entrypoint == VAEntrypointVLD) ||
> >> -            (HAS_H264_MVC_ENCODING(i965) && entrypoint == 
> >> VAEntrypointEncSlice)) {
> >> +            (HAS_H264_MVC_ENCODING(i965) &&
> >> +             entrypoint == VAEntrypointEncSlice)) {
> >>              va_status = VA_STATUS_SUCCESS;
> >> +        } else if(!HAS_H264_MVC_DECODING_PROFILE(i965, profile) &&
> >> +                  !HAS_H264_MVC_ENCODING(i965)) {
> >> +            va_status = VA_STATUS_ERROR_UNSUPPORTED_PROFILE;
> >>          } else {
> >>              va_status = VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT;
> >>          }
> >> @@ -778,32 +795,46 @@ i965_validate_config(VADriverContextP ctx, VAProfile 
> >> profile,
> >>
> >>      case VAProfileHEVCMain:
> >>          if ((HAS_HEVC_DECODING(i965) && (entrypoint == VAEntrypointVLD))||
> >> -            (HAS_HEVC_ENCODING(i965) && (entrypoint == 
> >> VAEntrypointEncSlice)))
> >> +            (HAS_HEVC_ENCODING(i965) && (entrypoint == 
> >> VAEntrypointEncSlice))) {
> >>              va_status = VA_STATUS_SUCCESS;
> >> -        else
> >> +        } else if (!HAS_HEVC_DECODING(i965) && !HAS_HEVC_ENCODING(i965)) {
> >> +            va_status = VA_STATUS_ERROR_UNSUPPORTED_PROFILE;
> >> +        } else {
> >>              va_status = VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT;
> >> +        }
> >>
> >>          break;
> >>
> >>      case VAProfileHEVCMain10:
> >>          if ((HAS_HEVC10_DECODING(i965) && (entrypoint == 
> >> VAEntrypointVLD))||
> >> -            (HAS_HEVC10_ENCODING(i965) && (entrypoint == 
> >> VAEntrypointEncSlice)))
> >> +            (HAS_HEVC10_ENCODING(i965) &&
> >> +             (entrypoint == VAEntrypointEncSlice))) {
> >>              va_status = VA_STATUS_SUCCESS;
> >> -        else
> >> +        } else if (!HAS_HEVC10_DECODING(i965) && 
> >> !HAS_HEVC10_ENCODING(i965)) {
> >> +            va_status = VA_STATUS_ERROR_UNSUPPORTED_PROFILE;
> >> +        } else {
> >>              va_status = VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT;
> >> +        }
> >>
> >>          break;
> >>
> >>      case VAProfileVP9Profile0:
> >>      case VAProfileVP9Profile2:
> >> -        if ((HAS_VP9_DECODING_PROFILE(i965, profile)) && (entrypoint == 
> >> VAEntrypointVLD))
> >> +        if ((HAS_VP9_DECODING_PROFILE(i965, profile)) &&
> >> +            (entrypoint == VAEntrypointVLD)) {
> >>              va_status = VA_STATUS_SUCCESS;
> >> -       else if ((HAS_VP9_ENCODING(i965)) && (entrypoint == 
> >> VAEntrypointEncSlice))
> >> +        } else if ((HAS_VP9_ENCODING(i965)) &&
> >> +                   (entrypoint == VAEntrypointEncSlice)) {
> >>              va_status = VA_STATUS_SUCCESS;
> >> -        else if ((profile == VAProfileVP9Profile0) && 
> >> i965->wrapper_pdrvctx)
> >> +        } else if (profile == VAProfileVP9Profile0 && 
> >> i965->wrapper_pdrvctx) {
> >>              va_status = VA_STATUS_SUCCESS;
> >> -        else
> >> +        } else if(!HAS_VP9_DECODING_PROFILE(i965, profile) &&
> >> +                  !HAS_VP9_ENCODING(i965) && !i965->wrapper_pdrvctx) {
> >> +            va_status = VA_STATUS_ERROR_UNSUPPORTED_PROFILE;
> >> +        } else {
> >>              va_status = VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT;
> >> +        }
> >> +
> >>          break;
> >>
> >>      default:
> >> --
> >> 2.5.5
> >>
> >> _______________________________________________
> >> Libva mailing list
> >> Libva@lists.freedesktop.org
> >> https://lists.freedesktop.org/mailman/listinfo/libva
_______________________________________________
Libva mailing list
Libva@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libva

Reply via email to