zink: move fence reset to zink_fence_init()

fence stuff goes in fence file

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9626>
This commit is contained in:
Mike Blumenkrantz
2021-03-16 14:38:27 -04:00
parent bb90c8b926
commit 321a569656
3 changed files with 5 additions and 4 deletions
+1 -2
View File
@@ -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);
+3 -1
View File
@@ -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;
}
+1 -1
View File
@@ -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);