Queue class new in Git master
#include <Magnum/Vk/Queue.h>
Queue.
Wraps a VkQueue, which is used to submit command buffers for execution on the device.
See Device creation for information about how queues are created and retrieved from a device and Command buffer recording and submit for an overview of recording and submitting command buffers to a queue.
Public static functions
Constructors, destructors, conversion operators
Public functions
- auto operator=(const Queue&) -> Queue& deleted
- Copying is not allowed.
- auto operator=(Queue&& other) -> Queue& noexcept
- Move assignment.
- auto handle() -> VkQueue
- Underlying VkQueue handle.
-
void submit(Containers::
ArrayView<const Containers:: Reference<const SubmitInfo>> infos, VkFence fence) - Submit a sequence of semaphores or command buffers to a queue.
-
void submit(std::
initializer_list<Containers:: Reference<const SubmitInfo>> infos, VkFence fence) -
auto submit(Containers::
ArrayView<const Containers:: Reference<const SubmitInfo>> infos) -> Fence - Submit a sequence of semaphores or command buffers to a queue and return a new fence to wait on.
-
auto submit(std::
initializer_list<Containers:: Reference<const SubmitInfo>> infos) -> Fence
Function documentation
static Queue Magnum:: Vk:: Queue:: wrap(Device& device,
VkQueue handle)
Wrap existing Vulkan queue.
| Parameters | |
|---|---|
| device | Vulkan device |
| handle | The VkQueue handle |
The handle is expected to be originating from device. Unlike with other handle types, the VkQueue handles don't have to be destroyed at the end, so there's no equivalent of e.g. Device::
Magnum:: Vk:: Queue:: Queue(NoCreateT) explicit
Construct without creating the instance.
This is the expected way to create a queue that's later populated on Device creation through DeviceCreateInfo::
Magnum:: Vk:: Queue:: ~Queue()
Destructor.
Queues are associated with the device they come from, so no explicit destruction is needed.
Magnum:: Vk:: Queue:: operator VkQueue()
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
void Magnum:: Vk:: Queue:: submit(Containers:: ArrayView<const Containers:: Reference<const SubmitInfo>> infos,
VkFence fence)
Submit a sequence of semaphores or command buffers to a queue.
| Parameters | |
|---|---|
| infos | Submit info structures, each specifying a command buffer submission batch |
| fence | A Fence or a raw Vulkan fence handle to be signaled once all submitted command buffers have completed execution. Pass a {} or a NoCreate'd Fence to not signal anything. |
void Magnum:: Vk:: Queue:: submit(std:: initializer_list<Containers:: Reference<const SubmitInfo>> infos,
VkFence fence)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Fence Magnum:: Vk:: Queue:: submit(Containers:: ArrayView<const Containers:: Reference<const SubmitInfo>> infos)
Submit a sequence of semaphores or command buffers to a queue and return a new fence to wait on.
Compared to submit(Containers::
Fence Magnum:: Vk:: Queue:: submit(std:: initializer_list<Containers:: Reference<const SubmitInfo>> infos)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.