[dxvk] Use compute queue for transfers if DMA queue is not available

Affects RADV. Let's see if this works and does anything for performance.
This commit is contained in:
Philip Rebohle 2020-05-05 12:49:13 +02:00
parent d999d0a15c
commit 68be040f4a
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99
1 changed files with 8 additions and 1 deletions

View File

@ -88,12 +88,19 @@ namespace dxvk {
VK_QUEUE_GRAPHICS_BIT | VK_QUEUE_COMPUTE_BIT,
VK_QUEUE_GRAPHICS_BIT | VK_QUEUE_COMPUTE_BIT);
uint32_t computeQueue = findQueueFamily(
VK_QUEUE_GRAPHICS_BIT | VK_QUEUE_COMPUTE_BIT,
VK_QUEUE_COMPUTE_BIT);
if (computeQueue == VK_QUEUE_FAMILY_IGNORED)
computeQueue = graphicsQueue;
uint32_t transferQueue = findQueueFamily(
VK_QUEUE_GRAPHICS_BIT | VK_QUEUE_COMPUTE_BIT | VK_QUEUE_TRANSFER_BIT,
VK_QUEUE_TRANSFER_BIT);
if (transferQueue == VK_QUEUE_FAMILY_IGNORED)
transferQueue = graphicsQueue;
transferQueue = computeQueue;
DxvkAdapterQueueIndices queues;
queues.graphics = graphicsQueue;