dzn: Don't expose copy queues
authorJesse Natalie <jenatali@microsoft.com>
Wed, 24 May 2023 17:54:08 +0000 (10:54 -0700)
committerMarge Bot <emma+marge@anholt.net>
Thu, 25 May 2023 02:08:32 +0000 (02:08 +0000)
Vulkan says you can do things like image resolves or blits on transfer
queues, but D3D only allows literal copies. We could try to emulate
a Vulkan transfer-only queue backed by multiple D3D queues, where we
use the copy queue when possible but fall back to compute when needed,
but let's wait until there's a good reason to do that...

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23218>

src/microsoft/vulkan/dzn_device.c
src/microsoft/vulkan/dzn_private.h

index 4fabdda..16d9467 100644 (file)
@@ -530,18 +530,6 @@ dzn_physical_device_cache_caps(struct dzn_physical_device *pdev)
       },
    };
 
-   pdev->queue_families[pdev->queue_family_count++] = (struct dzn_queue_family) {
-      .props = {
-         .queueFlags = VK_QUEUE_TRANSFER_BIT,
-         .queueCount = 1,
-         .timestampValidBits = 0,
-         .minImageTransferGranularity = { 0, 0, 0 },
-      },
-      .desc = {
-         .Type = D3D12_COMMAND_LIST_TYPE_COPY,
-      },
-   };
-
    assert(pdev->queue_family_count <= ARRAY_SIZE(pdev->queue_families));
 
    D3D12_COMMAND_QUEUE_DESC queue_desc = {
index 3e4777b..328d4fb 100644 (file)
@@ -176,7 +176,7 @@ dzn_meta_blits_get_context(struct dzn_device *device,
                            const struct dzn_meta_blit_key *key);
 
 #define MAX_SYNC_TYPES 3
-#define MAX_QUEUE_FAMILIES 3
+#define MAX_QUEUE_FAMILIES 2
 
 struct dzn_physical_device {
    struct vk_physical_device vk;