From 8c2b4de386668b1870a9283ce5a32e3787c7a993 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Wed, 29 May 2024 11:38:11 +0200 Subject: [PATCH] panvk: Make sure replay of command buffers containing Dispatch calls works In order to replay a command buffer, we need to reset the job status fields of all previously executed jobs, which is done by walking the the per-batch jobs array. Signed-off-by: Boris Brezillon Cc: stable Acked-by: Erik Faye-Lund Part-of: --- src/panfrost/vulkan/panvk_vX_cmd_buffer.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/panfrost/vulkan/panvk_vX_cmd_buffer.c b/src/panfrost/vulkan/panvk_vX_cmd_buffer.c index b113e1033d6..c09da06078d 100644 --- a/src/panfrost/vulkan/panvk_vX_cmd_buffer.c +++ b/src/panfrost/vulkan/panvk_vX_cmd_buffer.c @@ -1947,6 +1947,7 @@ panvk_per_arch(CmdDispatch)(VkCommandBuffer commandBuffer, uint32_t x, cmdbuf->state.compute.pipeline; struct panfrost_ptr job = pan_pool_alloc_desc(&cmdbuf->desc_pool.base, COMPUTE_JOB); + util_dynarray_append(&batch->jobs, void *, job.cpu); struct panvk_compute_sysvals *sysvals = &cmdbuf->state.compute.sysvals; sysvals->num_work_groups.x = x;