[Libva] [PATCH libva-intel-driver] gen8_mfd: free surface used by JPEG decode
Sean V Kelley
seanvk at posteo.de
Wed May 20 09:04:57 PDT 2015
> On May 19, 2015, at 17:36, Eoff, Ullysses A <ullysses.a.eoff at intel.com> wrote:
>
> 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.
>
You’re right. I was seeing the comment. Applied to master, thanks.
Sean
>>
>>> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libva/attachments/20150520/5d7e03a2/attachment-0001.html>
More information about the Libva
mailing list