From: Jason Ekstrand Date: Wed, 4 Dec 2019 19:01:35 +0000 (-0600) Subject: anv: Add a fence_reset_reset_temporary helper X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ecc119a96e86a4292f98de7492d30508a6df3870;p=mesa.git anv: Add a fence_reset_reset_temporary helper Reviewed-by: Lionel Landwerlin --- diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index 81e11c8d72d..96254f620d8 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -2863,6 +2863,9 @@ struct anv_fence { struct anv_fence_impl temporary; }; +void anv_fence_reset_temporary(struct anv_device *device, + struct anv_fence *fence); + struct anv_event { uint64_t semaphore; struct anv_state state; diff --git a/src/intel/vulkan/anv_queue.c b/src/intel/vulkan/anv_queue.c index abcedfd95d1..7bdcb5e2b7f 100644 --- a/src/intel/vulkan/anv_queue.c +++ b/src/intel/vulkan/anv_queue.c @@ -1123,6 +1123,16 @@ anv_fence_impl_cleanup(struct anv_device *device, impl->type = ANV_FENCE_TYPE_NONE; } +void +anv_fence_reset_temporary(struct anv_device *device, + struct anv_fence *fence) +{ + if (fence->temporary.type == ANV_FENCE_TYPE_NONE) + return; + + anv_fence_impl_cleanup(device, &fence->temporary); +} + void anv_DestroyFence( VkDevice _device, VkFence _fence, @@ -1157,8 +1167,7 @@ VkResult anv_ResetFences( * first restored. The remaining operations described therefore * operate on the restored payload. */ - if (fence->temporary.type != ANV_FENCE_TYPE_NONE) - anv_fence_impl_cleanup(device, &fence->temporary); + anv_fence_reset_temporary(device, fence); struct anv_fence_impl *impl = &fence->permanent;