#include <vkscheduler.h>
|
| enum | CommandPass {
OnBeginFrame
, OnEndFrame
, OnBeginPass
, OnNextSubpass
,
OnEndPass
, OnMainTransferSubmitted
, OnMainDrawSubmitted
, OnMainComputeSubmitted
,
OnBeginTransferThread
, OnBeginDrawThread
, OnBeginComputeThread
, OnTransferThreadsSubmitted
,
OnDrawThreadsSubmitted
, OnComputeThreadsSubmitted
, OnHandleTransferFences
, OnHandleDrawFences
,
OnHandleComputeFences
, OnHandleSparseFences
, OnHandleFences
, OnBindGraphicsPipeline
,
OnBindComputePipeline
, NumCommandPasses
} |
| |
|
| | VkScheduler () |
| | constructor
|
| |
| virtual | ~VkScheduler () |
| | destructor
|
| |
| void | PushImageLayoutTransition (CoreGraphicsQueueType queue, CoreGraphics::BarrierStage left, CoreGraphics::BarrierStage right, VkImageMemoryBarrier barrier) |
| | push image layout change
|
| |
| void | PushImageOwnershipChange (CoreGraphicsQueueType queue, CoreGraphics::BarrierStage left, CoreGraphics::BarrierStage right, VkImageMemoryBarrier barrier) |
| | push transition image ownership transition
|
| |
| void | PushImageColorClear (const VkImage &image, const CoreGraphicsQueueType queue, VkImageLayout layout, VkClearColorValue clearValue, VkImageSubresourceRange subres) |
| | push image color clear
|
| |
| void | PushImageDepthStencilClear (const VkImage &image, const CoreGraphicsQueueType queue, VkImageLayout layout, VkClearDepthStencilValue clearValue, VkImageSubresourceRange subres) |
| | push image depth stencil clear
|
| |
| void | PushImageUpdate (const VkImage &img, const VkImageCreateInfo &info, uint32_t mip, uint32_t face, VkDeviceSize size, uint32_t *data) |
| | setup staging image update for later execution
|
| |
| void | ExecuteCommandPass (const CommandPass &pass) |
| | execute stacked commands
|
| |
| void | SetDevice (const VkDevice dev) |
| | set device to be used by this scheduler
|
| |
| void | Begin () |
| | begin new cycle for all queues
|
| |
| void | EndTransfers () |
| | end cycle for transfers
|
| |
| void | EndDraws () |
| | end cycle for draws
|
| |
| void | EndComputes () |
| | end cycle for computes
|
| |
| void | Discard () |
| | discard scheduler
|
| |
◆ CommandPass
| Enumerator |
|---|
| OnBeginFrame | |
| OnEndFrame | |
| OnBeginPass | |
| OnNextSubpass | |
| OnEndPass | |
| OnMainTransferSubmitted | |
| OnMainDrawSubmitted | |
| OnMainComputeSubmitted | |
| OnBeginTransferThread | |
| OnBeginDrawThread | |
| OnBeginComputeThread | |
| OnTransferThreadsSubmitted | |
| OnDrawThreadsSubmitted | |
| OnComputeThreadsSubmitted | |
| OnHandleTransferFences | |
| OnHandleDrawFences | |
| OnHandleComputeFences | |
| OnHandleSparseFences | |
| OnHandleFences | |
| OnBindGraphicsPipeline | |
| OnBindComputePipeline | |
| NumCommandPasses | |
◆ VkScheduler()
| Vulkan::VkScheduler::VkScheduler |
( |
| ) |
|
◆ ~VkScheduler()
| Vulkan::VkScheduler::~VkScheduler |
( |
| ) |
|
|
virtual |
◆ __DeclareSingleton()
| Vulkan::VkScheduler::__DeclareSingleton |
( |
VkScheduler | | ) |
|
|
private |
◆ Begin()
| void Vulkan::VkScheduler::Begin |
( |
| ) |
|
begin new cycle for all queues
◆ Discard()
| void Vulkan::VkScheduler::Discard |
( |
| ) |
|
◆ EndComputes()
| void Vulkan::VkScheduler::EndComputes |
( |
| ) |
|
◆ EndDraws()
| void Vulkan::VkScheduler::EndDraws |
( |
| ) |
|
◆ EndTransfers()
| void Vulkan::VkScheduler::EndTransfers |
( |
| ) |
|
◆ ExecuteCommandPass()
| void Vulkan::VkScheduler::ExecuteCommandPass |
( |
const CommandPass & | pass | ) |
|
◆ PushCommand()
◆ PushImageColorClear()
| void Vulkan::VkScheduler::PushImageColorClear |
( |
const VkImage & | image, |
|
|
const CoreGraphicsQueueType | queue, |
|
|
VkImageLayout | layout, |
|
|
VkClearColorValue | clearValue, |
|
|
VkImageSubresourceRange | subres ) |
◆ PushImageDepthStencilClear()
| void Vulkan::VkScheduler::PushImageDepthStencilClear |
( |
const VkImage & | image, |
|
|
const CoreGraphicsQueueType | queue, |
|
|
VkImageLayout | layout, |
|
|
VkClearDepthStencilValue | clearValue, |
|
|
VkImageSubresourceRange | subres ) |
push image depth stencil clear
◆ PushImageLayoutTransition()
| void Vulkan::VkScheduler::PushImageLayoutTransition |
( |
CoreGraphicsQueueType | queue, |
|
|
CoreGraphics::BarrierStage | left, |
|
|
CoreGraphics::BarrierStage | right, |
|
|
VkImageMemoryBarrier | barrier ) |
◆ PushImageOwnershipChange()
| void Vulkan::VkScheduler::PushImageOwnershipChange |
( |
CoreGraphicsQueueType | queue, |
|
|
CoreGraphics::BarrierStage | left, |
|
|
CoreGraphics::BarrierStage | right, |
|
|
VkImageMemoryBarrier | barrier ) |
push transition image ownership transition
◆ PushImageUpdate()
| void Vulkan::VkScheduler::PushImageUpdate |
( |
const VkImage & | img, |
|
|
const VkImageCreateInfo & | info, |
|
|
uint32_t | mip, |
|
|
uint32_t | face, |
|
|
VkDeviceSize | size, |
|
|
uint32_t * | data ) |
setup staging image update for later execution
◆ SetDevice()
| void Vulkan::VkScheduler::SetDevice |
( |
const VkDevice | dev | ) |
|
|
inline |
set device to be used by this scheduler
◆ BindDescriptorsCompute
| void BindDescriptorsCompute |
( |
const VkDescriptorSet * | descriptors, |
|
|
uint32_t | baseSet, |
|
|
uint32_t | setCount, |
|
|
const uint32_t * | offsets, |
|
|
uint32_t | offsetCount ) |
|
friend |
◆ BindDescriptorsGraphics
| void BindDescriptorsGraphics |
( |
const VkDescriptorSet * | descriptors, |
|
|
uint32_t | baseSet, |
|
|
uint32_t | setCount, |
|
|
const uint32_t * | offsets, |
|
|
uint32_t | offsetCount, |
|
|
bool | shared ) |
|
friend |
◆ EndDrawSubpass
◆ EndDrawThreads
◆ VkUtilities
◆ commands
◆ computeFenceCommands
◆ dev
| VkDevice Vulkan::VkScheduler::dev |
|
private |
◆ drawFenceCommands
◆ putComputeFenceThisFrame
| bool Vulkan::VkScheduler::putComputeFenceThisFrame |
|
private |
◆ putDrawFenceThisFrame
| bool Vulkan::VkScheduler::putDrawFenceThisFrame |
|
private |
◆ putSparseFenceThisFrame
| bool Vulkan::VkScheduler::putSparseFenceThisFrame |
|
private |
◆ putTransferFenceThisFrame
| bool Vulkan::VkScheduler::putTransferFenceThisFrame |
|
private |
◆ sparseFenceCommands
◆ transferFenceCommands
The documentation for this class was generated from the following files: