[Libva] [PATCH libva-intel-driver] gen8_mfd: free surface used by JPEG decode
Eoff, Ullysses A
ullysses.a.eoff at intel.com
Tue May 19 17:36:36 PDT 2015
On Tue, 2015-05-19 at 15:30 -0700, Sean V Kelley wrote:
> Artie,
>
> > On May 19, 2015, at 14:59, U. Artie Eoff <ullysses.a.eoff at intel.com> wrote:
> >
> > This is a follow up to previous commit:
> >
> > commit 8dda0650b55c467200c34ada127b5d9b54edea5c
> > Author: Zhao Yakui <yakui.zhao at intel.com>
> > Date: Tue May 5 17:56:38 2015 +0800
> >
>
>
> Please resubmit your patch, with you as author as you are accounting for the GEN8 case
> of inadvertent WA enabling. GEN7 changes are already merged.
>
> Thanks,
>
> Sean
>
This patch already has me as author. The above is just a reference in
the "commit message" to the original GEN7 case.
>
> > Decode: Free the allocated internal surface used by JPEG to avoid memory leak
> >
> > For GEN8, this code path is normally disabled by default.
> > However, one can enable this code path by defining JPEG_WA
> > during compilation. In that case, we would enable the
> > same memory leak. Thus, apply the same fix in gen8_mfd to
> > fix it.
> >
> > Signed-off-by: U. Artie Eoff <ullysses.a.eoff at intel.com>
> > ---
> > src/gen8_mfd.c | 12 ++++++++++++
> > 1 file changed, 12 insertions(+)
> >
> > diff --git a/src/gen8_mfd.c b/src/gen8_mfd.c
> > index 6618740..f045ca4 100644
> > --- a/src/gen8_mfd.c
> > +++ b/src/gen8_mfd.c
> > @@ -3112,8 +3112,11 @@ out:
> > static void
> > gen8_mfd_context_destroy(void *hw_context)
> > {
> > + VADriverContextP ctx;
> > struct gen7_mfd_context *gen7_mfd_context = (struct gen7_mfd_context *)hw_context;
> >
> > + ctx = (VADriverContextP)(gen7_mfd_context->driver_context);
> > +
> > dri_bo_unreference(gen7_mfd_context->post_deblocking_output.bo);
> > gen7_mfd_context->post_deblocking_output.bo = NULL;
> >
> > @@ -3140,6 +3143,13 @@ gen8_mfd_context_destroy(void *hw_context)
> >
> > dri_bo_unreference(gen7_mfd_context->jpeg_wa_slice_data_bo);
> >
> > + if (gen7_mfd_context->jpeg_wa_surface_id != VA_INVALID_SURFACE) {
> > + i965_DestroySurfaces(ctx,
> > + &gen7_mfd_context->jpeg_wa_surface_id,
> > + 1);
> > + gen7_mfd_context->jpeg_wa_surface_object = NULL;
> > + }
> > +
> > intel_batchbuffer_free(gen7_mfd_context->base.batch);
> > free(gen7_mfd_context);
> > }
> > @@ -3188,5 +3198,7 @@ gen8_dec_hw_context_init(VADriverContextP ctx, struct object_config *obj_config)
> > default:
> > break;
> > }
> > +
> > + gen7_mfd_context->driver_context = ctx;
> > return (struct hw_context *)gen7_mfd_context;
> > }
> > --
> > 1.9.3
> >
> > _______________________________________________
> > Libva mailing list
> > Libva at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/libva
>
More information about the Libva
mailing list