From d0103648410f75c1dae48283759d884e9fbf1190 Mon Sep 17 00:00:00 2001 From: Sil Vilerino Date: Tue, 21 Nov 2023 22:06:08 -0500 Subject: [PATCH] d3d12: d3d12_create_fence_win32 - Fix double refcount bump Reviewed-by: Jesse Natalie Cc: mesa-stable Part-of: --- src/gallium/drivers/d3d12/d3d12_screen.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/d3d12/d3d12_screen.cpp b/src/gallium/drivers/d3d12/d3d12_screen.cpp index 4beb11c33ec..89f6b2cb8cf 100644 --- a/src/gallium/drivers/d3d12/d3d12_screen.cpp +++ b/src/gallium/drivers/d3d12/d3d12_screen.cpp @@ -1219,10 +1219,9 @@ d3d12_get_node_mask(struct pipe_screen *pscreen) static void d3d12_create_fence_win32(struct pipe_screen *pscreen, struct pipe_fence_handle **pfence, void *handle, const void *name, enum pipe_fd_type type) { - d3d12_fence_reference((struct d3d12_fence **)pfence, - type == PIPE_FD_TYPE_TIMELINE_SEMAPHORE ? - d3d12_open_fence(d3d12_screen(pscreen), handle, name) : - nullptr); + d3d12_fence_reference((struct d3d12_fence **)pfence, nullptr); + if(type == PIPE_FD_TYPE_TIMELINE_SEMAPHORE) + *pfence = (struct pipe_fence_handle*) d3d12_open_fence(d3d12_screen(pscreen), handle, name); } static void