From b2fabf1ffe9252f5bd847d785f98a51f39467deb Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Wed, 3 Sep 2025 14:04:53 +0200 Subject: [PATCH] panvk/jm: Automatically open a batch in dispatch_precomp() cmd_clear_afbc_metadata() might be called before any other job, and it's assuming dispatch_precomp() doesn't fail in that case. We could explicitly open the batch in cmd_clear_afbc_metadata(), but checking for cur_batch==NULL and opening a new batch seems to be okay too, and it allows us to not special case for v7 in cmd_clear_afbc_metadata(). Fixes: c95f8993052f ("panvk: add a meta command for transitioning image layout") Signed-off-by: Boris Brezillon Reviewed-by: Eric R. Smith Reviewed-by: Christoph Pillmayer Part-of: --- src/panfrost/vulkan/jm/panvk_vX_cmd_precomp.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/panfrost/vulkan/jm/panvk_vX_cmd_precomp.c b/src/panfrost/vulkan/jm/panvk_vX_cmd_precomp.c index 81f5fbafd95..16d346b967e 100644 --- a/src/panfrost/vulkan/jm/panvk_vX_cmd_precomp.c +++ b/src/panfrost/vulkan/jm/panvk_vX_cmd_precomp.c @@ -22,6 +22,11 @@ panvk_per_arch(dispatch_precomp)(struct panvk_precomp_ctx *ctx, size_t data_size) { struct panvk_cmd_buffer *cmdbuf = ctx->cmdbuf; + + /* Make sure we have a batch opened to queue our COMPUTE job to. */ + if (!cmdbuf->cur_batch) + panvk_per_arch(cmd_open_batch)(cmdbuf); + struct panvk_batch *batch = cmdbuf->cur_batch; struct panvk_device *dev = to_panvk_device(cmdbuf->vk.base.device); const struct panvk_shader_variant *shader =