venus: add vn_relax_init/_fini()
authorRyan Neph <ryanneph@google.com>
Wed, 22 Mar 2023 19:12:21 +0000 (12:12 -0700)
committerMarge Bot <emma+marge@anholt.net>
Fri, 24 Mar 2023 23:27:52 +0000 (23:27 +0000)
commitbb4c10f85e5f3cf08bd70b9368d6be6e31b37c72
tree3ef79d581863cacd9dd4538b65b0d19a6db6f68f
parent0f147240398a5e9d424e507d9cd271802a340114
venus: add vn_relax_init/_fini()

Use a new calling contract so we can do pre/post-work around every ring-waiting
iteration. All looping uses of `vn_relax()` must now call `vn_relax_init()` and
`vn_relax_fini()` before/after their loop bodies.

Signed-off-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22036>
src/virtio/vulkan/vn_common.c
src/virtio/vulkan/vn_common.h
src/virtio/vulkan/vn_instance.c
src/virtio/vulkan/vn_queue.c
src/virtio/vulkan/vn_ring.c
src/virtio/vulkan/vn_ring.h