Rasterfarm-SDK
|
#include <commandbuffer.h>
Public Member Functions | |
PrimaryCommandBuffer (RenderBuffer *pRenderBuffer, VkFramebuffer framebuffer=VK_NULL_HANDLE) | |
virtual | ~PrimaryCommandBuffer () |
virtual void | begin () |
virtual void | end () |
virtual void | reset () |
void | setFrameBufferHandle (VkFramebuffer framebuffer) |
void | reserveCommandBuffers (uint size) |
SecondaryCommandBuffer * | getNextSecondaryCommandBuffer () |
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 |
Public Member Functions inherited from Engine::MasterLock | |
MasterLock () | |
void | lock () |
void | wait () |
void | unlock () |
bool | isLocked () |
Protected Attributes | |
RenderBuffer * | pRenderBuffer |
VkFramebuffer | frameBuffer |
Queue< SecondaryCommandBuffer * > | resetCommandBuffer |
Queue< SecondaryCommandBuffer * > | recordingCommandBuffer |
Queue< SecondaryCommandBuffer * > | pendingCommandBuffer |
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 | RenderBuffer |
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 |
Engine::PrimaryCommandBuffer::PrimaryCommandBuffer | ( | RenderBuffer * | pRenderBuffer, |
VkFramebuffer | framebuffer = VK_NULL_HANDLE ) |
A Primary command-buffer. All Commands are exectuted in SubCommandBuffer objects. Allocation is done upon construction.
The | command-pool that this and all SubCommandBuffer objects will be allocated from. |
The | render-pass that all SubCommandBuffer objects will render-to. |
|
virtual |
|
virtual |
Starts the render-pass for the respective framebuffer.
Reimplemented from Engine::CommandBuffer.
|
virtual |
Ends the render-pass for the respective framebuffer.
Reimplemented from Engine::CommandBuffer.
SecondaryCommandBuffer * Engine::PrimaryCommandBuffer::getNextSecondaryCommandBuffer | ( | ) |
A RESET secondary command-buffer will be returned from the queue or allocated internally. The life-cycle for the SubCommandBuffer object is managed by this class.
void Engine::PrimaryCommandBuffer::reserveCommandBuffers | ( | uint | size | ) |
|
virtual |
Reimplemented from Engine::CommandBuffer.
void Engine::PrimaryCommandBuffer::setFrameBufferHandle | ( | VkFramebuffer | framebuffer | ) |
|
friend |
|
protected |
|
protected |
Dispatched CommandBuffers in PENDING state.
|
protected |
|
protected |
Dispatched CommandBuffers in RECORDING state.
|
protected |
CommandBuffer objects in RESET state ready for dispatch.