1

My home computer is a late 2012 Mac Mini, it has a 3rd gen Intel IvyBridge processor (mobile model for some reason only Apple knows).

The "vulkaninfo.app" from the LunarG SDK reports 4 queue families on the integrated GPU, but public information shows that it should only have 1 one it. What's happening?


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

DannyNiu
  • 1,313
  • 8
  • 27
  • Maybe the driver implementation changed? Did you check on that? – Felix K. Jul 21 '19 at 09:47
  • @FelixK. I did a bit of checking. SDK ver 1.1.108 reports 4 queue families of 1 queue each, 1.0.69 reports 1 queue family of 16 queues. The latter I suspect to be the old MoltonVK driver errornously reporting the number of compute units, which executes in parallel synchronously, unlike queues which executes asynchronously. – DannyNiu Jul 21 '19 at 10:53

1 Answers1

1

In macOS, there's no queue count or queue family count in Metal Devices (as of July 2019), so one could create 1 or any number of queues and get full utilization of the device.

However, as noted in a 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).

DannyNiu
  • 1,313
  • 8
  • 27