HDK
|
#include <RV_VKCommandBuffer.h>
Classes | |
struct | ResourceInfo |
Public Types | |
using | Callback = UT_Function< void(RV_Instance *)> |
Public Member Functions | |
VkCommandBuffer | getVkCmdBuf () |
RV_VKCommandPool * | getCmdPool () |
void | beginRecording () |
void | endRecording () |
bool | waitForFinish () |
void | addWaitSemaphore (VkSemaphore sem, VkPipelineStageFlags stage) |
void | addSignalSemaphore (VkSemaphore sem, VkPipelineStageFlags stage) |
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) |
void | invalidateState () |
void | appendLog (const UT_StringHolder &log) |
void | logImageUsage (const RV_VKImage *img) |
void | logBufferUsage (const RV_VKBuffer *buf) |
void | logAccelStructUsage (const RV_VKAccelerationStructure *accel_struct) |
void | logSetUsage (const RV_ShaderVariableSet *set) |
~RV_VKCommandBuffer () | |
RV_VKCommandBuffer (const RV_VKCommandBuffer &)=delete | |
RV_VKCommandBuffer & | operator= (const RV_VKCommandBuffer &)=delete |
Static Public Member Functions | |
static RV_VKCommandBuffer * | allocate (RV_Instance *inst, RV_VKCommandPool *cmd_pool) |
Public Attributes | |
RV_VKPipelineStateInfo | myPipeState |
Protected Member Functions | |
bool | validateUsedResources (RV_Instance *inst, FILE *out=nullptr) const |
RV_VKCommandBuffer (RV_Instance *inst, RV_VKCommandPool *cmd_pool, VkCommandBuffer cmd_buf, const VkCommandBufferAllocateInfo &info, VkFence fence) | |
Protected Attributes | |
VkCommandBuffer | myVkCmdBuf |
class RV_VKCommandPool * | myCmdPool |
RV_Instance * | myInst = nullptr |
VkCommandBufferLevel | myLevel = VK_COMMAND_BUFFER_LEVEL_PRIMARY |
bool | myIsRecording = false |
VkFence | myCompleteFence |
UT_Array< VkPipelineStageFlags > | myWaitStages |
UT_Array< VkSemaphore > | myWaitSems |
UT_Array< VkPipelineStageFlags > | mySignalStages |
UT_Array< VkSemaphore > | mySignalSems |
UT_Array< Callback > | myCompletionCallbacks |
UT_Array< Callback > | mySubmissionCallbacks |
UT_Array< ResourceInfo > | myImageIDs |
UT_Array< ResourceInfo > | myBufferIDs |
UT_Array< ResourceInfo > | myAccelStructIDs |
UT_Array< ResourceInfo > | mySetIDs |
fpreal | mySubmitTime = 0.f |
UT_Array< UT_StringHolder > | myLogEntries |
Friends | |
class | RV_Instance |
class | RV_VKCommandPool |
class | RV_VKQueue |
Definition at line 36 of file RV_VKCommandBuffer.h.
using RV_VKCommandBuffer::Callback = UT_Function<void(RV_Instance*)> |
Definition at line 67 of file RV_VKCommandBuffer.h.
RV_VKCommandBuffer::~RV_VKCommandBuffer | ( | ) |
|
delete |
|
inlineprotected |
Definition at line 188 of file RV_VKCommandBuffer.h.
Definition at line 99 of file RV_VKCommandBuffer.h.
void RV_VKCommandBuffer::addSignalSemaphore | ( | VkSemaphore | sem, |
VkPipelineStageFlags | stage | ||
) |
Definition at line 104 of file RV_VKCommandBuffer.h.
void RV_VKCommandBuffer::addWaitSemaphore | ( | VkSemaphore | sem, |
VkPipelineStageFlags | stage | ||
) |
|
static |
|
inline |
Definition at line 120 of file RV_VKCommandBuffer.h.
void RV_VKCommandBuffer::beginRecording | ( | ) |
void RV_VKCommandBuffer::endRecording | ( | ) |
|
inline |
Definition at line 49 of file RV_VKCommandBuffer.h.
|
inline |
Definition at line 43 of file RV_VKCommandBuffer.h.
|
inline |
Definition at line 69 of file RV_VKCommandBuffer.h.
|
inline |
Definition at line 87 of file RV_VKCommandBuffer.h.
|
inline |
Definition at line 111 of file RV_VKCommandBuffer.h.
bool RV_VKCommandBuffer::isExecuting | ( | ) |
bool RV_VKCommandBuffer::isRecording | ( | ) | const |
void RV_VKCommandBuffer::logAccelStructUsage | ( | const RV_VKAccelerationStructure * | accel_struct | ) |
void RV_VKCommandBuffer::logBufferUsage | ( | const RV_VKBuffer * | buf | ) |
void RV_VKCommandBuffer::logImageUsage | ( | const RV_VKImage * | img | ) |
void RV_VKCommandBuffer::logSetUsage | ( | const RV_ShaderVariableSet * | set | ) |
|
delete |
|
protected |
bool RV_VKCommandBuffer::waitForFinish | ( | ) |
|
friend |
Definition at line 202 of file RV_VKCommandBuffer.h.
|
friend |
Definition at line 203 of file RV_VKCommandBuffer.h.
|
friend |
Definition at line 204 of file RV_VKCommandBuffer.h.
|
protected |
Definition at line 183 of file RV_VKCommandBuffer.h.
|
protected |
Definition at line 182 of file RV_VKCommandBuffer.h.
|
protected |
Definition at line 147 of file RV_VKCommandBuffer.h.
|
protected |
Definition at line 157 of file RV_VKCommandBuffer.h.
Definition at line 166 of file RV_VKCommandBuffer.h.
|
protected |
Definition at line 181 of file RV_VKCommandBuffer.h.
|
protected |
Definition at line 148 of file RV_VKCommandBuffer.h.
|
protected |
Definition at line 154 of file RV_VKCommandBuffer.h.
|
protected |
Definition at line 151 of file RV_VKCommandBuffer.h.
|
protected |
Definition at line 186 of file RV_VKCommandBuffer.h.
RV_VKPipelineStateInfo RV_VKCommandBuffer::myPipeState |
Definition at line 139 of file RV_VKCommandBuffer.h.
|
protected |
Definition at line 184 of file RV_VKCommandBuffer.h.
|
protected |
Definition at line 163 of file RV_VKCommandBuffer.h.
|
protected |
Definition at line 162 of file RV_VKCommandBuffer.h.
Definition at line 167 of file RV_VKCommandBuffer.h.
Definition at line 185 of file RV_VKCommandBuffer.h.
|
protected |
Definition at line 146 of file RV_VKCommandBuffer.h.
|
protected |
Definition at line 160 of file RV_VKCommandBuffer.h.
|
protected |
Definition at line 159 of file RV_VKCommandBuffer.h.