venus: make vn_instance_wait_roundtrip asynchronous
authorYiwei Zhang <zzyiwei@chromium.org>
Fri, 3 Mar 2023 07:33:00 +0000 (23:33 -0800)
committerMarge Bot <emma+marge@anholt.net>
Tue, 14 Mar 2023 18:07:38 +0000 (18:07 +0000)
commit1cb42a629fa6439e0c8eee6fd23d3ab3f172cc94
treebf08618c517ac332fd2e20495f41a5cf7883c2a3
parent9b7a78cac6704b64823944eab42b0c8e129c70f6
venus: make vn_instance_wait_roundtrip asynchronous

vn_instance_roundtrip does 2 things:
1. vn_instance_submit_roundtrip
   - before: encode a cmd to write vq seqno to ring extra field
   - after: encode a cmd to update vq seqno against a ring
   - submit the encoded cmd via vq
2. vn_instance_wait_roundtrip
   - before: wait until ring extra field has the vq seqno
   - after: let renderer ring thread wait for the vq seqno

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21716>
src/virtio/vulkan/vn_instance.c