0

Okay, so I have been working on a Vulkan project recently, and I have came across a "queue family". What is it?

I've tried looking up the value in windows debugger, but it is just a weird looking memory address.

pci is just an instance of VkDeviceCreateInfo.

pci.pQueueCreateInfos->queueFamilyIndex;
Til
  • 5,150
  • 13
  • 26
  • 34
Christian S
  • 17
  • 1
  • 3

1 Answers1

0

A queue family defines the properties of a number of queues supported by the hardware.

When you instantiate a physical device you can enumerate the queues it supports using vkGetPhysicalDeviceQueueFamilyProperties which returns a number of VkQueueFamilyProperties. You can then query the results to find the queue(s) that you require for your application, e.g. VkQueueFlag.VK_QUEUE_GRAPHICS_BIT for rendering. When creating the logical device you build a number of VkDeviceQueueCreateInfo for the queues that you require, each contains the appropriate queue family index.

More details: Vulkan tutorial

Note that in your code pQueueCreateInfos should be pointing to the array of VkDeviceQueueCreateInfo and not the queue family index.

The value you looked at in the debugger is indeed just a memory address, i.e. an 'opaque' handle. Just about every Vulkan 'object' is a handle.

stridecolossus
  • 1,449
  • 10
  • 24