[Mesa-dev] [PATCH] radv/winsys: fix leaking resources from bo's imported by fd

Bas Nieuwenhuizen bas at basnieuwenhuizen.nl
Mon Apr 30 22:16:51 UTC 2018


Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>


On Tue, May 1, 2018 at 12:13 AM, Andres Rodriguez <andresx7 at gmail.com> wrote:
> A bo's ref_count was not being initialized when imported from an fd.
> Therefore, we would fail to free the resource during VkFreeMemory().
>
> This patch fixes applications like hifi VR in threaded mode, which
> perform frequent imports/releases of IPC shared memory.
>
> Signed-off-by: Andres Rodriguez <andresx7 at gmail.com>
> CC: 18.0 18.1 <mesa-stable at lists.freedesktop.org>
> ---
>  src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c
> index e2060651e4..8ed3e53e2d 100644
> --- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c
> +++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c
> @@ -501,6 +501,7 @@ radv_amdgpu_winsys_bo_from_fd(struct radeon_winsys *_ws,
>         bo->size = result.alloc_size;
>         bo->is_shared = true;
>         bo->ws = ws;
> +       bo->ref_count = 1;
>         radv_amdgpu_add_buffer_to_global_list(bo);
>         return (struct radeon_winsys_bo *)bo;
>  error_va_map:
> --
> 2.14.1
>


More information about the mesa-dev mailing list