diff options
author | Mike Blumenkrantz <michael.blumenkrantz@gmail.com> | 2021-03-22 13:58:37 -0400 |
---|---|---|
committer | Marge Bot <eric+marge@anholt.net> | 2021-03-30 15:12:59 +0000 |
commit | cb580af02a40c7f65b5c8445e93d22447c738cde (patch) | |
tree | 6061365ba32d1c5766ee58856a286bb44d65639f | |
parent | 11926342e398b072706a9229329ec8dbd7748863 (diff) |
zink: remove zink_create_fence()
merge this down into batch state creation to keep fence file complexity down
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9885>
-rw-r--r-- | src/gallium/drivers/zink/zink_batch.c | 9 | ||||
-rw-r--r-- | src/gallium/drivers/zink/zink_fence.c | 20 | ||||
-rw-r--r-- | src/gallium/drivers/zink/zink_fence.h | 3 |
3 files changed, 6 insertions, 26 deletions
diff --git a/src/gallium/drivers/zink/zink_batch.c b/src/gallium/drivers/zink/zink_batch.c index 2ea6e27b028..33bbae2def3 100644 --- a/src/gallium/drivers/zink/zink_batch.c +++ b/src/gallium/drivers/zink/zink_batch.c @@ -171,9 +171,12 @@ create_batch_state(struct zink_context *ctx) util_dynarray_init(&bs->zombie_samplers, NULL); util_dynarray_init(&bs->persistent_resources, NULL); - if (!zink_create_fence(screen, bs)) - /* this destroys the batch state on failure */ - return NULL; + VkFenceCreateInfo fci = {}; + fci.sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO; + + if (vkCreateFence(screen->dev, &fci, NULL, &bs->fence.fence) != VK_SUCCESS) + goto fail; + pipe_reference_init(&bs->fence.reference, 1); simple_mtx_init(&bs->fence.resource_mtx, mtx_plain); return bs; diff --git a/src/gallium/drivers/zink/zink_fence.c b/src/gallium/drivers/zink/zink_fence.c index 3a76bddc237..97e7c2d84d2 100644 --- a/src/gallium/drivers/zink/zink_fence.c +++ b/src/gallium/drivers/zink/zink_fence.c @@ -55,26 +55,6 @@ destroy_fence(struct zink_screen *screen, struct zink_fence *fence) zink_batch_state_destroy(screen, zink_batch_state(fence)); } -bool -zink_create_fence(struct zink_screen *screen, struct zink_batch_state *bs) -{ - struct zink_fence *fence = zink_fence(bs); - - VkFenceCreateInfo fci = {}; - fci.sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO; - - if (vkCreateFence(screen->dev, &fci, NULL, &fence->fence) != VK_SUCCESS) { - debug_printf("vkCreateFence failed\n"); - goto fail; - } - - pipe_reference_init(&fence->reference, 1); - return true; -fail: - destroy_fence(screen, fence); - return false; -} - void zink_fence_reference(struct zink_screen *screen, struct zink_fence **ptr, diff --git a/src/gallium/drivers/zink/zink_fence.h b/src/gallium/drivers/zink/zink_fence.h index c35a5f1c327..59a4a65f86e 100644 --- a/src/gallium/drivers/zink/zink_fence.h +++ b/src/gallium/drivers/zink/zink_fence.h @@ -52,9 +52,6 @@ zink_fence(void *pfence) return (struct zink_fence *)pfence; } -bool -zink_create_fence(struct zink_screen *screen, struct zink_batch_state *bs); - void zink_fence_reference(struct zink_screen *screen, struct zink_fence **ptr, |