Mesa (main): venus: add vn_renderer_util.[ch]
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Dec 15 19:12:29 UTC 2021
Module: Mesa
Branch: main
Commit: 511fb6b8e99dfdd1734214706bceb2bda24b6219
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=511fb6b8e99dfdd1734214706bceb2bda24b6219
Author: Chia-I Wu <olvaffe at gmail.com>
Date: Thu Dec 9 14:12:01 2021 -0800
venus: add vn_renderer_util.[ch]
Move helpers built on top of vn_renderer.h to the new files.
Signed-off-by: Chia-I Wu <olvaffe at gmail.com>
Reviewed-by: Ryan Neph <ryanneph at google.com>
Reviewed-by: Yiwei Zhang <zzyiwei at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14179>
---
src/virtio/vulkan/meson.build | 1 +
src/virtio/vulkan/vn_instance.h | 1 +
src/virtio/vulkan/vn_renderer.h | 55 ------------------------------------
src/virtio/vulkan/vn_renderer_util.c | 45 +++++++++++++++++++++++++++++
src/virtio/vulkan/vn_renderer_util.h | 32 +++++++++++++++++++++
5 files changed, 79 insertions(+), 55 deletions(-)
diff --git a/src/virtio/vulkan/meson.build b/src/virtio/vulkan/meson.build
index fbce2339652..6c0d9cb32b5 100644
--- a/src/virtio/vulkan/meson.build
+++ b/src/virtio/vulkan/meson.build
@@ -47,6 +47,7 @@ libvn_files = files(
'vn_queue.c',
'vn_render_pass.c',
'vn_ring.c',
+ 'vn_renderer_util.c',
'vn_renderer_virtgpu.c',
'vn_renderer_vtest.c',
)
diff --git a/src/virtio/vulkan/vn_instance.h b/src/virtio/vulkan/vn_instance.h
index a6e971430f5..1c3767fcea9 100644
--- a/src/virtio/vulkan/vn_instance.h
+++ b/src/virtio/vulkan/vn_instance.h
@@ -17,6 +17,7 @@
#include "vn_cs.h"
#include "vn_renderer.h"
+#include "vn_renderer_util.h"
#include "vn_ring.h"
/* require and request at least Vulkan 1.1 at both instance and device levels
diff --git a/src/virtio/vulkan/vn_renderer.h b/src/virtio/vulkan/vn_renderer.h
index 8706cc420fd..9118548bfeb 100644
--- a/src/virtio/vulkan/vn_renderer.h
+++ b/src/virtio/vulkan/vn_renderer.h
@@ -264,22 +264,6 @@ vn_renderer_submit(struct vn_renderer *renderer,
return renderer->ops.submit(renderer, submit);
}
-static inline VkResult
-vn_renderer_submit_simple(struct vn_renderer *renderer,
- const void *cs_data,
- size_t cs_size)
-{
- const struct vn_renderer_submit submit = {
- .batches =
- &(const struct vn_renderer_submit_batch){
- .cs_data = cs_data,
- .cs_size = cs_size,
- },
- .batch_count = 1,
- };
- return vn_renderer_submit(renderer, &submit);
-}
-
static inline VkResult
vn_renderer_wait(struct vn_renderer *renderer,
const struct vn_renderer_wait *wait)
@@ -466,43 +450,4 @@ vn_renderer_sync_write(struct vn_renderer *renderer,
return renderer->sync_ops.write(renderer, sync, val);
}
-static inline VkResult
-vn_renderer_submit_simple_sync(struct vn_renderer *renderer,
- const void *cs_data,
- size_t cs_size)
-{
- struct vn_renderer_sync *sync;
- VkResult result =
- vn_renderer_sync_create(renderer, 0, VN_RENDERER_SYNC_BINARY, &sync);
- if (result != VK_SUCCESS)
- return result;
-
- const struct vn_renderer_submit submit = {
- .batches =
- &(const struct vn_renderer_submit_batch){
- .cs_data = cs_data,
- .cs_size = cs_size,
- .sync_queue_cpu = true,
- .syncs = &sync,
- .sync_values = &(const uint64_t){ 1 },
- .sync_count = 1,
- },
- .batch_count = 1,
- };
- const struct vn_renderer_wait wait = {
- .timeout = UINT64_MAX,
- .syncs = &sync,
- .sync_values = &(const uint64_t){ 1 },
- .sync_count = 1,
- };
-
- result = vn_renderer_submit(renderer, &submit);
- if (result == VK_SUCCESS)
- result = vn_renderer_wait(renderer, &wait);
-
- vn_renderer_sync_destroy(renderer, sync);
-
- return result;
-}
-
#endif /* VN_RENDERER_H */
diff --git a/src/virtio/vulkan/vn_renderer_util.c b/src/virtio/vulkan/vn_renderer_util.c
new file mode 100644
index 00000000000..2eae0e697d5
--- /dev/null
+++ b/src/virtio/vulkan/vn_renderer_util.c
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2021 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#include "vn_renderer_util.h"
+
+VkResult
+vn_renderer_submit_simple_sync(struct vn_renderer *renderer,
+ const void *cs_data,
+ size_t cs_size)
+{
+ struct vn_renderer_sync *sync;
+ VkResult result =
+ vn_renderer_sync_create(renderer, 0, VN_RENDERER_SYNC_BINARY, &sync);
+ if (result != VK_SUCCESS)
+ return result;
+
+ const struct vn_renderer_submit submit = {
+ .batches =
+ &(const struct vn_renderer_submit_batch){
+ .cs_data = cs_data,
+ .cs_size = cs_size,
+ .sync_queue_cpu = true,
+ .syncs = &sync,
+ .sync_values = &(const uint64_t){ 1 },
+ .sync_count = 1,
+ },
+ .batch_count = 1,
+ };
+ const struct vn_renderer_wait wait = {
+ .timeout = UINT64_MAX,
+ .syncs = &sync,
+ .sync_values = &(const uint64_t){ 1 },
+ .sync_count = 1,
+ };
+
+ result = vn_renderer_submit(renderer, &submit);
+ if (result == VK_SUCCESS)
+ result = vn_renderer_wait(renderer, &wait);
+
+ vn_renderer_sync_destroy(renderer, sync);
+
+ return result;
+}
diff --git a/src/virtio/vulkan/vn_renderer_util.h b/src/virtio/vulkan/vn_renderer_util.h
new file mode 100644
index 00000000000..cefe4bfc5e9
--- /dev/null
+++ b/src/virtio/vulkan/vn_renderer_util.h
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2021 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#ifndef VN_RENDERER_UTIL_H
+#define VN_RENDERER_UTIL_H
+
+#include "vn_renderer.h"
+
+static inline VkResult
+vn_renderer_submit_simple(struct vn_renderer *renderer,
+ const void *cs_data,
+ size_t cs_size)
+{
+ const struct vn_renderer_submit submit = {
+ .batches =
+ &(const struct vn_renderer_submit_batch){
+ .cs_data = cs_data,
+ .cs_size = cs_size,
+ },
+ .batch_count = 1,
+ };
+ return vn_renderer_submit(renderer, &submit);
+}
+
+VkResult
+vn_renderer_submit_simple_sync(struct vn_renderer *renderer,
+ const void *cs_data,
+ size_t cs_size);
+
+#endif /* VN_RENDERER_UTIL_H */
More information about the mesa-commit
mailing list