UraniumCompute 0.1.0
A GPU accelerated parallel task scheduler
UN::ICommandList Class Referenceabstract

An interface for command lists that record commands to be executed by the backend. More...

#include <ICommandList.h>

Inheritance diagram for UN::ICommandList:
UN::IDeviceObject UN::IObject UN::Object< ICommandList > UN::DeviceObjectBase< ICommandList > UN::CommandListBase UN::VulkanCommandList

Public Types

using DescriptorType = CommandListDesc
 

Public Member Functions

virtual const DescriptorTypeGetDesc () const =0
 
virtual ResultCode Init (const DescriptorType &desc)=0
 
virtual IFenceGetFence ()=0
 Get the fence that is signaled after submit operation is complete. More...
 
virtual CommandListState GetState ()=0
 Get command list state. More...
 
virtual CommandListBuilder Begin ()=0
 Set the command list state to CommandListState::Recording. More...
 
virtual void ResetState ()=0
 Set the command list state to CommandListState::Initial. More...
 
virtual ResultCode Submit ()=0
 Submit the command list and set the state to CommandListState::Pending. More...
 
- Public Member Functions inherited from UN::IDeviceObject
virtual std::string_view GetDebugName () const =0
 Get debug name of the object.
 
virtual void Reset ()=0
 Reset the object to uninitialized state. More...
 
virtual IComputeDeviceGetDevice () const =0
 Get the compute device this object was created on. More...
 
- Public Member Functions inherited from UN::IObject
virtual UInt32 AddRef ()=0
 Add a strong reference to object's reference counter. More...
 
virtual UInt32 Release ()=0
 Remove a strong reference from object's reference counter. More...
 
virtual void AttachRefCounter (ReferenceCounter *counter)=0
 Attach a ReferenceCounter to this object. More...
 
virtual ReferenceCounterGetRefCounter ()=0
 Get reference counter that belongs to this object. More...
 

Protected Member Functions

virtual void End ()=0
 
virtual void CmdMemoryBarrier (IBuffer *pBuffer, const MemoryBarrierDesc &barrierDesc)=0
 
virtual void CmdCopy (IBuffer *pSource, IBuffer *pDestination, const BufferCopyRegion &region)=0
 
virtual void CmdDispatch (IKernel *pKernel, Int32 x, Int32 y, Int32 z)=0
 

Friends

class CommandListBuilder
 

Detailed Description

An interface for command lists that record commands to be executed by the backend.

Member Function Documentation

◆ Begin()

virtual CommandListBuilder UN::ICommandList::Begin ( )
pure virtual

Set the command list state to CommandListState::Recording.

Implemented in UN::CommandListBase.

◆ GetFence()

virtual IFence * UN::ICommandList::GetFence ( )
pure virtual

Get the fence that is signaled after submit operation is complete.

Implemented in UN::CommandListBase.

◆ GetState()

virtual CommandListState UN::ICommandList::GetState ( )
pure virtual

Get command list state.

Implemented in UN::VulkanCommandList.

◆ ResetState()

virtual void UN::ICommandList::ResetState ( )
pure virtual

Set the command list state to CommandListState::Initial.

Implemented in UN::CommandListBase.

◆ Submit()

virtual ResultCode UN::ICommandList::Submit ( )
pure virtual

Submit the command list and set the state to CommandListState::Pending.

Implemented in UN::CommandListBase.


The documentation for this class was generated from the following file: