From 01790bfd451b1a0509a7a3e6e8d57c8cbe75ae8c Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 2 Nov 2020 13:35:54 -0500 Subject: [PATCH] zink: always flag xfb barrier on gfx flush when appropriate we need this to be set for internal flushes too Reviewed-by: Dave Airlie Part-of: --- src/gallium/drivers/zink/zink_context.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) 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)