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)
committerEric Engestrom <eric@engestrom.ch>
Wed, 8 Feb 2023 20:34:46 +0000 (20:34 +0000)
commitabfbec7ae5c6443dbfd2427deb18359acd87a272
treec26de4f199201ea178aaee14fdf7fb31143b7cae
parent1e65762031071b0cd0fd740d5a0c808a237d3896
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>
(cherry picked from commit fec15a225f603f7a980241ce6b7fad35dfc6aff4)
.pick_status.json
src/broadcom/vulkan/v3dv_cmd_buffer.c
src/broadcom/vulkan/v3dv_private.h
src/broadcom/vulkan/v3dvx_cmd_buffer.c