diff --git a/src/gallium/drivers/zink/zink_batch.c b/src/gallium/drivers/zink/zink_batch.c index 7fe5f860d40..b19a1ba5e48 100644 --- a/src/gallium/drivers/zink/zink_batch.c +++ b/src/gallium/drivers/zink/zink_batch.c @@ -337,7 +337,7 @@ submit_queue(void *data, int thread_index) .pNext = si.pNext, }; - if (bs->flush_res) { + if (bs->flush_res && zink_screen(bs->ctx->base.screen)->needs_mesa_flush_wsi) { mem_signal.memory = bs->flush_res->scanout_obj ? bs->flush_res->scanout_obj->mem : bs->flush_res->obj->mem; si.pNext = &mem_signal; } diff --git a/src/gallium/drivers/zink/zink_context.c b/src/gallium/drivers/zink/zink_context.c index 3c6a0555b53..9c358f3f6f6 100644 --- a/src/gallium/drivers/zink/zink_context.c +++ b/src/gallium/drivers/zink/zink_context.c @@ -1723,8 +1723,7 @@ zink_flush(struct pipe_context *pctx, zink_begin_render_pass(ctx, batch); zink_end_render_pass(ctx, batch); if (ctx->flush_res) { - if (zink_screen(pctx->screen)->needs_mesa_flush_wsi) - batch->state->flush_res = ctx->flush_res; + batch->state->flush_res = ctx->flush_res; ctx->flush_res = NULL; } }