[Libva] [PATCH Libva-intel-driver] Add one option of bypassing rendering function to test decoding

Xu, Guangxin guangxin.xu at intel.com
Mon May 5 21:44:25 PDT 2014


Hi Yakui
This will introduce side effect to normal case. It will search string in environment list. No matter INTEL_DECODE_BENCH defined or not.


-----Original Message-----
From: Libva [mailto:libva-bounces at lists.freedesktop.org] On Behalf Of Zhao Yakui
Sent: Tuesday, May 6, 2014 12:36 PM
To: Xiang, Haihao
Cc: Zhao at freedesktop.org; libva at lists.freedesktop.org
Subject: Re: [Libva] [PATCH Libva-intel-driver] Add one option of bypassing rendering function to test decoding

On Mon, 2014-05-05 at 22:19 -0600, Xiang, Haihao wrote:
> It would be better not to call vaPutSurface() in your benchmark if you 
> want to ignore rendering.

Thanks for your review.

It is also one solution. Currently the bench test is based on the mplayer-vaapi. In such case it is not easy to bypass the vaPutSurface.
At the same time it also needs to add the function of waiting for the completion of decoding.

> 
> Thanks
> Haihao
> 
> 
> > From: Zhao Yakui <yakui.zhao at intel.com>
> > 
> > Signed-off-by: Zhao Yakui <yakui.zhao at intel.com>
> > ---
> >  src/i965_drv_video.h  | 3 +++
> >  src/i965_output_dri.c | 4 ++++
> >  2 files changed, 7 insertions(+)
> > 
> > diff --git a/src/i965_drv_video.h b/src/i965_drv_video.h index 
> > 0e32f7d..70755d2 100644
> > --- a/src/i965_drv_video.h
> > +++ b/src/i965_drv_video.h
> > @@ -432,6 +432,9 @@ extern VAStatus i965_CreateSurfaces(VADriverContextP ctx,
> >                      int format,
> >                      int num_surfaces,
> >                      VASurfaceID *surfaces);
> > +extern VAStatus i965_SyncSurface(VADriverContextP ctx,
> > +                                 VASurfaceID render_target);
> > +
> >  
> >  #define I965_SURFACE_MEM_NATIVE             0
> >  #define I965_SURFACE_MEM_GEM_FLINK          1
> > diff --git a/src/i965_output_dri.c b/src/i965_output_dri.c index 
> > 717ee9a..645a7d1 100644
> > --- a/src/i965_output_dri.c
> > +++ b/src/i965_output_dri.c
> > @@ -140,6 +140,10 @@ i965_put_surface_dri(
> >      if (!obj_surface || !obj_surface->bo)
> >          return VA_STATUS_SUCCESS;
> >  
> > +    if (getenv("INTEL_DECODE_BENCH")) {
> > +        i965_SyncSurface(ctx, surface);
> > +        return VA_STATUS_SUCCESS;
> > +    }
> >      _i965LockMutex(&i965->render_mutex);
> >  
> >      dri_drawable = dri_vtable->get_drawable(ctx, (Drawable)draw);
> 
> 


_______________________________________________
Libva mailing list
Libva at lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libva


More information about the Libva mailing list