From 5572e274e25765a532c42a0a1074b5614fca6ae9 Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Mon, 3 Feb 2025 11:22:49 +0100 Subject: [PATCH] v3dv: serialize jobs after any barrier when debug sync is set This will ensure we always generate a new job after a barrier and that the new job is setup to be serialized against all previous jobs. Reviewed-by: Juan A. Suarez Part-of: --- src/broadcom/vulkan/v3dv_cmd_buffer.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/broadcom/vulkan/v3dv_cmd_buffer.c b/src/broadcom/vulkan/v3dv_cmd_buffer.c index 33bed9065ad..94aa50210c9 100644 --- a/src/broadcom/vulkan/v3dv_cmd_buffer.c +++ b/src/broadcom/vulkan/v3dv_cmd_buffer.c @@ -3407,6 +3407,15 @@ v3dv_cmd_buffer_emit_pipeline_barrier(struct v3dv_cmd_buffer *cmd_buffer, true, true, &state); } + if (unlikely(V3D_DBG(SYNC))) { + state.src_mask_compute = V3DV_BARRIER_ALL; + state.src_mask_graphics = V3DV_BARRIER_ALL; + state.src_mask_transfer = V3DV_BARRIER_ALL; + state.dst_mask = V3DV_BARRIER_ALL; + state.bcl_image_access = ~0; + state.bcl_buffer_access = ~0; + } + /* Bail if we don't relevant barriers */ if (!state.dst_mask) return;