blob: 739de7f5bb4cf6c0344f845c686ff13b7c2b7b32 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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);
}
|