Function Prototype

vkGetDeviceQueue

Get a queue handle from a device

To retrieve a handle to a VkQueue object, call:

void vkGetDeviceQueue(
    VkDevice device,
    uint32_t queueFamilyIndex,
    uint32_t queueIndex,
    VkQueue* pQueue);
  • device is the logical device that owns the queue.
  • queueFamilyIndex is the index of the queue family to which the queue belongs.
  • queueIndex is the index within this queue family of the queue to retrieve.
  • pQueue is a pointer to a VkQueue object that will be filled with the handle for the requested queue.

vkGetDeviceQueue must only be used to get queues that were created with the flags parameter of VkDeviceQueueCreateInfo set to zero. To get queues that were created with a non-zero flags parameter use vkGetDeviceQueue2.

Valid Usage

VUID-vkGetDeviceQueue-queueFamilyIndex-00384

queueFamilyIndex must be one of the queue family indices specified when device was created, via the VkDeviceQueueCreateInfo structure

VUID-vkGetDeviceQueue-queueIndex-00385

queueIndex must be less than the value of VkDeviceQueueCreateInfo::queueCount for the queue family indicated by queueFamilyIndex when device was created

VUID-vkGetDeviceQueue-flags-01841

VkDeviceQueueCreateInfo::flags must have been zero when device was created

Valid Usage (Implicit)

VUID-vkGetDeviceQueue-pQueue-parameter

pQueue must be a valid pointer to a VkQueue handle