|
Nebula
|
#include <vksubcontexthandler.h>
Classes | |
| struct | SparseBindSubmission |
| struct | SubmissionList |
| struct | TimelineSubmission |
| struct | TimelineSubmission2 |
Public Member Functions | |
| VkSubContextHandler () | |
| constructor | |
| ~VkSubContextHandler () | |
| destructor | |
| void | Setup (VkDevice dev, const Util::FixedArray< Util::Pair< uint, uint > > indexMap) |
| setup subcontext handler | |
| void | Discard () |
| discard | |
| void | SetToNextContext (const CoreGraphics::QueueType type) |
| set to next context of type | |
| uint64_t | AppendSubmissionTimeline (CoreGraphics::QueueType type, VkCommandBuffer cmds, Util::Array< CoreGraphics::SubmissionWaitEvent, 8 > waitEvents) |
| append submission to context to execute later, supports waiting for a queue | |
| uint64_t | AppendSubmissionTimeline (CoreGraphics::QueueType type, Util::Array< VkCommandBuffer, 16 > cmds, Util::Array< CoreGraphics::SubmissionWaitEvent, 8 > waitEvents) |
| append submissions to context to execute later, supports waiting for a queue | |
| uint64_t | GetNextTimelineIndex (CoreGraphics::QueueType type) |
| Gets the next submission id for a specific queue. | |
| uint64_t | AppendSparseBind (CoreGraphics::QueueType type, const VkImage img, const Util::Array< VkSparseMemoryBind > &opaqueBinds, const Util::Array< VkSparseImageMemoryBind > &pageBinds) |
| append a sparse image bind timeline operation | |
| uint64_t | AppendSparseBind (CoreGraphics::QueueType type, const VkBuffer buf, const Util::Array< VkSparseMemoryBind > &binds) |
| append a sparse buffer bind timeline operation | |
| void | AppendPresentSignal (CoreGraphics::QueueType type, VkSemaphore sem) |
| Append present signal. | |
| void | FlushSubmissions (VkFence fence) |
| Flush submissions. | |
| void | Wait (CoreGraphics::QueueType type, uint64_t index) |
| wait for timeline index | |
| bool | Poll (CoreGraphics::QueueType type, uint64_t index) |
| check to see if timeline index has passed | |
| void | FlushSparseBinds (VkFence fence) |
| flush sparse binds | |
| void | InsertFence (CoreGraphics::QueueType type, VkFence fence) |
| insert fence | |
| void | WaitIdle (const CoreGraphics::QueueType type) |
| wait for a queue to finish working | |
| VkQueue | GetQueue (const CoreGraphics::QueueType type) |
| get current queue | |
Private Member Functions | |
| VkSemaphore | GetSemaphore (const CoreGraphics::QueueType type) |
| uint64_t | GetSemaphoreId (const CoreGraphics::QueueType type) |
| void | IncrementSemaphoreId (const CoreGraphics::QueueType type) |
Private Attributes | |
| VkDevice | device |
| Util::FixedArray< Util::Array< VkQueue > > | queues |
| Util::FixedArray< uint > | currentQueue |
| Util::FixedArray< Util::Array< VkSemaphore > > | semaphores |
| Util::FixedArray< Util::Array< uint64_t > > | semaphoreSubmissionIds |
| Util::FixedArray< Util::Array< TimelineSubmission2, 16 > > | submissions |
| Util::Array< SparseBindSubmission > | sparseBindSubmissions |
| Threading::CriticalSection | submissionLock |
Friends | |
| const VkQueue | GetQueue (const CoreGraphics::QueueType type, const IndexT index) |
| get queue from index and family | |
| Vulkan::VkSubContextHandler::VkSubContextHandler | ( | ) |
constructor
| Vulkan::VkSubContextHandler::~VkSubContextHandler | ( | ) |
destructor
| void Vulkan::VkSubContextHandler::AppendPresentSignal | ( | CoreGraphics::QueueType | type, |
| VkSemaphore | sem ) |
Append present signal.
| uint64_t Vulkan::VkSubContextHandler::AppendSparseBind | ( | CoreGraphics::QueueType | type, |
| const VkBuffer | buf, | ||
| const Util::Array< VkSparseMemoryBind > & | binds ) |
append a sparse buffer bind timeline operation
| uint64_t Vulkan::VkSubContextHandler::AppendSparseBind | ( | CoreGraphics::QueueType | type, |
| const VkImage | img, | ||
| const Util::Array< VkSparseMemoryBind > & | opaqueBinds, | ||
| const Util::Array< VkSparseImageMemoryBind > & | pageBinds ) |
append a sparse image bind timeline operation
| uint64_t Vulkan::VkSubContextHandler::AppendSubmissionTimeline | ( | CoreGraphics::QueueType | type, |
| Util::Array< VkCommandBuffer, 16 > | cmds, | ||
| Util::Array< CoreGraphics::SubmissionWaitEvent, 8 > | waitEvents ) |
append submissions to context to execute later, supports waiting for a queue
| uint64_t Vulkan::VkSubContextHandler::AppendSubmissionTimeline | ( | CoreGraphics::QueueType | type, |
| VkCommandBuffer | cmds, | ||
| Util::Array< CoreGraphics::SubmissionWaitEvent, 8 > | waitEvents ) |
append submission to context to execute later, supports waiting for a queue
| void Vulkan::VkSubContextHandler::Discard | ( | ) |
discard
| void Vulkan::VkSubContextHandler::FlushSparseBinds | ( | VkFence | fence | ) |
flush sparse binds
| void Vulkan::VkSubContextHandler::FlushSubmissions | ( | VkFence | fence | ) |
Flush submissions.
| uint64_t Vulkan::VkSubContextHandler::GetNextTimelineIndex | ( | CoreGraphics::QueueType | type | ) |
Gets the next submission id for a specific queue.
| VkQueue Vulkan::VkSubContextHandler::GetQueue | ( | const CoreGraphics::QueueType | type | ) |
get current queue
|
private |
|
private |
|
private |
| void Vulkan::VkSubContextHandler::InsertFence | ( | CoreGraphics::QueueType | type, |
| VkFence | fence ) |
insert fence
| bool Vulkan::VkSubContextHandler::Poll | ( | CoreGraphics::QueueType | type, |
| uint64_t | index ) |
check to see if timeline index has passed
| void Vulkan::VkSubContextHandler::SetToNextContext | ( | const CoreGraphics::QueueType | type | ) |
set to next context of type
| void Vulkan::VkSubContextHandler::Setup | ( | VkDevice | dev, |
| const Util::FixedArray< Util::Pair< uint, uint > > | indexMap ) |
setup subcontext handler
| void Vulkan::VkSubContextHandler::Wait | ( | CoreGraphics::QueueType | type, |
| uint64_t | index ) |
wait for timeline index
| void Vulkan::VkSubContextHandler::WaitIdle | ( | const CoreGraphics::QueueType | type | ) |
wait for a queue to finish working
|
friend |
get queue from index and family
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |