About Social Code
aboutsummaryrefslogtreecommitdiff
path: root/src/frygon/vulkan/fgvk_queue.c
diff options
context:
space:
mode:
authorLucas Fryzek <lucas.fryzek@fryzekconcepts.com>2025-11-24 19:39:30 -0500
committerLucas Fryzek <lucas.fryzek@fryzekconcepts.com>2025-11-24 19:39:30 -0500
commitb5f3587df4048d2ba807721ff2faea8c8a43a93f (patch)
tree6913f730a41822b98fecd5e82b7cae46164fd9c0 /src/frygon/vulkan/fgvk_queue.c
parent41c700fdbf1d79dfb571105ee93bfa46da6c8428 (diff)
Diffstat (limited to 'src/frygon/vulkan/fgvk_queue.c')
-rw-r--r--src/frygon/vulkan/fgvk_queue.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/frygon/vulkan/fgvk_queue.c b/src/frygon/vulkan/fgvk_queue.c
new file mode 100644
index 00000000000..739de7f5bb4
--- /dev/null
+++ b/src/frygon/vulkan/fgvk_queue.c
@@ -0,0 +1,44 @@
+/*
+ * Copyright © 2025 Lucas Francisco Fryzek
+ * SPDX-License-Identifier: MIT
+ */
+#include "fgvk_queue.h"
+
+static VkResult
+fgvk_queue_submit(struct vk_queue *vk_queue,
+ struct vk_queue_submit *submit)
+{
+ return VK_SUCCESS;
+}
+
+VkResult
+fgvk_queue_create(struct fgvk_device *dev,
+ const VkDeviceQueueCreateInfo *pCreateInfo,
+ uint32_t index_in_family)
+{
+ VkResult result;
+ struct fgvk_queue *queue = vk_zalloc(&dev->vk.alloc, sizeof(struct fgvk_queue),
+ 8, VK_SYSTEM_ALLOCATION_SCOPE_DEVICE);
+ if (!queue)
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+
+ result = vk_queue_init(&queue->vk, &dev->vk, pCreateInfo, index_in_family);
+ if (result != VK_SUCCESS)
+ goto fail_alloc;
+
+ queue->vk.driver_submit = fgvk_queue_submit;
+
+ return VK_SUCCESS;
+
+fail_alloc:
+ vk_free(&dev->vk.alloc, queue);
+
+ return result;
+}
+
+void
+fgvk_queue_destroy(struct fgvk_device *dev, struct fgvk_queue *queue)
+{
+ vk_queue_finish(&queue->vk);
+ vk_free(&dev->vk.alloc, queue);
+}