flush_batch(struct zink_context *ctx, bool sync)
{
struct zink_batch *batch = &ctx->batch;
+ assert(!ctx->unordered_blitting);
if (ctx->clears_enabled)
/* start rp to do all the clears */
zink_batch_rp(ctx);
ctx->gfx_pipeline_state.rast_samples = rast_samples;
/* this is an ideal time to oom flush since it won't split a renderpass */
- if (ctx->oom_flush)
+ if (ctx->oom_flush && !ctx->unordered_blitting)
flush_batch(ctx, false);
else
update_layered_rendering_state(ctx);
batch->last_was_compute = false;
ctx->batch.work_count = work_count;
/* flush if there's >100k draws */
- if (unlikely(work_count >= 30000) || ctx->oom_flush)
+ if (!ctx->unordered_blitting && (unlikely(work_count >= 30000) || ctx->oom_flush))
pctx->flush(pctx, NULL, 0);
}
batch->has_work = true;
batch->last_was_compute = true;
/* flush if there's >100k computes */
- if (unlikely(ctx->batch.work_count >= 30000) || ctx->oom_flush)
+ if (!ctx->unordered_blitting && (unlikely(ctx->batch.work_count >= 30000) || ctx->oom_flush))
pctx->flush(pctx, NULL, 0);
}