zink: call tc_driver_internal_flush_notify() on flush

I think this is right?

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10882>
This commit is contained in:
Mike Blumenkrantz 2021-05-19 09:59:31 -04:00
parent 0c1fe392e8
commit 4d62fca087
2 changed files with 4 additions and 1 deletions

View File

@ -486,6 +486,8 @@ zink_end_batch(struct zink_context *ctx, struct zink_batch *batch)
if (!ctx->queries_disabled)
zink_suspend_queries(ctx, batch);
tc_driver_internal_flush_notify(ctx->tc);
if (vkEndCommandBuffer(batch->state->cmdbuf) != VK_SUCCESS) {
debug_printf("vkEndCommandBuffer failed\n");
return;

View File

@ -2155,6 +2155,7 @@ zink_flush(struct pipe_context *pctx,
check_device_lost(ctx);
}
}
tc_driver_internal_flush_notify(ctx->tc);
} else {
fence = &batch->state->fence;
if (deferred && !(flags & PIPE_FLUSH_FENCE_FD) && pfence)
@ -3181,7 +3182,7 @@ zink_context_create(struct pipe_screen *pscreen, void *priv, unsigned flags)
struct threaded_context *tc = (struct threaded_context*)threaded_context_create(&ctx->base, &screen->transfer_pool,
zink_context_replace_buffer_storage,
zink_create_tc_fence_for_tc,
zink_context_is_resource_busy, false, &ctx->tc);
zink_context_is_resource_busy, true, &ctx->tc);
if (tc && (struct zink_context*)tc != ctx) {
tc->bytes_mapped_limit = screen->total_mem / 4;