diff --git a/.pick_status.json b/.pick_status.json index 9a8f56ce3b3..40f3634c46d 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -3294,7 +3294,7 @@ "description": "zink: always force flushes when originating from api frontend", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/gallium/drivers/zink/zink_context.c b/src/gallium/drivers/zink/zink_context.c index f4716527883..28afec232eb 100644 --- a/src/gallium/drivers/zink/zink_context.c +++ b/src/gallium/drivers/zink/zink_context.c @@ -3849,7 +3849,8 @@ zink_flush(struct pipe_context *pctx, } } - if (!batch->has_work) { + /* TODO: if swapchains gain timeline semaphore semantics, `flags` can be eliminated and no-op fence can return timeline id */ + if (!batch->has_work && flags) { if (pfence) { /* reuse last fence */ fence = ctx->last_fence;