mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-24 10:20:22 +01:00
zink: refactor fence destruction
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
This commit is contained in:
parent
4c5ade8ca6
commit
dbf67e8a20
1 changed files with 11 additions and 5 deletions
|
|
@ -27,6 +27,14 @@
|
|||
|
||||
#include "util/u_memory.h"
|
||||
|
||||
static void
|
||||
destroy_fence(struct zink_screen *screen, struct zink_fence *fence)
|
||||
{
|
||||
if (fence->fence)
|
||||
vkDestroyFence(screen->dev, fence->fence, NULL);
|
||||
FREE(fence);
|
||||
}
|
||||
|
||||
struct zink_fence *
|
||||
zink_create_fence(struct pipe_screen *pscreen)
|
||||
{
|
||||
|
|
@ -50,7 +58,7 @@ zink_create_fence(struct pipe_screen *pscreen)
|
|||
return ret;
|
||||
|
||||
fail:
|
||||
FREE(ret);
|
||||
destroy_fence(screen, ret);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
@ -59,10 +67,8 @@ zink_fence_reference(struct zink_screen *screen,
|
|||
struct zink_fence **ptr,
|
||||
struct zink_fence *fence)
|
||||
{
|
||||
if (pipe_reference(&(*ptr)->reference, &fence->reference)) {
|
||||
vkDestroyFence(screen->dev, (*ptr)->fence, NULL);
|
||||
free(*ptr);
|
||||
}
|
||||
if (pipe_reference(&(*ptr)->reference, &fence->reference))
|
||||
destroy_fence(screen, *ptr);
|
||||
|
||||
*ptr = fence;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue