KRDevice now creates transfer queues for each GPU. Implemented algorithm to keep graphics, compute, and transfer queue families independent when possible.

This commit is contained in:
2022-07-11 23:45:08 -07:00
parent 7f3ceebd5f
commit 738cfd29ef
2 changed files with 119 additions and 9 deletions

View File

@@ -65,10 +65,14 @@ public:
VkQueue m_graphicsQueue;
uint32_t m_computeFamilyQueueIndex;
VkQueue m_computeQueue;
uint32_t m_transferFamilyQueueIndex;
VkQueue m_transferQueue;
VkCommandPool m_graphicsCommandPool;
VkCommandPool m_computeCommandPool;
VkCommandPool m_transferCommandPool;
std::vector<VkCommandBuffer> m_graphicsCommandBuffers;
std::vector<VkCommandBuffer> m_computeCommandBuffers;
std::vector<VkCommandBuffer> m_transferCommandBuffers;
VmaAllocator m_allocator;
// Staging buffer for uploading with the transfer queue