HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RV_VKCommandBuffer Class Reference

#include <RV_VKCommandBuffer.h>

Public Types

using Callback = UT_Function< void(RV_Instance *)>
 

Public Member Functions

VkCommandBuffer getVkCmdBuf ()
 
RV_VKCommandPoolgetCmdPool ()
 
void beginRecording ()
 
void endRecording ()
 
void addWaitSemaphore (VkSemaphore sem, VkPipelineStageFlags stage)
 
void addSignalSemaphore (VkSemaphore sem, VkPipelineStageFlags stage)
 
bool waitForFinish ()
 
bool isRecording () const
 
bool isExecuting ()
 
void handleCompletionCallbacks (RV_Instance *inst)
 
void handleSubmissionCallbacks (RV_Instance *inst)
 
void addCompletionCallback (const Callback &callback)
 
void addSubmissionCallback (const Callback &callback)
 
 ~RV_VKCommandBuffer ()
 
 RV_VKCommandBuffer (const RV_VKCommandBuffer &)=delete
 
RV_VKCommandBufferoperator= (const RV_VKCommandBuffer &)=delete
 

Static Public Member Functions

static RV_VKCommandBufferallocate (RV_Instance *inst, RV_VKCommandPool *cmd_pool)
 

Public Attributes

RV_VKPipelineStateInfo myPipeState
 

Protected Member Functions

 RV_VKCommandBuffer (RV_Instance *inst, RV_VKCommandPool *cmd_pool, VkCommandBuffer cmd_buf, const VkCommandBufferAllocateInfo &info, VkFence fence)
 

Protected Attributes

VkCommandBuffer myVkCmdBuf
 
class RV_VKCommandPoolmyCmdPool
 
RV_InstancemyInst = nullptr
 
VkCommandBufferLevel myLevel = VK_COMMAND_BUFFER_LEVEL_PRIMARY
 
bool myIsRecording = false
 
VkFence myCompleteFence
 
UT_Array< VkPipelineStageFlagsmyWaitStages
 
UT_Array< VkSemaphore > myWaitSems
 
UT_Array< VkPipelineStageFlagsmySignalStages
 
UT_Array< VkSemaphore > mySignalSems
 
UT_Array< CallbackmyCompletionCallbacks
 
UT_Array< CallbackmySubmissionCallbacks
 

Friends

class RV_Instance
 
class RV_VKCommandPool
 
class RV_VKQueue
 

Detailed Description

Definition at line 32 of file RV_VKCommandBuffer.h.

Member Typedef Documentation

Constructor & Destructor Documentation

RV_VKCommandBuffer::~RV_VKCommandBuffer ( )
RV_VKCommandBuffer::RV_VKCommandBuffer ( const RV_VKCommandBuffer )
delete
RV_VKCommandBuffer::RV_VKCommandBuffer ( RV_Instance inst,
RV_VKCommandPool cmd_pool,
VkCommandBuffer  cmd_buf,
const VkCommandBufferAllocateInfo info,
VkFence  fence 
)
inlineprotected

Definition at line 142 of file RV_VKCommandBuffer.h.

Member Function Documentation

void RV_VKCommandBuffer::addCompletionCallback ( const Callback callback)
inline

Definition at line 94 of file RV_VKCommandBuffer.h.

void RV_VKCommandBuffer::addSignalSemaphore ( VkSemaphore  sem,
VkPipelineStageFlags  stage 
)
void RV_VKCommandBuffer::addSubmissionCallback ( const Callback callback)
inline

Definition at line 99 of file RV_VKCommandBuffer.h.

void RV_VKCommandBuffer::addWaitSemaphore ( VkSemaphore  sem,
VkPipelineStageFlags  stage 
)
static RV_VKCommandBuffer* RV_VKCommandBuffer::allocate ( RV_Instance inst,
RV_VKCommandPool cmd_pool 
)
static
void RV_VKCommandBuffer::beginRecording ( )
void RV_VKCommandBuffer::endRecording ( )
RV_VKCommandPool* RV_VKCommandBuffer::getCmdPool ( )
inline

Definition at line 44 of file RV_VKCommandBuffer.h.

VkCommandBuffer RV_VKCommandBuffer::getVkCmdBuf ( )
inline

Definition at line 38 of file RV_VKCommandBuffer.h.

void RV_VKCommandBuffer::handleCompletionCallbacks ( RV_Instance inst)
inline

Definition at line 64 of file RV_VKCommandBuffer.h.

void RV_VKCommandBuffer::handleSubmissionCallbacks ( RV_Instance inst)
inline

Definition at line 82 of file RV_VKCommandBuffer.h.

bool RV_VKCommandBuffer::isExecuting ( )
bool RV_VKCommandBuffer::isRecording ( ) const
RV_VKCommandBuffer& RV_VKCommandBuffer::operator= ( const RV_VKCommandBuffer )
delete
bool RV_VKCommandBuffer::waitForFinish ( )

Friends And Related Function Documentation

friend class RV_Instance
friend

Definition at line 156 of file RV_VKCommandBuffer.h.

friend class RV_VKCommandPool
friend

Definition at line 157 of file RV_VKCommandBuffer.h.

friend class RV_VKQueue
friend

Definition at line 158 of file RV_VKCommandBuffer.h.

Member Data Documentation

class RV_VKCommandPool* RV_VKCommandBuffer::myCmdPool
protected

Definition at line 120 of file RV_VKCommandBuffer.h.

VkFence RV_VKCommandBuffer::myCompleteFence
protected

Definition at line 130 of file RV_VKCommandBuffer.h.

UT_Array<Callback> RV_VKCommandBuffer::myCompletionCallbacks
protected

Definition at line 139 of file RV_VKCommandBuffer.h.

RV_Instance* RV_VKCommandBuffer::myInst = nullptr
protected

Definition at line 121 of file RV_VKCommandBuffer.h.

bool RV_VKCommandBuffer::myIsRecording = false
protected

Definition at line 127 of file RV_VKCommandBuffer.h.

VkCommandBufferLevel RV_VKCommandBuffer::myLevel = VK_COMMAND_BUFFER_LEVEL_PRIMARY
protected

Definition at line 124 of file RV_VKCommandBuffer.h.

RV_VKPipelineStateInfo RV_VKCommandBuffer::myPipeState

Definition at line 112 of file RV_VKCommandBuffer.h.

UT_Array<VkSemaphore> RV_VKCommandBuffer::mySignalSems
protected

Definition at line 136 of file RV_VKCommandBuffer.h.

UT_Array<VkPipelineStageFlags> RV_VKCommandBuffer::mySignalStages
protected

Definition at line 135 of file RV_VKCommandBuffer.h.

UT_Array<Callback> RV_VKCommandBuffer::mySubmissionCallbacks
protected

Definition at line 140 of file RV_VKCommandBuffer.h.

VkCommandBuffer RV_VKCommandBuffer::myVkCmdBuf
protected

Definition at line 119 of file RV_VKCommandBuffer.h.

UT_Array<VkSemaphore> RV_VKCommandBuffer::myWaitSems
protected

Definition at line 133 of file RV_VKCommandBuffer.h.

UT_Array<VkPipelineStageFlags> RV_VKCommandBuffer::myWaitStages
protected

Definition at line 132 of file RV_VKCommandBuffer.h.


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