diff --git a/.pick_status.json b/.pick_status.json index ab540ea7699..71f782275fb 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -130,7 +130,7 @@ "description": "zink: block more flushes during unordered blits", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "89aa36359328ea48fa29be8dd439dd87043eaa03" }, diff --git a/src/gallium/drivers/zink/zink_context.c b/src/gallium/drivers/zink/zink_context.c index 04085fab7e6..e26cb658ec5 100644 --- a/src/gallium/drivers/zink/zink_context.c +++ b/src/gallium/drivers/zink/zink_context.c @@ -4411,7 +4411,7 @@ zink_copy_image_buffer(struct zink_context *ctx, struct zink_resource *dst, stru if (needs_present_readback) zink_kopper_present_readback(ctx, img); - if (ctx->oom_flush && !ctx->batch.in_rp) + if (ctx->oom_flush && !ctx->batch.in_rp && !ctx->unordered_blitting) flush_batch(ctx, false); } @@ -4541,7 +4541,7 @@ zink_resource_copy_region(struct pipe_context *pctx, zink_copy_buffer(ctx, dst, src, dstx, src_box->x, src_box->width); } else zink_copy_image_buffer(ctx, dst, src, dst_level, dstx, dsty, dstz, src_level, src_box, 0); - if (ctx->oom_flush && !ctx->batch.in_rp) + if (ctx->oom_flush && !ctx->batch.in_rp && !ctx->unordered_blitting) flush_batch(ctx, false); }