#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: