Vireo  0.0
Vireo 3D Rendering Hardware Interface
SubmitQueue Class Referenceabstract

Detailed Description

Command submission queue

Manual page : Submission queues

Public Member Functions

virtual void submit (const std::shared_ptr< Fence > &fence, const std::shared_ptr< const SwapChain > &swapChain, const std::vector< std::shared_ptr< const CommandList >> &commandLists) const = 0
 
virtual void submit (const std::shared_ptr< Semaphore > &waitSemaphore, WaitStage waitStage, const std::shared_ptr< Fence > &fence, const std::shared_ptr< const SwapChain > &swapChain, const std::vector< std::shared_ptr< const CommandList >> &commandLists) const = 0
 
virtual void submit (const std::shared_ptr< Semaphore > &waitSemaphore, const std::vector< WaitStage > &waitStages, const std::shared_ptr< Fence > &fence, const std::shared_ptr< const SwapChain > &swapChain, const std::vector< std::shared_ptr< const CommandList >> &commandLists) const = 0
 
virtual void submit (const std::vector< std::shared_ptr< const CommandList >> &commandLists) const = 0
 
virtual void submit (const std::shared_ptr< Fence > &fence, const std::vector< std::shared_ptr< const CommandList >> &commandLists) const = 0
 
virtual void submit (const std::shared_ptr< Semaphore > &waitSemaphore, WaitStage waitStage, WaitStage signalStage, const std::shared_ptr< Semaphore > &signalSemaphore, const std::vector< std::shared_ptr< const CommandList >> &commandLists) const = 0
 
virtual void submit (const std::shared_ptr< Semaphore > &waitSemaphore, const std::vector< WaitStage > &waitStages, WaitStage signalStage, const std::shared_ptr< Semaphore > &signalSemaphore, const std::vector< std::shared_ptr< const CommandList >> &commandLists) const = 0
 
virtual void submit (const std::shared_ptr< Semaphore > &waitSemaphore, const WaitStage waitStage, const std::vector< std::shared_ptr< const CommandList >> &commandLists) const
 
virtual void submit (const std::shared_ptr< Semaphore > &waitSemaphore, const std::vector< WaitStage > &waitStages, const std::vector< std::shared_ptr< const CommandList >> &commandLists) const
 
virtual void submit (const WaitStage signalStage, const std::shared_ptr< Semaphore > &signalSemaphore, const std::vector< std::shared_ptr< const CommandList >> &commandLists) const
 
virtual void waitIdle () const = 0
 
virtual ~SubmitQueue () = default
 
 SubmitQueue (SubmitQueue &) = delete
 
SubmitQueue & operator= (const SubmitQueue &) = delete
 

Protected Member Functions

 SubmitQueue () = default
 

Constructor & Destructor Documentation

virtual ~SubmitQueue ( )
virtualdefault
SubmitQueue ( SubmitQueue &  )
delete
SubmitQueue ( )
protecteddefault

Member Function Documentation

SubmitQueue& operator= ( const SubmitQueue &  )
delete
virtual void submit ( const std::shared_ptr< Fence > &  fence,
const std::shared_ptr< const SwapChain > &  swapChain,
const std::vector< std::shared_ptr< const CommandList >> &  commandLists 
) const
pure virtual

Submit graphics commands and synchronize the host & the device with a fence

Parameters
fenceHost/device synchronization fence
swapChainAssociated swap chain
commandListsCommands to execute
virtual void submit ( const std::shared_ptr< Fence > &  fence,
const std::vector< std::shared_ptr< const CommandList >> &  commandLists 
) const
pure virtual

Submit commands with CPU/GPU synchronization

Parameters
fenceHost/device synchronization fence
commandListsCommands to execute
virtual void submit ( const std::shared_ptr< Semaphore > &  waitSemaphore,
const std::vector< WaitStage > &  waitStages,
const std::shared_ptr< Fence > &  fence,
const std::shared_ptr< const SwapChain > &  swapChain,
const std::vector< std::shared_ptr< const CommandList >> &  commandLists 
) const
pure virtual

