diff --git a/src/gallium/drivers/zink/zink_context.c b/src/gallium/drivers/zink/zink_context.c index b2ce18b3638..2fd687324b1 100644 --- a/src/gallium/drivers/zink/zink_context.c +++ b/src/gallium/drivers/zink/zink_context.c @@ -1342,6 +1342,8 @@ flush_batch(struct zink_context *ctx, enum zink_queue queue) incr_curr_batch(ctx); zink_start_batch(ctx, batch); + if (queue == ZINK_QUEUE_GFX && zink_screen(ctx->base.screen)->info.have_EXT_transform_feedback && ctx->num_so_targets) + ctx->dirty_so_targets = true; } struct zink_batch * @@ -1795,9 +1797,6 @@ zink_flush(struct pipe_context *pctx, batch->state->flush_res = zink_resource(ctx->fb_state.cbufs[0]->texture); } flush_batch(ctx, ZINK_QUEUE_GFX); - - if (zink_screen(pctx->screen)->info.have_EXT_transform_feedback && ctx->num_so_targets) - ctx->dirty_so_targets = true; } if (!pfence)