From 321a5696562ae0acad3321e153ae82debe6f4d74 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 16 Mar 2021 14:38:27 -0400 Subject: [PATCH] zink: move fence reset to zink_fence_init() fence stuff goes in fence file Reviewed-by: Dave Airlie Part-of: --- src/gallium/drivers/zink/zink_batch.c | 3 +-- src/gallium/drivers/zink/zink_fence.c | 4 +++- src/gallium/drivers/zink/zink_fence.h | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/zink/zink_batch.c b/src/gallium/drivers/zink/zink_batch.c index fdf2e29ca72..9cec01c4df3 100644 --- a/src/gallium/drivers/zink/zink_batch.c +++ b/src/gallium/drivers/zink/zink_batch.c @@ -185,8 +185,7 @@ zink_end_batch(struct zink_context *ctx, struct zink_batch *batch) return; } - vkResetFences(zink_screen(ctx->base.screen)->dev, 1, &batch->fence->fence); - zink_fence_init(batch->fence, batch); + zink_fence_init(ctx, batch); util_dynarray_foreach(&batch->persistent_resources, struct zink_resource*, res) { struct zink_screen *screen = zink_screen(ctx->base.screen); diff --git a/src/gallium/drivers/zink/zink_fence.c b/src/gallium/drivers/zink/zink_fence.c index 701560904c3..7aec89eb2fe 100644 --- a/src/gallium/drivers/zink/zink_fence.c +++ b/src/gallium/drivers/zink/zink_fence.c @@ -70,8 +70,9 @@ fail: } void -zink_fence_init(struct zink_fence *fence, struct zink_batch *batch) +zink_fence_init(struct zink_context *ctx, struct zink_batch *batch) { + struct zink_fence *fence = batch->fence; set_foreach(batch->resources, entry) { /* the fence needs its own reference to ensure it can safely access lifetime-dependent * resource members @@ -80,6 +81,7 @@ zink_fence_init(struct zink_fence *fence, struct zink_batch *batch) pipe_reference(NULL, &obj->reference); util_dynarray_append(&fence->resources, struct zink_resource_object*, obj); } + vkResetFences(zink_screen(ctx->base.screen)->dev, 1, &fence->fence); fence->deferred_ctx = NULL; fence->submitted = true; } diff --git a/src/gallium/drivers/zink/zink_fence.h b/src/gallium/drivers/zink/zink_fence.h index a9043b5841b..4cfca828beb 100644 --- a/src/gallium/drivers/zink/zink_fence.h +++ b/src/gallium/drivers/zink/zink_fence.h @@ -50,7 +50,7 @@ zink_fence(struct pipe_fence_handle *pfence) } void -zink_fence_init(struct zink_fence *fence, struct zink_batch *batch); +zink_fence_init(struct zink_context *ctx, struct zink_batch *batch); struct zink_fence * zink_create_fence(struct pipe_screen *pscreen, struct zink_batch *batch);