![]() |
LiteFX 0.3.1.2022
Computer Graphics Engine
|
Implements a DirectX 12 command queue. More...
#include <dx12.hpp>
Inherits LiteFX::Rendering::CommandQueue< DirectX12CommandBuffer >, and LiteFX::Resource< THandle >.
Classes | |
class | DirectX12QueueImpl |
Public Member Functions | |
DirectX12Queue (const DirectX12Device &device, const QueueType &type, const QueuePriority &priority) | |
Initializes the DirectX 12 command queue. More... | |
DirectX12Queue (const DirectX12Queue &)=delete | |
DirectX12Queue (DirectX12Queue &&)=delete | |
virtual | ~DirectX12Queue () noexcept |
virtual const DirectX12Device & | device () const noexcept |
Returns a reference to the device that provides this queue. More... | |
virtual bool | isBound () const noexcept override |
Returns true , if the command queue is bound on the parent device. More... | |
virtual const QueuePriority & | priority () const noexcept override |
Returns the priority of the queue. More... | |
virtual const QueueType & | type () const noexcept override |
Returns the type of the queue. More... | |
virtual void | bind () override |
Binds the queue on the parent device. More... | |
virtual void | release () override |
Releases the queue from the parent device. More... | |
virtual UniquePtr< DirectX12CommandBuffer > | createCommandBuffer (const bool &beginRecording=false) const override |
virtual UInt64 | submit (const DirectX12CommandBuffer &commandBuffer) const override |
virtual UInt64 | submit (const Array< const DirectX12CommandBuffer * > &commandBuffers) const override |
virtual void | waitFor (const UInt64 &fence) const noexcept override |
Waits for a certain fence value to complete on the command queue. More... | |
virtual UInt64 | currentFence () const noexcept override |
Returns the value of the latest fence inserted into the queue. More... | |
![]() | |
virtual | ~CommandQueue () noexcept=default |
virtual UniquePtr< command_buffer_type > | createCommandBuffer (const bool &beginRecording=false) const=0 |
virtual UInt64 | submit (const command_buffer_type &commandBuffer) const=0 |
virtual UInt64 | submit (const Array< const command_buffer_type * > &commandBuffers) const=0 |
![]() | |
virtual | ~ICommandQueue () noexcept=default |
virtual bool | isBound () const noexcept=0 |
Returns true , if the command queue is bound on the parent device. More... | |
virtual const QueuePriority & | priority () const noexcept=0 |
Returns the priority of the queue. More... | |
virtual const QueueType & | type () const noexcept=0 |
Returns the type of the queue. More... | |
virtual void | bind ()=0 |
Binds the queue on the parent device. More... | |
virtual void | release ()=0 |
Releases the queue from the parent device. More... | |
UniquePtr< ICommandBuffer > | createCommandBuffer (const bool &beginRecording=false) const |
Creates a command buffer that can be used to allocate commands on the queue. More... | |
UInt64 | submit (const ICommandBuffer &commandBuffer) const |
Submits a single command buffer and inserts a fence to wait for it. More... | |
UInt64 | submit (const Array< const ICommandBuffer * > &commandBuffers) const |
Submits a set of command buffers and inserts a fence to wait for them. More... | |
virtual void | waitFor (const UInt64 &fence) const noexcept=0 |
Waits for a certain fence value to complete on the command queue. More... | |
virtual UInt64 | currentFence () const noexcept=0 |
Returns the value of the latest fence inserted into the queue. More... | |
![]() | |
Resource (const Resource &)=delete | |
Resource (Resource &&)=delete | |
virtual | ~Resource () noexcept=default |
const THandle & | handle () const noexcept override |
Returns the resource managed by the class. More... | |
![]() | |
virtual | ~IResource () noexcept=default |
virtual const THandle & | handle () const noexcept=0 |
Returns the resource managed by the class. More... | |
Additional Inherited Members | |
![]() | |
using | command_buffer_type = DirectX12CommandBuffer |
![]() | |
Resource (const THandle handle) noexcept | |
Initializes the managed resource. More... | |
THandle & | handle () noexcept override |
Returns the resource managed by the class. More... | |
virtual THandle & | handle () noexcept=0 |
Returns the resource managed by the class. More... | |
Implements a DirectX 12 command queue.
|
explicit |
Initializes the DirectX 12 command queue.
device | The device, commands get send to. |
type | The type of the command queue. |
priority | The priority, of which commands are issued on the device. |
|
delete |
|
delete |
|
virtualnoexcept |
|
overridevirtual |
Binds the queue on the parent device.
Implements LiteFX::Rendering::ICommandQueue.
|
overridevirtual |
|
overridevirtualnoexcept |
Returns the value of the latest fence inserted into the queue.
Implements LiteFX::Rendering::ICommandQueue.
|
virtualnoexcept |
Returns a reference to the device that provides this queue.
|
overridevirtualnoexcept |
Returns true
, if the command queue is bound on the parent device.
Implements LiteFX::Rendering::ICommandQueue.
|
overridevirtualnoexcept |
Returns the priority of the queue.
Implements LiteFX::Rendering::ICommandQueue.
|
overridevirtual |
Releases the queue from the parent device.
Implements LiteFX::Rendering::ICommandQueue.
|
overridevirtual |
|
overridevirtual |
|
overridevirtualnoexcept |
Returns the type of the queue.
Implements LiteFX::Rendering::ICommandQueue.
|
overridevirtualnoexcept |
Waits for a certain fence value to complete on the command queue.
Implements LiteFX::Rendering::ICommandQueue.