v3dv: ensure we apply binning syncs to secondary command buffers
authorIago Toral Quiroga <itoral@igalia.com>
Tue, 7 Feb 2023 12:06:48 +0000 (13:06 +0100)
committerIago Toral Quiroga <itoral@igalia.com>
Tue, 7 Feb 2023 13:07:19 +0000 (14:07 +0100)
commitfec15a225f603f7a980241ce6b7fad35dfc6aff4
tree97d5572fc4478b56f0699644d3e47d5e268ea79b
parentc2601f06908434aaddd6b1db5e995bbda22d2a72
v3dv: ensure we apply binning syncs to secondary command buffers

Currently, we postpone binning syncs until we record draw calls
and can validate if any of them require accessing protected
resources in the binning stage, however, if the draw calls are
recorded in a secondary command buffer and the barriers have
been recorded in the primary command buffer, we won't apply the
binning sync in the secondary when we record the draw calls
and so we must apply it when we execute the secondary in the
primary.

Fixes flakyness in:
dEQP-VK.api.command_buffers.record_many_draws_secondary_2

cc: mesa-stable

Reviewed-by: Alejandro PiƱeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21162>
src/broadcom/ci/broadcom-rpi4-flakes.txt
src/broadcom/vulkan/v3dv_cmd_buffer.c
src/broadcom/vulkan/v3dv_private.h
src/broadcom/vulkan/v3dvx_cmd_buffer.c