From 5dba4361ca40e4e17ac713145041b88cfdc12870 Mon Sep 17 00:00:00 2001 From: Greg Wells Date: Fri, 6 Jun 2025 13:57:32 -0400 Subject: [PATCH] get queue handle --- .../vulkan/src/output_device/vulkan_output_device.c | 5 +++-- .../vulkan/src/output_device/vulkan_output_devices.h | 4 +++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/rendering_api/vulkan/src/output_device/vulkan_output_device.c b/rendering_api/vulkan/src/output_device/vulkan_output_device.c index eaaf6bf..f4c5289 100644 --- a/rendering_api/vulkan/src/output_device/vulkan_output_device.c +++ b/rendering_api/vulkan/src/output_device/vulkan_output_device.c @@ -64,6 +64,7 @@ gnReturnCode gnCreateOutputDeviceFn(gnOutputDeviceHandle outputDevice, gnInstanc for (int i = 0; i < queueCount; i++) { if ((queueFamilies[i].queueFlags & VK_QUEUE_TRANSFER_BIT) == VK_QUEUE_TRANSFER_BIT) { transferQueueIndex = i; + vkGetDeviceQueue(outputDevice->outputDevice->device, deviceInfo.queueInfos[i].queueIndex, 0, &outputDevice->outputDevice->transferQueue); break; } } @@ -74,7 +75,7 @@ gnReturnCode gnCreateOutputDeviceFn(gnOutputDeviceHandle outputDevice, gnInstanc .queueFamilyIndex = transferQueueIndex }; - if (vkCreateCommandPool(outputDevice->outputDevice->device, &poolInfo, NULL, &outputDevice->outputDevice->transferQueue) != VK_SUCCESS) { + if (vkCreateCommandPool(outputDevice->outputDevice->device, &poolInfo, NULL, &outputDevice->outputDevice->transferCommandPool) != VK_SUCCESS) { return GN_FAILED_TO_CREATE_COMMAND_POOL; } @@ -86,7 +87,7 @@ void gnWaitForDeviceFn(const gnOutputDeviceHandle device) { } void gnDestroyOutputDeviceFn(gnOutputDeviceHandle device) { - vkDestroyCommandPool(device->outputDevice->device, device->outputDevice->transferQueue, NULL); + vkDestroyCommandPool(device->outputDevice->device, device->outputDevice->transferCommandPool, NULL); vkDestroyDevice(device->outputDevice->device, NULL); free(device->outputDevice); } diff --git a/rendering_api/vulkan/src/output_device/vulkan_output_devices.h b/rendering_api/vulkan/src/output_device/vulkan_output_devices.h index 5185939..0e3a5c8 100644 --- a/rendering_api/vulkan/src/output_device/vulkan_output_devices.h +++ b/rendering_api/vulkan/src/output_device/vulkan_output_devices.h @@ -6,5 +6,7 @@ typedef struct gnPlatformOutputDevice_t { VkDevice device; uint32_t queueCount; VkQueue* queues; - VkCommandPool transferQueue; + + VkQueue transferQueue; + VkCommandPool transferCommandPool; } gnPlatformOutputDevice;