virgl:Fix the leak of hw_res used as fence

Fence destroy hw_res not dec reference.Lead leak.
Call virgl_drm_resource_reference() to release hw_res
instead of calling virgl_hw_res_destroy() directly.

Fixes: c54fb6ef3d ("virgl: Don't destroy resource while it's in use.")

Signed-off-by: cheyang <cheyang@bytedance.com>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Lepton Wu <lepton@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11008>
This commit is contained in:
cheyang 2021-05-26 20:44:57 +08:00 committed by Marge Bot
parent b8d59e68be
commit 4a3c715bb4

View file

@ -1044,8 +1044,7 @@ static void virgl_fence_reference(struct virgl_winsys *vws,
if (vws->supports_fences) {
close(dfence->fd);
} else {
struct virgl_drm_winsys *vdws = virgl_drm_winsys(vws);
virgl_hw_res_destroy(vdws, dfence->hw_res);
virgl_drm_resource_reference(vws, &dfence->hw_res, NULL);
}
FREE(dfence);
}