diff --git a/.pick_status.json b/.pick_status.json index 4ba5df3b538..a221754e8f7 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1615,7 +1615,7 @@ "description": "panfrost: Remove sync arguments from panfrost_batch_submit", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null }, diff --git a/src/gallium/drivers/panfrost/pan_job.c b/src/gallium/drivers/panfrost/pan_job.c index 25d634baf8b..268e74573af 100644 --- a/src/gallium/drivers/panfrost/pan_job.c +++ b/src/gallium/drivers/panfrost/pan_job.c @@ -150,8 +150,7 @@ panfrost_batch_cleanup(struct panfrost_context *ctx, struct panfrost_batch *batc static void panfrost_batch_submit(struct panfrost_context *ctx, - struct panfrost_batch *batch, - uint32_t in_sync, uint32_t out_sync); + struct panfrost_batch *batch); static struct panfrost_batch * panfrost_get_batch(struct panfrost_context *ctx, @@ -177,7 +176,7 @@ panfrost_get_batch(struct panfrost_context *ctx, /* The selected slot is used, we need to flush the batch */ if (batch->seqnum) - panfrost_batch_submit(ctx, batch, 0, 0); + panfrost_batch_submit(ctx, batch); panfrost_batch_init(ctx, key, batch); @@ -225,7 +224,7 @@ panfrost_get_fresh_batch_for_fbo(struct panfrost_context *ctx, const char *reaso if (batch->scoreboard.first_job) { perf_debug_ctx(ctx, "Flushing the current FBO due to: %s", reason); - panfrost_batch_submit(ctx, batch, 0, 0); + panfrost_batch_submit(ctx, batch); batch = panfrost_get_batch(ctx, &ctx->pipe_framebuffer); } @@ -265,7 +264,7 @@ panfrost_batch_update_access(struct panfrost_batch *batch, /* Submit if it's a user */ if (_mesa_set_search(batch->resources, rsrc)) - panfrost_batch_submit(ctx, batch, 0, 0); + panfrost_batch_submit(ctx, batch); } } @@ -724,8 +723,7 @@ panfrost_emit_tile_map(struct panfrost_batch *batch, struct pan_fb_info *fb) static void panfrost_batch_submit(struct panfrost_context *ctx, - struct panfrost_batch *batch, - uint32_t in_sync, uint32_t out_sync) + struct panfrost_batch *batch) { struct pipe_screen *pscreen = ctx->base.screen; struct panfrost_screen *screen = pan_screen(pscreen); @@ -752,7 +750,7 @@ panfrost_batch_submit(struct panfrost_context *ctx, if (batch->scoreboard.first_tiler || batch->clear) screen->vtbl.emit_fbd(batch, &fb); - ret = panfrost_batch_submit_jobs(batch, &fb, in_sync, out_sync); + ret = panfrost_batch_submit_jobs(batch, &fb, 0, ctx->syncobj); if (ret) fprintf(stderr, "panfrost_batch_submit failed: %d\n", ret); @@ -779,21 +777,20 @@ out: panfrost_batch_cleanup(ctx, batch); } -/* Submit all batches, applying the out_sync to the currently bound batch */ +/* Submit all batches */ void panfrost_flush_all_batches(struct panfrost_context *ctx, const char *reason) { struct panfrost_batch *batch = panfrost_get_batch_for_fbo(ctx); - panfrost_batch_submit(ctx, batch, ctx->syncobj, ctx->syncobj); + panfrost_batch_submit(ctx, batch); for (unsigned i = 0; i < PAN_MAX_BATCHES; i++) { if (ctx->batches.slots[i].seqnum) { if (reason) perf_debug_ctx(ctx, "Flushing everything due to: %s", reason); - panfrost_batch_submit(ctx, &ctx->batches.slots[i], - ctx->syncobj, ctx->syncobj); + panfrost_batch_submit(ctx, &ctx->batches.slots[i]); } } } @@ -807,7 +804,7 @@ panfrost_flush_writer(struct panfrost_context *ctx, if (entry) { perf_debug_ctx(ctx, "Flushing writer due to: %s", reason); - panfrost_batch_submit(ctx, entry->data, ctx->syncobj, ctx->syncobj); + panfrost_batch_submit(ctx, entry->data); } } @@ -824,7 +821,7 @@ panfrost_flush_batches_accessing_rsrc(struct panfrost_context *ctx, continue; perf_debug_ctx(ctx, "Flushing user due to: %s", reason); - panfrost_batch_submit(ctx, batch, ctx->syncobj, ctx->syncobj); + panfrost_batch_submit(ctx, batch); } }