diff options
| author | Lucas Fryzek <lucas.fryzek@fryzekconcepts.com> | 2025-11-24 19:39:30 -0500 |
|---|---|---|
| committer | Lucas Fryzek <lucas.fryzek@fryzekconcepts.com> | 2025-11-24 19:39:30 -0500 |
| commit | b5f3587df4048d2ba807721ff2faea8c8a43a93f (patch) | |
| tree | 6913f730a41822b98fecd5e82b7cae46164fd9c0 /src/frygon/vulkan/fgvk_queue.c | |
| parent | 41c700fdbf1d79dfb571105ee93bfa46da6c8428 (diff) | |
WIPfrygon
Diffstat (limited to 'src/frygon/vulkan/fgvk_queue.c')
| -rw-r--r-- | src/frygon/vulkan/fgvk_queue.c | 44 |
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); +} |