panfrost: Emit the fragment job from panfrost_batch_submit()

Now that emit_fragment_job() stores the fragment job GPU pointer
in panfrost_batch, we can move this step in panfrost_batch_submit(),
which will help with v10/CSF support.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
This commit is contained in:
Boris Brezillon
2023-10-04 09:51:00 +02:00
committed by Marge Bot
parent a4f037bd6d
commit 037e7a530c
+3 -3
View File
@@ -717,7 +717,6 @@ panfrost_batch_submit_jobs(struct panfrost_batch *batch,
uint32_t out_sync)
{
struct pipe_screen *pscreen = batch->ctx->base.screen;
struct panfrost_screen *screen = pan_screen(pscreen);
struct panfrost_device *dev = pan_device(pscreen);
bool has_draws = batch->scoreboard.first_job;
bool has_tiler = batch->scoreboard.first_tiler;
@@ -740,7 +739,6 @@ panfrost_batch_submit_jobs(struct panfrost_batch *batch,
}
if (has_frag) {
screen->vtbl.emit_fragment_job(batch, fb);
ret = panfrost_batch_submit_ioctl(batch, batch->frag_job,
PANFROST_JD_REQ_FS, 0, out_sync);
if (ret)
@@ -818,8 +816,10 @@ panfrost_batch_submit(struct panfrost_context *ctx,
screen->vtbl.emit_tls(batch);
panfrost_emit_tile_map(batch, &fb);
if (has_frag)
if (has_frag) {
screen->vtbl.emit_fbd(batch, &fb);
screen->vtbl.emit_fragment_job(batch, &fb);
}
ret = panfrost_batch_submit_jobs(batch, &fb, 0, ctx->syncobj);