mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-20 21:50:26 +01:00
Previously, we update the sfb dst slot upon vn_SignalSemaphore so that vn_GetSemaphoreCounterValue can poll just the feedback slot itself. However, that can race with pending sfb cmds that are going to update the slot value, ending up with stuck sync progression. This change fixes it by disallowing vn_SignalSemaphore to touch the sfb dst slot. To ensure counter query being monotonic, vn_GetSemaphoreCounterValue now takes the greater of signaled counter and the sfb counter read. Test with dEQP-VK.synchronization* group: - w/o this: stuck shows up within 2 min with 8 parallel deqp runs - with this: no stuck for multiple full runs of the same Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14304 Fixes: |
||
|---|---|---|
| .. | ||
| ci | ||
| protocols | ||
| vdrm | ||
| venus-protocol | ||
| virtgpu_kumquat | ||
| virtgpu_kumquat_ffi | ||
| virtio-gpu | ||
| vtest | ||
| vulkan | ||