Command submission queue. Thread-safe: all submit() and waitIdle() calls are serialized by an internal recursive mutex.
Manual page : Submission queues
|
| 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 |
| |
| std::recursive_mutex & | getMutex () |
| |
| virtual | ~SubmitQueue () = default |
| |
| | SubmitQueue (SubmitQueue &) = delete |
| |
| SubmitQueue & | operator= (const SubmitQueue &) = delete |
| |
| SubmitQueue |
( |
SubmitQueue & |
| ) |
|
|
delete |
| std::recursive_mutex& getMutex |
( |
| ) |
|
|
inline |
| 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
-
| fence | Host/device synchronization fence |
| swapChain | Associated swap chain |
| commandLists | Commands 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
-
| fence | Host/device synchronization fence |
| commandLists | Commands 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
-
| waitSemaphore | GPU semaphore to wait (must be a timeline semaphore) |
| waitStages | Stages to wait. The queue will wait for two incremental values of the semaphore. |
| fence | Host/device synchronization fence |
| swapChain | Associated swap chain |
| commandLists | Commands 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
-
| waitSemaphore | GPU semaphore to wait (must be a timeline semaphore) |
| waitStages | Stage to wait. The queue will wait for two incremental values of the semaphore. |
| commandLists | Commands 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
-
| waitSemaphore | GPU semaphore to wait (must be a timeline semaphore) |
| waitStages | Stages to wait. The queue will wait for two incremental values of the semaphore. |
| signalStage | Stage to wait for signal (Vulkan only) |
| signalSemaphore | GPU semaphore to signal |
| commandLists | Commands 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
-
| waitSemaphore | GPU semaphore to wait |
| waitStage | Stage to wait (Vulkan only) |
| commandLists | Commands 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
-
| waitSemaphore | GPU semaphore to wait |
| waitStage | Stage to wait (Vulkan only) |
| fence | Host/device synchronization fence |
| swapChain | Associated swap chain |
| commandLists | Commands 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
-
| waitSemaphore | GPU semaphore to wait |
| waitStage | Stage to wait (Vulkan only) |
| signalStage | Stage to wait for signal (Vulkan only) |
| signalSemaphore | GPU semaphore to signal |
| commandLists | Commands to execute |
| virtual void submit |
( |
const std::vector< std::shared_ptr< const CommandList >> & |
commandLists | ) |
const |
|
pure virtual |
Submit commands without synchronization
- Parameters
-
| commandLists | Commands 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
-
| signalSemaphore | GPU semaphore to signal |
| signalStage | Stage to wait for signal (Vulkan only). |
| commandLists | Commands to execute |
| virtual void waitIdle |
( |
| ) |
const |
|
pure virtual |
Wait for all commands to be executed
| std::recursive_mutex submitMutex |
|
mutableprotected |