From bdb8291f6c599ac0f9c2f29dbd4ce97bf96abf0d Mon Sep 17 00:00:00 2001 From: Giovanni Mascellani Date: Mon, 20 Jan 2025 22:45:15 +0100 Subject: [PATCH] vkd3d: Release queued fences when stopping the fence worker. --- libs/vkd3d/command.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libs/vkd3d/command.c b/libs/vkd3d/command.c index 3b75a34e..e761273c 100644 --- a/libs/vkd3d/command.c +++ b/libs/vkd3d/command.c @@ -399,6 +399,7 @@ static HRESULT vkd3d_fence_worker_start(struct vkd3d_fence_worker *worker, static HRESULT vkd3d_fence_worker_stop(struct vkd3d_fence_worker *worker, struct d3d12_device *device) { + unsigned int i; HRESULT hr; TRACE("worker %p.\n", worker); @@ -416,6 +417,9 @@ static HRESULT vkd3d_fence_worker_stop(struct vkd3d_fence_worker *worker, vkd3d_mutex_destroy(&worker->mutex); vkd3d_cond_destroy(&worker->cond); + for (i = 0; i < worker->fence_count; ++i) + d3d12_fence_decref(worker->fences[i].fence); + vkd3d_free(worker->fences); return S_OK;