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; }