From a324a028a9109d762c58833a0c38b6030a6ad552 Mon Sep 17 00:00:00 2001 From: Donald Robson Date: Fri, 22 Sep 2023 13:53:14 +0100 Subject: [PATCH] pvr: Fixed creation of waits in queue submission Waits were not previously being created for job dependencies in pvr_driver_queue_submit() because the pvr_stage_mask() was being called in place of pvr_stage_mask_dst(), and the former does not handle the top-of-pipe bit. Signed-off-by: Donald Robson Acked-by: Alyssa Rosenzweig Part-of: --- src/imagination/vulkan/pvr_queue.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/imagination/vulkan/pvr_queue.c b/src/imagination/vulkan/pvr_queue.c index 3a358355d80..5a6960c7a78 100644 --- a/src/imagination/vulkan/pvr_queue.c +++ b/src/imagination/vulkan/pvr_queue.c @@ -891,8 +891,10 @@ static VkResult pvr_process_queue_waits(struct pvr_queue *queue, uint32_t stage_wait_count = 0; for (uint32_t wait_idx = 0; wait_idx < wait_count; wait_idx++) { - if (!(pvr_stage_mask(waits[wait_idx].stage_mask) & BITFIELD_BIT(i))) + if (!(pvr_stage_mask_dst(waits[wait_idx].stage_mask) & + BITFIELD_BIT(i))) { continue; + } stage_waits[stage_wait_count++] = (struct vk_sync_wait){ .sync = waits[wait_idx].sync,