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>
},
};
- 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 = {
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;