UraniumCompute 0.1.0
A GPU accelerated parallel task scheduler
UN::CommandListBuilder Class Reference

Command list builder, used for device command recording. More...

#include <ICommandList.h>

Public Member Functions

 CommandListBuilder (ICommandList *pCommandList)
 
 CommandListBuilder (CommandListBuilder &&other) noexcept
 
CommandListBuilderoperator= (CommandListBuilder &&other)
 
void End ()
 Set the command list state to CommandListState::Executable.
 
void MemoryBarrier (IBuffer *pBuffer, const MemoryBarrierDesc &barrierDesc)
 Insert a memory dependency. More...
 
void Copy (IBuffer *pSource, IBuffer *pDestination, const BufferCopyRegion &region)
 Copy a region of the source buffer to the destination buffer. More...
 
void Dispatch (IKernel *pKernel, Int32 x, Int32 y, Int32 z)
 Dispatch a compute kernel to execute on the device. More...
 
 operator bool ()
 

Detailed Description

Command list builder, used for device command recording.

Member Function Documentation

◆ Copy()

void UN::CommandListBuilder::Copy ( IBuffer pSource,
IBuffer pDestination,
const BufferCopyRegion region 
)
inline

Copy a region of the source buffer to the destination buffer.

Parameters
pSource- Source buffer.
pDestination- Destination buffer.
region- Copy region.

◆ Dispatch()

void UN::CommandListBuilder::Dispatch ( IKernel pKernel,
Int32  x,
Int32  y,
Int32  z 
)
inline

Dispatch a compute kernel to execute on the device.

Parameters
pKernel- The kernel to dispatch.
x- The number of local workgroups to dispatch in the X dimension.
y- The number of local workgroups to dispatch in the Y dimension.
z- The number of local workgroups to dispatch in the Z dimension.

◆ MemoryBarrier()

void UN::CommandListBuilder::MemoryBarrier ( IBuffer pBuffer,
const MemoryBarrierDesc barrierDesc 
)
inline

Insert a memory dependency.

Parameters
pBuffer- The buffer affected by the barrier.
barrierDesc- The barrier descriptor.

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