Luna::RHI::ICommandBuffer

Used to allocate memory for commands, record commands, submitting commands to GPU and tracks the state of the submitted commands.

interface Luna::RHI::ICommandBuffer : public virtual IDeviceChild, public virtual IWaitable

Command buffer is not thread safe. If the user need to record commands simultaneously, she should create multiple command buffers, one per thread.

All synchroizations for command buffers are performed explicitly, for instance:1. Use ICommandBuffer::wait to wait for one command buffer from host side,

  1. Use fence objects to wait for one command buffer from another command buffer.

  2. Only call ICommandBuffer::reset after the command buffer is not submitted, or is finished by GPU.

Base types

Member functions