From cb7013277892686e3ad8f8d1dd9c83e787dee5e8 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 16 Mar 2021 14:29:13 -0400 Subject: [PATCH] zink: use macro to streamline batch struct member init Reviewed-by: Dave Airlie Part-of: --- src/gallium/drivers/zink/zink_batch.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/gallium/drivers/zink/zink_batch.c b/src/gallium/drivers/zink/zink_batch.c index 2d4b94d8e70..fdf2e29ca72 100644 --- a/src/gallium/drivers/zink/zink_batch.c +++ b/src/gallium/drivers/zink/zink_batch.c @@ -138,21 +138,22 @@ init_batch(struct zink_context *ctx, struct zink_batch *batch) if (vkAllocateCommandBuffers(screen->dev, &cbai, &batch->cmdbuf) != VK_SUCCESS) return; - batch->fbs = _mesa_pointer_set_create(NULL); - batch->active_queries = _mesa_pointer_set_create(NULL); - batch->resources = _mesa_pointer_set_create(NULL); - batch->surfaces = _mesa_pointer_set_create(NULL); - batch->bufferviews = _mesa_pointer_set_create(NULL); - batch->programs = _mesa_pointer_set_create(NULL); - batch->desc_sets = _mesa_pointer_set_create(ctx); +#define SET_CREATE_OR_FAIL(ptr) do { \ + ptr = _mesa_pointer_set_create(NULL); \ + if (!ptr) \ + return; \ + } while (0) + + SET_CREATE_OR_FAIL(batch->fbs); + SET_CREATE_OR_FAIL(batch->resources); + SET_CREATE_OR_FAIL(batch->surfaces); + SET_CREATE_OR_FAIL(batch->bufferviews); + SET_CREATE_OR_FAIL(batch->programs); + SET_CREATE_OR_FAIL(batch->desc_sets); + SET_CREATE_OR_FAIL(batch->active_queries); util_dynarray_init(&batch->zombie_samplers, NULL); util_dynarray_init(&batch->persistent_resources, NULL); - if (!batch->resources || !batch->desc_sets || - !batch->programs || !batch->surfaces || !batch->bufferviews || - !batch->active_queries) - return; - batch->fence = zink_create_fence(ctx->base.screen, batch); }