From 17c676845c5136a515f1540bb94601b0235bc8eb Mon Sep 17 00:00:00 2001
From: Lava Block <the@lava-block.com>
Date: Sat, 2 Jan 2021 12:51:29 +0100
Subject: [PATCH] add device::get_queues/queues #43

---
 liblava/base/device.cpp | 4 ++++
 liblava/base/device.hpp | 9 +++++++++
 2 files changed, 13 insertions(+)

diff --git a/liblava/base/device.cpp b/liblava/base/device.cpp
index ee79c625..8b39724a 100644
--- a/liblava/base/device.cpp
+++ b/liblava/base/device.cpp
@@ -53,6 +53,7 @@ namespace lava {
         graphics_queue_list.clear();
         compute_queue_list.clear();
         transfer_queue_list.clear();
+        queue_list.clear();
 
         index_map queue_family_map;
 
@@ -73,6 +74,8 @@ namespace lava {
                     compute_queue_list.push_back({ queue, queue_create_info_list[i].queueFamilyIndex });
                 if (param.queue_info_list[i].flags & VK_QUEUE_TRANSFER_BIT)
                     transfer_queue_list.push_back({ queue, queue_create_info_list[i].queueFamilyIndex });
+
+                queue_list.push_back({ queue, queue_create_info_list[i].queueFamilyIndex });
             }
         }
 
@@ -86,6 +89,7 @@ namespace lava {
         graphics_queue_list.clear();
         compute_queue_list.clear();
         transfer_queue_list.clear();
+        queue_list.clear();
 
         call().vkDestroyDescriptorPool(vk_device, descriptor_pool, memory::alloc());
         descriptor_pool = 0;
diff --git a/liblava/base/device.hpp b/liblava/base/device.hpp
index aa1aa49e..9da9193d 100644
--- a/liblava/base/device.hpp
+++ b/liblava/base/device.hpp
@@ -109,6 +109,14 @@ namespace lava {
             return get_transfer_queues();
         }
 
+        queue::list const& get_queues() const {
+            return queue_list;
+        }
+
+        queue::list const& queues() const {
+            return get_queues();
+        }
+
         VkDevice get() const {
             return vk_device;
         }
@@ -155,6 +163,7 @@ namespace lava {
         device::queue::list graphics_queue_list;
         device::queue::list compute_queue_list;
         device::queue::list transfer_queue_list;
+        device::queue::list queue_list;
 
         VkPhysicalDeviceFeatures features;
 
-- 
GitLab