From 06273abd203038396f387ba2ed05b412f97ff9ec Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 17 Nov 2020 18:29:15 -0500 Subject: [PATCH] zink: add 'has_draw' flag to batch struct this tells us if a batch has a draw command pending Reviewed-by: Erik Faye-Lund Part-of: --- src/gallium/drivers/zink/zink_batch.c | 1 + src/gallium/drivers/zink/zink_batch.h | 1 + src/gallium/drivers/zink/zink_draw.c | 1 + 3 files changed, 3 insertions(+) diff --git a/src/gallium/drivers/zink/zink_batch.c b/src/gallium/drivers/zink/zink_batch.c index bb8d8f364b8..18621aa238a 100644 --- a/src/gallium/drivers/zink/zink_batch.c +++ b/src/gallium/drivers/zink/zink_batch.c @@ -60,6 +60,7 @@ reset_batch(struct zink_context *ctx, struct zink_batch *batch) if (vkResetDescriptorPool(screen->dev, batch->descpool, 0) != VK_SUCCESS) fprintf(stderr, "vkResetDescriptorPool failed\n"); + batch->has_draw = false; } void diff --git a/src/gallium/drivers/zink/zink_batch.h b/src/gallium/drivers/zink/zink_batch.h index ee0367ca924..ce49031dcb1 100644 --- a/src/gallium/drivers/zink/zink_batch.h +++ b/src/gallium/drivers/zink/zink_batch.h @@ -57,6 +57,7 @@ struct zink_batch { struct set *active_queries; /* zink_query objects which were active at some point in this batch */ + bool has_draw; bool in_rp; //renderpass is currently active }; diff --git a/src/gallium/drivers/zink/zink_draw.c b/src/gallium/drivers/zink/zink_draw.c index f0aa3ec177a..340e6137794 100644 --- a/src/gallium/drivers/zink/zink_draw.c +++ b/src/gallium/drivers/zink/zink_draw.c @@ -618,4 +618,5 @@ zink_draw_vbo(struct pipe_context *pctx, } screen->vk_CmdEndTransformFeedbackEXT(batch->cmdbuf, 0, ctx->num_so_targets, counter_buffers, counter_buffer_offsets); } + batch->has_draw = true; }