mesa/src/broadcom
Iago Toral Quiroga daa865fb2c v3dv: fix semaphore wait from CPU job
If a CPU job comes first in a command buffer with a semaphore wait operation
we need to wait on the CPU for the semaphore to be signaled before we process
the job.

We have been doing this with a WaitForIdle operation, but that only works
if the semaphore has been submitted for signaling from the same instance
of the driver. If we have an imported payload from another instance in our
semaphore however, waitForIdle may return too early since the submission
to signal the semaphore may have been submitted by a different instance
of the driver as well, and our wait for idle checks only know about this
instance submissions.

To fix this, we always submit a noop job from our instance that waits on
the semaphores on the GPU and follow up with WaitForIdle to wait for that
to complete.

Fixes test failures and/or assert crashes in:
dEQP-VK.synchronization.cross_instance.*
(when enabling support for semaphore imports)

Reviewed-by: Melissa Wen <mwen@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15342>
2022-03-18 13:17:58 +00:00
..
ci broadcom/ci: Update flake list 2022-03-17 13:56:41 +00:00
cle broadcom: add line rasterization mode to packet definition 2022-03-18 09:38:38 +00:00
clif v3d/clif: add support for dumping GS shader state 2021-10-13 21:23:10 +00:00
common v3dv: add subpixel precision definition 2022-03-18 09:38:38 +00:00
compiler v3dv/pipeline: use new helper vk_shader_module_to_nir 2022-03-18 11:05:11 +00:00
drm-shim v3d/drm-shim: remove drm-shim driver 2022-02-03 09:53:29 +00:00
qpu broadcom: drop unused functions 2022-01-31 16:10:31 +00:00
simulator v3dv/v3d: Fix copyright holder to Raspberry Pi Ltd 2022-02-18 11:50:07 +01:00
vulkan v3dv: fix semaphore wait from CPU job 2022-03-18 13:17:58 +00:00
.editorconfig broadcom: add editorconfig 2017-07-25 14:44:52 -07:00
meson.build broadcom: remove v3dv3 from neon library 2021-07-29 08:26:11 +00:00