我的 mac 报告了 4 个 Vulkan 队列系列,但参考资料说它有 1 个
My mac reports 4 Vulkan queue families but reference says it has 1
我的家用电脑是 2012 年末的 Mac Mini,它配备了第三代英特尔 IvyBridge 处理器(出于某种原因只有 Apple 知道移动型号)。
LunarG SDK 中的 "vulkaninfo.app" 报告集成 GPU 上有 4 个队列系列,但 public information 显示它应该只有 1 个。发生了什么?
VkQueueFamilyProperties[0]:
===========================
queueFlags = GRAPHICS | COMPUTE | TRANSFER
queueCount = 1
timestampValidBits = 64
minImageTransferGranularity = (1, 1, 1)
present support = true
VkQueueFamilyProperties[1]:
===========================
queueFlags = GRAPHICS | COMPUTE | TRANSFER
queueCount = 1
timestampValidBits = 64
minImageTransferGranularity = (1, 1, 1)
present support = true
VkQueueFamilyProperties[2]:
===========================
queueFlags = GRAPHICS | COMPUTE | TRANSFER
queueCount = 1
timestampValidBits = 64
minImageTransferGranularity = (1, 1, 1)
present support = true
VkQueueFamilyProperties[3]:
===========================
queueFlags = GRAPHICS | COMPUTE | TRANSFER
queueCount = 1
timestampValidBits = 64
minImageTransferGranularity = (1, 1, 1)
present support = true
在 macOS 中,Metal Devices 中没有队列计数或队列系列计数(截至 2019 年 7 月),因此可以创建 1 个或任意数量的队列并充分利用设备。
然而,如GitHub issue, some programs with hardwired assumptions crashes when there's only 1 queue family, so they made MoltenVK report 4 queue families to fix it (see pull request 450中所述。
我的家用电脑是 2012 年末的 Mac Mini,它配备了第三代英特尔 IvyBridge 处理器(出于某种原因只有 Apple 知道移动型号)。
LunarG SDK 中的 "vulkaninfo.app" 报告集成 GPU 上有 4 个队列系列,但 public information 显示它应该只有 1 个。发生了什么?
VkQueueFamilyProperties[0]:
===========================
queueFlags = GRAPHICS | COMPUTE | TRANSFER
queueCount = 1
timestampValidBits = 64
minImageTransferGranularity = (1, 1, 1)
present support = true
VkQueueFamilyProperties[1]:
===========================
queueFlags = GRAPHICS | COMPUTE | TRANSFER
queueCount = 1
timestampValidBits = 64
minImageTransferGranularity = (1, 1, 1)
present support = true
VkQueueFamilyProperties[2]:
===========================
queueFlags = GRAPHICS | COMPUTE | TRANSFER
queueCount = 1
timestampValidBits = 64
minImageTransferGranularity = (1, 1, 1)
present support = true
VkQueueFamilyProperties[3]:
===========================
queueFlags = GRAPHICS | COMPUTE | TRANSFER
queueCount = 1
timestampValidBits = 64
minImageTransferGranularity = (1, 1, 1)
present support = true
在 macOS 中,Metal Devices 中没有队列计数或队列系列计数(截至 2019 年 7 月),因此可以创建 1 个或任意数量的队列并充分利用设备。
然而,如GitHub issue, some programs with hardwired assumptions crashes when there's only 1 queue family, so they made MoltenVK report 4 queue families to fix it (see pull request 450中所述。