Submit graphics commands and synchronize the host & the device with a fence and the GPU operations with a semaphore.

Parameters
waitSemaphoreGPU semaphore to wait (must be a timeline semaphore)
waitStagesStages to wait. The queue will wait for two incremental values of the semaphore.
fenceHost/device synchronization fence
swapChainAssociated swap chain
commandListsCommands to execute
virtual void submit ( const std::shared_ptr< Semaphore > &  waitSemaphore,
const std::vector< WaitStage > &  waitStages,
const std::vector< std::shared_ptr< const CommandList >> &  commandLists 
) const
inlinevirtual

Submit commands with GPU/GPU synchronization

Parameters
waitSemaphoreGPU semaphore to wait (must be a timeline semaphore)
waitStagesStage to wait. The queue will wait for two incremental values of the semaphore.
commandListsCommands to execute
virtual void submit ( const std::shared_ptr< Semaphore > &  waitSemaphore,
const std::vector< WaitStage > &  waitStages,
WaitStage  signalStage,
const std::shared_ptr< Semaphore > &  signalSemaphore,
const std::vector< std::shared_ptr< const CommandList >> &  commandLists 
) const
pure virtual

Submit commands with GPU/GPU synchronization

Parameters
waitSemaphoreGPU semaphore to wait (must be a timeline semaphore)
waitStagesStages to wait. The queue will wait for two incremental values of the semaphore.
signalStageStage to wait for signal (Vulkan only)
signalSemaphoreGPU semaphore to signal
commandListsCommands to execute
virtual void submit ( const std::shared_ptr< Semaphore > &  waitSemaphore,
const WaitStage  waitStage,
const std::vector< std::shared_ptr< const CommandList >> &  commandLists 
) const
inlinevirtual

Submit commands with GPU/GPU synchronization

Parameters
waitSemaphoreGPU semaphore to wait
waitStageStage to wait (Vulkan only)
commandListsCommands to execute
virtual void submit ( const std::shared_ptr< Semaphore > &  waitSemaphore,
WaitStage  waitStage,
const std::shared_ptr< Fence > &  fence,
const std::shared_ptr< const SwapChain > &  swapChain,
const std::vector< std::shared_ptr< const CommandList >> &  commandLists 
) const
pure virtual

Submit graphics commands and synchronize the host & the device with a fence and the GPU operations with a semaphore.

Parameters
waitSemaphoreGPU semaphore to wait
waitStageStage to wait (Vulkan only)
fenceHost/device synchronization fence
swapChainAssociated swap chain
commandListsCommands to execute
virtual void submit ( const std::shared_ptr< Semaphore > &  waitSemaphore,
WaitStage  waitStage,
WaitStage  signalStage,
const std::shared_ptr< Semaphore > &  signalSemaphore,
const std::vector< std::shared_ptr< const CommandList >> &  commandLists 
) const
pure virtual

Submit commands with GPU/GPU synchronization

Parameters
waitSemaphoreGPU semaphore to wait
waitStageStage to wait (Vulkan only)
signalStageStage to wait for signal (Vulkan only)
signalSemaphoreGPU semaphore to signal
commandListsCommands to execute
virtual void submit ( const std::vector< std::shared_ptr< const CommandList >> &  commandLists) const
pure virtual

Submit commands without synchronization

Parameters
commandListsCommands to execute
virtual void submit ( const WaitStage  signalStage,
const std::shared_ptr< Semaphore > &  signalSemaphore,
const std::vector< std::shared_ptr< const CommandList >> &  commandLists 
) const
inlinevirtual

Submit commands with GPU/GPU synchronization

Parameters
signalSemaphoreGPU semaphore to signal
signalStageStage to wait for signal (Vulkan only).
commandListsCommands to execute
virtual void waitIdle ( ) const
pure virtual

Wait for all commands to be executed