![]() |
Pyrogenesis HEAD
Pyrogenesis, a RTS Engine
|
A helper class to batch VkQueueSubmit calls and track VkCommandBuffer usages properly. More...
#include <SubmitScheduler.h>

Classes | |
| struct | Fence |
| struct | FrameObject |
| struct | SubmittedHandle |
Public Types | |
| using | SubmitHandle = uint32_t |
Public Member Functions | |
| CSubmitScheduler (CDevice *device, const uint32_t queueFamilyIndex, VkQueue queue) | |
| ~CSubmitScheduler () | |
| bool | AcquireNextImage (CSwapChain &swapChain) |
| void | Present (CSwapChain &swapChain) |
| SubmitHandle | Submit (VkCommandBuffer commandBuffer) |
| void | WaitUntilFree (const SubmitHandle handle) |
| uint32_t | GetFrameID () const |
| void | Flush () |
Static Public Attributes | |
| static constexpr SubmitHandle | INVALID_SUBMIT_HANDLE = 0 |
Private Attributes | |
| CDevice * | m_Device = nullptr |
| VkQueue | m_Queue = VK_NULL_HANDLE |
| std::vector< Fence > | m_Fences |
| uint32_t | m_FenceIndex = 0 |
| uint32_t | m_FrameID = 0 |
| SubmitHandle | m_CurrentHandle = INVALID_SUBMIT_HANDLE + 1 |
| std::queue< SubmittedHandle > | m_SubmittedHandles |
| std::array< FrameObject, NUMBER_OF_FRAMES_IN_FLIGHT > | m_FrameObjects |
| VkSemaphore | m_NextWaitSemaphore = VK_NULL_HANDLE |
| VkPipelineStageFlags | m_NextWaitDstStageMask = 0 |
| VkSemaphore | m_NextSubmitSignalSemaphore = VK_NULL_HANDLE |
| std::vector< VkCommandBuffer > | m_SubmittedCommandBuffers |
| std::unique_ptr< CRingCommandContext > | m_AcquireCommandContext |
| std::unique_ptr< CRingCommandContext > | m_PresentCommandContext |
| bool | m_DebugWaitIdleBeforeAcquire = false |
| bool | m_DebugWaitIdleBeforePresent = false |
| bool | m_DebugWaitIdleAfterPresent = false |
A helper class to batch VkQueueSubmit calls and track VkCommandBuffer usages properly.
| Renderer::Backend::Vulkan::CSubmitScheduler::CSubmitScheduler | ( | CDevice * | device, |
| const uint32_t | queueFamilyIndex, | ||
| VkQueue | queue | ||
| ) |
| Renderer::Backend::Vulkan::CSubmitScheduler::~CSubmitScheduler | ( | ) |
| bool Renderer::Backend::Vulkan::CSubmitScheduler::AcquireNextImage | ( | CSwapChain & | swapChain | ) |
| void Renderer::Backend::Vulkan::CSubmitScheduler::Flush | ( | ) |
|
inline |
| void Renderer::Backend::Vulkan::CSubmitScheduler::Present | ( | CSwapChain & | swapChain | ) |
| CSubmitScheduler::SubmitHandle Renderer::Backend::Vulkan::CSubmitScheduler::Submit | ( | VkCommandBuffer | commandBuffer | ) |
| void Renderer::Backend::Vulkan::CSubmitScheduler::WaitUntilFree | ( | const SubmitHandle | handle | ) |
|
staticconstexpr |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |