Enum
VkQueueFlagBits
Bitmask specifying capabilities of queues in a queue family
Bits which may be set in VkQueueFamilyProperties::queueFlags
,
indicating capabilities of queues in a queue family are:
typedef enum VkQueueFlagBits {
VK_QUEUE_GRAPHICS_BIT = 0x00000001,
VK_QUEUE_COMPUTE_BIT = 0x00000002,
VK_QUEUE_TRANSFER_BIT = 0x00000004,
VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
} VkQueueFlagBits;
VK_QUEUE_GRAPHICS_BIT
specifies that queues in this queue family support graphics operations.VK_QUEUE_COMPUTE_BIT
specifies that queues in this queue family support compute operations.VK_QUEUE_TRANSFER_BIT
specifies that queues in this queue family support transfer operations.VK_QUEUE_SPARSE_BINDING_BIT
specifies that queues in this queue family support sparse memory management operations (see Sparse Resources). If any of the sparse resource features are enabled, then at least one queue family must support this bit.VK_QUEUE_VIDEO_DECODE_BIT_KHR
specifies that queues in this queue family support video decode operations.VK_QUEUE_VIDEO_ENCODE_BIT_KHR
specifies that queues in this queue family support video encode operations.VK_QUEUE_OPTICAL_FLOW_BIT_NV
specifies that queues in this queue family support optical flow operations.
If an implementation exposes any queue family that supports graphics operations, at least one queue family of at least one physical device exposed by the implementation must support both graphics and compute operations.
All commands that are allowed on a queue that supports transfer operations
are also allowed on a queue that supports either graphics or compute
operations.
Thus, if the capabilities of a queue family include
VK_QUEUE_GRAPHICS_BIT
or VK_QUEUE_COMPUTE_BIT
, then reporting
the VK_QUEUE_TRANSFER_BIT
capability separately for that queue family
is optional.
For further details see Queues.