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:
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user