freedreno: Destroy syncobj too when destroying fence
authorEduardo Lima Mitev <elima@igalia.com>
Wed, 19 Aug 2020 07:57:33 +0000 (09:57 +0200)
committerMarge Bot <eric+marge@anholt.net>
Wed, 19 Aug 2020 09:11:21 +0000 (09:11 +0000)
This is a missing part of freedreno EXT_semaphore support,
recently merged as part of series adding EXT_external_objects. This hunk was
actually lost due to a mistake on my side while doing a rebase.

Reviewed-by: Hyunjun Ko <zzoon@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6383>

src/gallium/drivers/freedreno/freedreno_fence.c

index 9f0f6ee531d54f615694eed5577195e835593183..29ee6627e2d1fb2cfa1d54d5732b977a4751b2c3 100644 (file)
@@ -70,6 +70,8 @@ static void fd_fence_destroy(struct pipe_fence_handle *fence)
 {
        if (fence->fence_fd != -1)
                close(fence->fence_fd);
+       if (fence->syncobj)
+               drmSyncobjDestroy(fd_device_fd(fence->screen->dev), fence->syncobj);
        fd_pipe_del(fence->pipe);
        FREE(fence);
 }