From e25b8d07b8b9b6c03ef0eab999b28bc11ae4264f Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Wed, 15 Nov 2023 14:05:59 +0100 Subject: [PATCH] panfrost: Move the JM-specific bits out of emit_fragment_job() Add a jm_emit_fragment_job() helper that does the fragment job emission so we can re-use the rest of emit_fragment_job() for CSF too. Signed-off-by: Boris Brezillon Reviewed-by: Erik Faye-Lund Part-of: --- src/gallium/drivers/panfrost/pan_cmdstream.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/gallium/drivers/panfrost/pan_cmdstream.c b/src/gallium/drivers/panfrost/pan_cmdstream.c index 69c59f2ba4e..a76d5d9473b 100644 --- a/src/gallium/drivers/panfrost/pan_cmdstream.c +++ b/src/gallium/drivers/panfrost/pan_cmdstream.c @@ -2638,6 +2638,17 @@ panfrost_initialize_surface(struct panfrost_batch *batch, } } +static void +jm_emit_fragment_job(struct panfrost_batch *batch, + const struct pan_fb_info *pfb) +{ + struct panfrost_ptr transfer = + pan_pool_alloc_desc(&batch->pool.base, FRAGMENT_JOB); + + GENX(pan_emit_fragment_job)(pfb, batch->framebuffer.gpu, transfer.cpu); + batch->jm.jobs.frag = transfer.gpu; +} + /* Generate a fragment job. This should be called once per frame. (Usually, * this corresponds to eglSwapBuffers or one of glFlush, glFinish) */ @@ -2674,11 +2685,7 @@ emit_fragment_job(struct panfrost_batch *batch, const struct pan_fb_info *pfb) assert(batch->maxx > batch->minx); assert(batch->maxy > batch->miny); - struct panfrost_ptr transfer = - pan_pool_alloc_desc(&batch->pool.base, FRAGMENT_JOB); - - GENX(pan_emit_fragment_job)(pfb, batch->framebuffer.gpu, transfer.cpu); - batch->jm.jobs.frag = transfer.gpu; + jm_emit_fragment_job(batch, pfb); } #define DEFINE_CASE(c) \