Vireo  0.0
Vireo 3D Rendering Hardware Interface
SubmitQueue Class Referenceabstract

Detailed Description

GPU command submission queue. Created by Vireo.create_submit_queue().

Lua full name: vireo.SubmitQueue

Public Member Functions

nil submit (commandLists: CommandList[])
 Submits command lists with no additional GPU/CPU synchronization. More...
 
nil submit_fence (fence: Fence, commandLists: CommandList[])
 Submits command lists and signals the given CPU fence when the GPU finishes. More...
 
nil submit_fence_swap (fence: Fence, swapChain: SwapChain, commandLists: CommandList[])
 Submits command lists synchronized with a swap-chain present operation; signals the CPU fence on completion. More...
 
nil submit_wait_fence_swap (waitSemaphore: Semaphore, waitStage: WaitStage, fence: Fence, swapChain: SwapChain, commandLists: CommandList[])
 Submits with a GPU wait on waitSemaphore at waitStage, a CPU fence signal, and a swap-chain present. More...
 
nil submit_wait_signal (waitSemaphore: Semaphore, waitStage: WaitStage, signalStage: WaitStage, signalSemaphore: Semaphore, commandLists: CommandList[])
 Submits with GPU/GPU synchronization: waits on waitSemaphore at waitStage, then signals signalSemaphore at signalStage. More...
 
nil submit_wait (waitSemaphore: Semaphore, waitStage: WaitStage, commandLists: CommandList[])
 Submits after waiting on a GPU semaphore at the given pipeline stage. More...
 
nil submit_signal (signalStage: WaitStage, signalSemaphore: Semaphore, commandLists: CommandList[])
 Submits and signals a GPU semaphore when the given pipeline stage completes. More...
 
nil wait_idle ()
 Blocks the CPU until all submitted commands on this queue have finished executing. More...
 

Member Function Documentation

nil submit ( CommandList[]  commandLists)

Submits command lists with no additional GPU/CPU synchronization.

Parameters
commandListsCommandList[]
nil submit_fence ( Fence  fence,
CommandList[]  commandLists)

Submits command lists and signals the given CPU fence when the GPU finishes.

Parameters
fenceFence
commandListsCommandList[]
nil submit_fence_swap ( Fence  fence,
SwapChain  swapChain,
CommandList[]  commandLists)

Submits command lists synchronized with a swap-chain present operation; signals the CPU fence on completion.

Parameters
fenceFence
swapChainSwapChain
commandListsCommandList[]
nil submit_wait_fence_swap ( Semaphore  waitSemaphore,
WaitStage  waitStage,
Fence  fence,
SwapChain  swapChain,
CommandList[]  commandLists)

Submits with a GPU wait on waitSemaphore at waitStage, a CPU fence signal, and a swap-chain present.

Parameters
waitSemaphoreSemaphore
waitStageWaitStage
fenceFence
swapChainSwapChain
commandListsCommandList[]
nil submit_wait_signal ( Semaphore  waitSemaphore,
WaitStage  waitStage,
WaitStage  signalStage,
Semaphore  signalSemaphore,
CommandList[]  commandLists)

Submits with GPU/GPU synchronization: waits on waitSemaphore at waitStage, then signals signalSemaphore at signalStage.

Parameters
waitSemaphoreSemaphore
waitStageWaitStage
signalStageWaitStage
signalSemaphoreSemaphore
commandListsCommandList[]
nil submit_wait ( Semaphore  waitSemaphore,
WaitStage  waitStage,
CommandList[]  commandLists)

Submits after waiting on a GPU semaphore at the given pipeline stage.

Parameters
waitSemaphoreSemaphore
waitStageWaitStage
commandListsCommandList[]
nil submit_signal ( WaitStage  signalStage,
Semaphore  signalSemaphore,
CommandList[]  commandLists)

Submits and signals a GPU semaphore when the given pipeline stage completes.

Parameters
signalStageWaitStage
signalSemaphoreSemaphore
commandListsCommandList[]
nil wait_idle ( )

Blocks the CPU until all submitted commands on this queue have finished executing.