From bee7ef4670b25de9cca4d8aa570eac01e9b9b2b8 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Sat, 9 Nov 2024 20:18:43 -0800 Subject: [PATCH] panvk: skip tiler subqueue self-wait within a render pass IDVS jobs within a render pass use the same scoreboard slot. There is no need to wait. Signed-off-by: Chia-I Wu Reviewed-by: Boris Brezillon Part-of: --- src/panfrost/vulkan/csf/panvk_vX_cmd_buffer.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/panfrost/vulkan/csf/panvk_vX_cmd_buffer.c b/src/panfrost/vulkan/csf/panvk_vX_cmd_buffer.c index 937998e7afd..2fc2a286962 100644 --- a/src/panfrost/vulkan/csf/panvk_vX_cmd_buffer.c +++ b/src/panfrost/vulkan/csf/panvk_vX_cmd_buffer.c @@ -385,6 +385,12 @@ collect_cs_deps(struct panvk_cmd_buffer *cmdbuf, if (should_split_render_pass(wait_masks)) { deps->needs_draw_flush = true; } else { + /* skip the tiler subqueue self-wait because we use the same + * scoreboard slot for the idvs jobs + */ + wait_masks[PANVK_SUBQUEUE_VERTEX_TILER] &= + ~BITFIELD_BIT(PANVK_SUBQUEUE_VERTEX_TILER); + /* skip the fragment subqueue self-wait because we emit the fragment * job at the end of the render pass and there is nothing to wait yet */