Mesa (main): venus: add feedback check/set/reset helpers
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Jun 16 19:06:12 UTC 2022
Module: Mesa
Branch: main
Commit: f2563788a1c348ecbc4417c2d0359b3472c1959c
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f2563788a1c348ecbc4417c2d0359b3472c1959c
Author: Yiwei Zhang <zzyiwei at chromium.org>
Date: Mon May 23 20:46:34 2022 +0000
venus: add feedback check/set/reset helpers
Implemented:
- vn_feedback_get_status
- vn_feedback_reset_status
- vn_feedback_set_status
- vn_feedback_get_counter
- vn_feedback_set_counter
Signed-off-by: Yiwei Zhang <zzyiwei at chromium.org>
Reviewed-by: Ryan Neph <ryanneph at google.com>
Reviewed-by: Chad Versace <chadversary at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16731>
---
src/virtio/vulkan/vn_feedback.h | 37 +++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
diff --git a/src/virtio/vulkan/vn_feedback.h b/src/virtio/vulkan/vn_feedback.h
index 865f4e784f8..ea5b47e2f8a 100644
--- a/src/virtio/vulkan/vn_feedback.h
+++ b/src/virtio/vulkan/vn_feedback.h
@@ -64,4 +64,41 @@ void
vn_feedback_pool_free(struct vn_feedback_pool *pool,
struct vn_feedback_slot *slot);
+static inline VkResult
+vn_feedback_get_status(struct vn_feedback_slot *slot)
+{
+ return *slot->status;
+}
+
+static inline void
+vn_feedback_reset_status(struct vn_feedback_slot *slot)
+{
+ assert(slot->type == VN_FEEDBACK_TYPE_FENCE ||
+ slot->type == VN_FEEDBACK_TYPE_EVENT);
+ *slot->status =
+ slot->type == VN_FEEDBACK_TYPE_FENCE ? VK_NOT_READY : VK_EVENT_RESET;
+}
+
+static inline void
+vn_feedback_set_status(struct vn_feedback_slot *slot, VkResult status)
+{
+ assert(slot->type == VN_FEEDBACK_TYPE_FENCE ||
+ slot->type == VN_FEEDBACK_TYPE_EVENT);
+ *slot->status = status;
+}
+
+static inline uint64_t
+vn_feedback_get_counter(struct vn_feedback_slot *slot)
+{
+ assert(slot->type == VN_FEEDBACK_TYPE_TIMELINE_SEMAPHORE);
+ return *slot->counter;
+}
+
+static inline void
+vn_feedback_set_counter(struct vn_feedback_slot *slot, uint64_t counter)
+{
+ assert(slot->type == VN_FEEDBACK_TYPE_TIMELINE_SEMAPHORE);
+ *slot->counter = counter;
+}
+
#endif /* VN_FEEDBACK_H */
More information about the mesa-commit
mailing list