diff --git a/src/gallium/drivers/panfrost/pan_jm.c b/src/gallium/drivers/panfrost/pan_jm.c index 1b256f4cbe7..0503dc15082 100644 --- a/src/gallium/drivers/panfrost/pan_jm.c +++ b/src/gallium/drivers/panfrost/pan_jm.c @@ -362,9 +362,8 @@ GENX(jm_launch_grid)(struct panfrost_batch *batch, } #endif - pan_jc_add_job(&batch->pool.base, &batch->jm.jobs.vtc_jc, - MALI_JOB_TYPE_COMPUTE, true, false, indirect_dep, 0, &t, - false); + pan_jc_add_job(&batch->jm.jobs.vtc_jc, MALI_JOB_TYPE_COMPUTE, true, false, + indirect_dep, 0, &t, false); } #if PAN_ARCH >= 6 @@ -861,8 +860,8 @@ GENX(jm_launch_xfb)(struct panfrost_batch *batch, #if PAN_ARCH <= 5 job_type = MALI_JOB_TYPE_VERTEX; #endif - pan_jc_add_job(&batch->pool.base, &batch->jm.jobs.vtc_jc, job_type, true, - false, 0, 0, &t, false); + pan_jc_add_job(&batch->jm.jobs.vtc_jc, job_type, true, false, 0, 0, &t, + false); } #if PAN_ARCH < 9 @@ -876,13 +875,12 @@ jm_push_vertex_tiler_jobs(struct panfrost_batch *batch, const struct panfrost_ptr *vertex_job, const struct panfrost_ptr *tiler_job) { - unsigned vertex = pan_jc_add_job(&batch->pool.base, &batch->jm.jobs.vtc_jc, - MALI_JOB_TYPE_VERTEX, false, false, 0, 0, - vertex_job, false); + unsigned vertex = + pan_jc_add_job(&batch->jm.jobs.vtc_jc, MALI_JOB_TYPE_VERTEX, false, false, + 0, 0, vertex_job, false); - pan_jc_add_job(&batch->pool.base, &batch->jm.jobs.vtc_jc, - MALI_JOB_TYPE_TILER, false, false, vertex, 0, tiler_job, - false); + pan_jc_add_job(&batch->jm.jobs.vtc_jc, MALI_JOB_TYPE_TILER, false, false, + vertex, 0, tiler_job, false); } #endif @@ -938,9 +936,8 @@ GENX(jm_launch_draw)(struct panfrost_batch *batch, jm_emit_malloc_vertex_job(batch, info, draw, secondary_shader, tiler.cpu); - pan_jc_add_job(&batch->pool.base, &batch->jm.jobs.vtc_jc, - MALI_JOB_TYPE_MALLOC_VERTEX, false, false, 0, 0, &tiler, - false); + pan_jc_add_job(&batch->jm.jobs.vtc_jc, MALI_JOB_TYPE_MALLOC_VERTEX, false, + false, 0, 0, &tiler, false); #else /* Fire off the draw itself */ jm_emit_tiler_job(batch, info, draw, &invocation, secondary_shader, @@ -950,9 +947,8 @@ GENX(jm_launch_draw)(struct panfrost_batch *batch, jm_emit_vertex_draw( batch, pan_section_ptr(tiler.cpu, INDEXED_VERTEX_JOB, VERTEX_DRAW)); - pan_jc_add_job(&batch->pool.base, &batch->jm.jobs.vtc_jc, - MALI_JOB_TYPE_INDEXED_VERTEX, false, false, 0, 0, &tiler, - false); + pan_jc_add_job(&batch->jm.jobs.vtc_jc, MALI_JOB_TYPE_INDEXED_VERTEX, + false, false, 0, 0, &tiler, false); #endif } else { jm_emit_vertex_job(batch, info, &invocation, vertex.cpu); diff --git a/src/panfrost/lib/pan_blitter.c b/src/panfrost/lib/pan_blitter.c index 8fcd11dc557..78d9920548c 100644 --- a/src/panfrost/lib/pan_blitter.c +++ b/src/panfrost/lib/pan_blitter.c @@ -1286,8 +1286,7 @@ pan_blit_emit_tiler_job(struct pan_pool *pool, struct pan_jc *jc, } #endif - pan_jc_add_job(pool, jc, MALI_JOB_TYPE_TILER, false, false, 0, 0, job, - false); + pan_jc_add_job(jc, MALI_JOB_TYPE_TILER, false, false, 0, 0, job, false); return pan_section_ptr(job->cpu, TILER_JOB, DRAW); } #endif @@ -1393,8 +1392,7 @@ pan_preload_emit_tiler_job(struct pan_blitter_cache *cache, struct pan_pool *des void *invoc = pan_section_ptr(job.cpu, TILER_JOB, INVOCATION); panfrost_pack_work_groups_compute(invoc, 1, 4, 1, 1, 1, 1, true, false); - pan_jc_add_job(desc_pool, jc, MALI_JOB_TYPE_TILER, false, false, 0, 0, &job, - true); + pan_jc_add_job(jc, MALI_JOB_TYPE_TILER, false, false, 0, 0, &job, true); return job; } #endif diff --git a/src/panfrost/lib/pan_indirect_dispatch.c b/src/panfrost/lib/pan_indirect_dispatch.c index f1ccb1ef692..fa6bbef1d95 100644 --- a/src/panfrost/lib/pan_indirect_dispatch.c +++ b/src/panfrost/lib/pan_indirect_dispatch.c @@ -175,6 +175,6 @@ GENX(pan_indirect_dispatch_emit)(struct pan_indirect_dispatch_meta *meta, pan_pool_upload_aligned(pool, inputs, sizeof(*inputs), 16); } - return pan_jc_add_job(pool, jc, MALI_JOB_TYPE_COMPUTE, false, true, 0, 0, - &job, false); + return pan_jc_add_job(jc, MALI_JOB_TYPE_COMPUTE, false, true, 0, 0, &job, + false); } diff --git a/src/panfrost/lib/pan_jc.h b/src/panfrost/lib/pan_jc.h index ccb54492a94..3c9a4401712 100644 --- a/src/panfrost/lib/pan_jc.h +++ b/src/panfrost/lib/pan_jc.h @@ -155,9 +155,8 @@ job_uses_tiling(enum mali_job_type type) * not wallpapering and set this, dragons will eat you. */ static inline unsigned -pan_jc_add_job(struct pan_pool *pool, struct pan_jc *jc, - enum mali_job_type type, bool barrier, bool suppress_prefetch, - unsigned local_dep, unsigned global_dep, +pan_jc_add_job(struct pan_jc *jc, enum mali_job_type type, bool barrier, + bool suppress_prefetch, unsigned local_dep, unsigned global_dep, const struct panfrost_ptr *job, bool inject) { if (job_uses_tiling(type)) { diff --git a/src/panfrost/vulkan/panvk_vX_cmd_buffer.c b/src/panfrost/vulkan/panvk_vX_cmd_buffer.c index b8fed3275a0..c3f3fc09af8 100644 --- a/src/panfrost/vulkan/panvk_vX_cmd_buffer.c +++ b/src/panfrost/vulkan/panvk_vX_cmd_buffer.c @@ -166,8 +166,8 @@ panvk_per_arch(cmd_close_batch)(struct panvk_cmd_buffer *cmdbuf) struct panfrost_ptr ptr = pan_pool_alloc_desc(&cmdbuf->desc_pool.base, JOB_HEADER); util_dynarray_append(&batch->jobs, void *, ptr.cpu); - pan_jc_add_job(&cmdbuf->desc_pool.base, &batch->jc, MALI_JOB_TYPE_NULL, - false, false, 0, 0, &ptr, false); + pan_jc_add_job(&batch->jc, MALI_JOB_TYPE_NULL, false, false, 0, 0, + &ptr, false); list_addtail(&batch->node, &cmdbuf->batches); } cmdbuf->cur_batch = NULL; @@ -1545,13 +1545,12 @@ panvk_cmd_draw(struct panvk_cmd_buffer *cmdbuf, struct panvk_draw_info *draw) MAX3(pipeline->vs.info.tls_size, pipeline->fs.info.tls_size, batch->tlsinfo.tls.size); - unsigned vjob_id = - pan_jc_add_job(&cmdbuf->desc_pool.base, &batch->jc, MALI_JOB_TYPE_VERTEX, - false, false, 0, 0, &draw->jobs.vertex, false); + unsigned vjob_id = pan_jc_add_job(&batch->jc, MALI_JOB_TYPE_VERTEX, false, + false, 0, 0, &draw->jobs.vertex, false); if (!rs->rasterizer_discard_enable && draw->position) { - pan_jc_add_job(&cmdbuf->desc_pool.base, &batch->jc, MALI_JOB_TYPE_TILER, - false, false, vjob_id, 0, &draw->jobs.tiler, false); + pan_jc_add_job(&batch->jc, MALI_JOB_TYPE_TILER, false, false, vjob_id, 0, + &draw->jobs.tiler, false); } /* Clear the dirty flags all at once */ @@ -1998,8 +1997,8 @@ panvk_per_arch(CmdDispatch)(VkCommandBuffer commandBuffer, uint32_t x, cfg.samplers = dispatch.samplers; } - pan_jc_add_job(&cmdbuf->desc_pool.base, &batch->jc, MALI_JOB_TYPE_COMPUTE, - false, false, 0, 0, &job, false); + pan_jc_add_job(&batch->jc, MALI_JOB_TYPE_COMPUTE, false, false, 0, 0, &job, + false); batch->tlsinfo.tls.size = pipeline->cs.info.tls_size; batch->tlsinfo.wls.size = pipeline->cs.info.wls_size; diff --git a/src/panfrost/vulkan/panvk_vX_meta_clear.c b/src/panfrost/vulkan/panvk_vX_meta_clear.c index 50a338f95ff..ef6d89b59a6 100644 --- a/src/panfrost/vulkan/panvk_vX_meta_clear.c +++ b/src/panfrost/vulkan/panvk_vX_meta_clear.c @@ -221,8 +221,7 @@ panvk_meta_clear_attachment_emit_tiler_job(struct pan_pool *desc_pool, cfg.address = tiler; } - pan_jc_add_job(desc_pool, jc, MALI_JOB_TYPE_TILER, false, false, 0, 0, &job, - false); + pan_jc_add_job(jc, MALI_JOB_TYPE_TILER, false, false, 0, 0, &job, false); return job; } diff --git a/src/panfrost/vulkan/panvk_vX_meta_copy.c b/src/panfrost/vulkan/panvk_vX_meta_copy.c index 3d75fa3f371..5339ee143ef 100644 --- a/src/panfrost/vulkan/panvk_vX_meta_copy.c +++ b/src/panfrost/vulkan/panvk_vX_meta_copy.c @@ -148,8 +148,7 @@ panvk_meta_copy_emit_tiler_job(struct pan_pool *desc_pool, struct pan_jc *jc, cfg.address = tiler; } - pan_jc_add_job(desc_pool, jc, MALI_JOB_TYPE_TILER, false, false, 0, 0, &job, - false); + pan_jc_add_job(jc, MALI_JOB_TYPE_TILER, false, false, 0, 0, &job, false); return job; } @@ -176,8 +175,7 @@ panvk_meta_copy_emit_compute_job(struct pan_pool *desc_pool, struct pan_jc *jc, push_constants, pan_section_ptr(job.cpu, COMPUTE_JOB, DRAW)); - pan_jc_add_job(desc_pool, jc, MALI_JOB_TYPE_COMPUTE, false, false, 0, 0, - &job, false); + pan_jc_add_job(jc, MALI_JOB_TYPE_COMPUTE, false, false, 0, 0, &job, false); return job; }