[Mesa-dev] [PATCH] st/va: fix incorrect use of resource_destroy

Michel Dänzer michel at daenzer.net
Mon Nov 5 16:34:54 UTC 2018


On 2018-11-03 1:56 a.m., Marek Olšák wrote:
> From: Marek Olšák <marek.olsak at amd.com>
> 
> ---
>  src/gallium/state_trackers/va/surface.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/src/gallium/state_trackers/va/surface.c b/src/gallium/state_trackers/va/surface.c
> index 5376be28531..9646427ea5f 100644
> --- a/src/gallium/state_trackers/va/surface.c
> +++ b/src/gallium/state_trackers/va/surface.c
> @@ -591,24 +591,22 @@ surface_from_external_memory(VADriverContextP ctx, vlVaSurface *surface,
>     }
>  
>     surface->buffer = vl_video_buffer_create_ex2(drv->pipe, templat, resources);
>     if (!surface->buffer) {
>        result = VA_STATUS_ERROR_ALLOCATION_FAILED;
>        goto fail;
>     }
>     return VA_STATUS_SUCCESS;
>  
>  fail:
> -   for (i = 0; i < VL_NUM_COMPONENTS; i++) {
> -      if (resources[i])
> -         pscreen->resource_destroy(pscreen, resources[i]);
> -   }
> +   for (i = 0; i < VL_NUM_COMPONENTS; i++)
> +      pipe_resource_reference(&resources[i], NULL);
>     return result;
>  }

Nice catch.

Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer


More information about the mesa-dev mailing list