=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: vkd3d: Forbid D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS for buffers.

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


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

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

vkd3d: Forbid D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS for buffers.

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 | 6 ++++++
 tests/d3d12.c         | 3 +++
 2 files changed, 9 insertions(+)

diff --git a/libs/vkd3d/resource.c b/libs/vkd3d/resource.c
index ac2ff38..5bb76bf 100644
--- a/libs/vkd3d/resource.c
+++ b/libs/vkd3d/resource.c
@@ -530,6 +530,12 @@ HRESULT vkd3d_create_buffer(struct d3d12_device *device,
         buffer_info.usage |= VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT;
 
     /* Buffers always have properties of D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS. */
+    if (desc->Flags & D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS)
+    {
+        WARN("D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS cannot be set for buffers.\n");
+        return E_INVALIDARG;
+    }
+
     buffer_info.sharingMode = VK_SHARING_MODE_CONCURRENT;
     buffer_info.queueFamilyIndexCount = device->queue_family_count;
     buffer_info.pQueueFamilyIndices = device->queue_family_indices;
diff --git a/tests/d3d12.c b/tests/d3d12.c
index dd13ddf..cb05b5e 100644
--- a/tests/d3d12.c
+++ b/tests/d3d12.c
@@ -1615,6 +1615,9 @@ static void test_create_committed_resource(void)
         {D3D12_HEAP_TYPE_READBACK, D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET},
         {D3D12_HEAP_TYPE_UPLOAD,   D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS},
         {D3D12_HEAP_TYPE_READBACK, D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS},
+        {D3D12_HEAP_TYPE_DEFAULT,  D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS},
+        {D3D12_HEAP_TYPE_UPLOAD,   D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS},
+        {D3D12_HEAP_TYPE_READBACK, D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS},
     };
 
     if (!(device = create_device()))




More information about the wine-cvs mailing list