vkd3d: Use VK_SHARING_MODE_CONCURRENT if multi-queue is enabled.

Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
This commit is contained in:
Philip Rebohle 2021-03-13 04:54:08 +01:00 committed by Hans-Kristian Arntzen
parent 1e3c91579e
commit 859aa3fd5a
1 changed files with 3 additions and 2 deletions

View File

@ -443,9 +443,10 @@ static HRESULT vkd3d_create_image(struct d3d12_device *device,
: VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
}
if ((desc->Flags & D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS) && device->queue_family_count > 1)
if (device->unique_queue_mask & (device->unique_queue_mask - 1))
{
TRACE("Creating image with VK_SHARING_MODE_CONCURRENT.\n");
/* For multi-queue, we have to use CONCURRENT since D3D does
* not give us enough information to do ownership transfers. */
image_info.sharingMode = VK_SHARING_MODE_CONCURRENT;
image_info.queueFamilyIndexCount = device->queue_family_count;
image_info.pQueueFamilyIndices = device->queue_family_indices;