=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: vkd3d: Translate D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS to VK_SHARING_MODE_CONCURRENT.

Alexandre Julliard julliard at winehq.org
Fri May 3 13:47:09 CDT 2019


Module: vkd3d
Branch: master
Commit: 756931f8494ab195f7832b70a23e9cf7e0817310
URL:    https://source.winehq.org/git/vkd3d.git/?a=commit;h=756931f8494ab195f7832b70a23e9cf7e0817310

Author: Józef Kucia <jkucia at codeweavers.com>
Date:   Thu May  2 16:02:37 2019 +0200

vkd3d: Translate D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS to VK_SHARING_MODE_CONCURRENT.

Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 libs/vkd3d/resource.c | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/libs/vkd3d/resource.c b/libs/vkd3d/resource.c
index 9e6216a..ac2ff38 100644
--- a/libs/vkd3d/resource.c
+++ b/libs/vkd3d/resource.c
@@ -621,11 +621,18 @@ static HRESULT vkd3d_create_image(struct d3d12_device *device,
         image_info.usage |= VK_IMAGE_USAGE_SAMPLED_BIT;
 
     if (desc->Flags & D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS)
-        FIXME("Ignoring D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS.\n");
-
-    image_info.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
-    image_info.queueFamilyIndexCount = 0;
-    image_info.pQueueFamilyIndices = NULL;
+    {
+        TRACE("Creating image with VK_SHARING_MODE_CONCURRENT.\n");
+        image_info.sharingMode = VK_SHARING_MODE_CONCURRENT;
+        image_info.queueFamilyIndexCount = device->queue_family_count;
+        image_info.pQueueFamilyIndices = device->queue_family_indices;
+    }
+    else
+    {
+        image_info.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
+        image_info.queueFamilyIndexCount = 0;
+        image_info.pQueueFamilyIndices = NULL;
+    }
 
     image_info.initialLayout = is_cpu_accessible_heap(heap_properties) ?
             VK_IMAGE_LAYOUT_PREINITIALIZED : VK_IMAGE_LAYOUT_UNDEFINED;




More information about the wine-cvs mailing list