Rasterfarm-SDK
Loading...
Searching...
No Matches
Engine::SecondaryCommandBuffer Class Reference

#include <commandbuffer.h>

Inheritance diagram for Engine::SecondaryCommandBuffer:
Engine::CommandBuffer Engine::MasterLock Mutex

Public Member Functions

 SecondaryCommandBuffer (PrimaryCommandBuffer *pCommandBuffer, RenderBuffer *pRenderBuffer, uint subPassIndex, VkFramebuffer framebuffer)
 
virtual ~SecondaryCommandBuffer ()
 
void setFrameBufferHandle (VkFramebuffer framebuffer)
 
- Public Member Functions inherited from Engine::CommandBuffer
 CommandBuffer (VkCommandPool commandPool, VkCommandBufferLevel bufferLevel=VK_COMMAND_BUFFER_LEVEL_PRIMARY, VkCommandBufferUsageFlagBits bufferUsage=VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT)
 
virtual ~CommandBuffer ()
 
 operator VkCommandBuffer * ()
 
 operator VkCommandBuffer ()
 
VkCommandBuffer getHandle () const
 
State getState () const
 
void setFence (VkFence fence, uintmax_t timeout=UINT64_MAX)
 
VkFence getFence ()
 
bool isFenceSignaled ()
 
void waitForFenceSignal ()
 
VkSemaphore getCompleteSemaphore () const
 
void setCompleteSemaphore (VkSemaphore semaphore)
 
VkSemaphore getWaitSemaphore () const
 
void setWaitSemaphore (VkSemaphore semaphore)
 
VkCommandPool getCommandPool () const
 
virtual void begin ()
 
virtual void end ()
 
virtual void reset ()
 
- Public Member Functions inherited from Engine::MasterLock
 MasterLock ()
 
void lock ()
 
void wait ()
 
void unlock ()
 
bool isLocked ()
 

Protected Attributes

RenderBufferpRenderBuffer
 
VkCommandBufferInheritanceInfo inheritanceInfo
 
- Protected Attributes inherited from Engine::CommandBuffer
VkCommandBuffer commandBuffer
 
VkDevice logicalDevice
 
VkCommandPool commandPool
 
VkCommandBufferBeginInfo beginInfo
 
State state
 
VkFence fence
 
VkSemaphore completeSemaphore
 
VkSemaphore waitSemaphore
 
uintmax_t fenceTimeout
 

Friends

class PrimaryCommandBuffer
 

Additional Inherited Members

- Public Types inherited from Engine::CommandBuffer
enum  State : uint {
  RESET = 0 ,
  RECORDING ,
  PENDING
}
 
- Static Public Member Functions inherited from Engine::CommandBuffer
template<class C >
static HeapArray< VkCommandBuffer > getHandles (HeapArray< C * > array)
 
template<class C >
static HeapArray< VkCommandBuffer > getHandles (Queue< C * > queue)
 
template<class C >
static HeapArray< VkSemaphore > getWaitSemaphores (Queue< C * > queue)
 
template<class C >
static HeapArray< VkSemaphore > getCompleteSemaphores (Queue< C * > queue)
 
- Public Attributes inherited from Engine::MasterLock
volatile uint slaveCount
 
volatile bool locked
 

Detailed Description

A secondary command-buffer;

Constructor & Destructor Documentation

◆ SecondaryCommandBuffer()

Engine::SecondaryCommandBuffer::SecondaryCommandBuffer ( PrimaryCommandBuffer * pCommandBuffer,
RenderBuffer * pRenderBuffer,
uint subPassIndex,
VkFramebuffer framebuffer )

A sub command-buffer allocated from the pool of the parent command-buffer. This will be of type SECONDARY. Allocation is done upon construction.

◆ ~SecondaryCommandBuffer()

virtual Engine::SecondaryCommandBuffer::~SecondaryCommandBuffer ( )
virtual

Member Function Documentation

◆ setFrameBufferHandle()

void Engine::SecondaryCommandBuffer::setFrameBufferHandle ( VkFramebuffer framebuffer)

Friends And Related Symbol Documentation

◆ PrimaryCommandBuffer

friend class PrimaryCommandBuffer
friend

Member Data Documentation

◆ inheritanceInfo

VkCommandBufferInheritanceInfo Engine::SecondaryCommandBuffer::inheritanceInfo
protected

Both the FrameBufferHandle and RenderBufferHandle are recorded into this structure.

◆ pRenderBuffer

RenderBuffer* Engine::SecondaryCommandBuffer::pRenderBuffer
protected

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