Command queue interface.
More...
#include <CommandQueue.h>
|
| virtual void | Submit (CommandBuffer &commandBuffer)=0 |
| | Submits the specified command buffer to the command queue.
|
| virtual bool | QueryResult (QueryHeap &queryHeap, std::uint32_t firstQuery, std::uint32_t numQueries, void *data, std::size_t dataSize)=0 |
| | Retrieves the result of the specified query objects.
|
| virtual void | Submit (Fence &fence)=0 |
| | Submits the specified fence to the command queue for CPU/GPU synchronization.
|
| virtual bool | WaitFence (Fence &fence, std::uint64_t timeout)=0 |
| | Blocks the CPU execution until the specified fence has been signaled.
|
| virtual void | WaitIdle ()=0 |
| | Blocks the CPU execution until the entire GPU command queue has been completed.
|
| virtual void | SetDebugName (const char *name) |
| | Sets the name of this class instance for debugging purposes.
|
| virtual bool | IsInstanceOf (int id) const |
| | Returns true if this object is an instance of the specified interface.
|
| | NonCopyable (const NonCopyable &)=delete |
| NonCopyable & | operator= (const NonCopyable &)=delete |
| virtual | ~NonCopyable ()=default |
◆ CommandQueue()
| LLGL::CommandQueue::CommandQueue |
( |
| ) |
|
|
protecteddefault |
◆ QueryResult()
| virtual bool LLGL::CommandQueue::QueryResult |
( |
QueryHeap & | queryHeap, |
|
|
std::uint32_t | firstQuery, |
|
|
std::uint32_t | numQueries, |
|
|
void * | data, |
|
|
std::size_t | dataSize ) |
|
pure virtual |
Retrieves the result of the specified query objects.
- Parameters
-
| [in] | queryHeap | Specifies the query heap. |
| [in] | firstQuery | Specifies the zero-based index of the first query within the heap. This must be in the half-open range [0, QueryHeapDescriptor::numQueries). |
| [in] | numQueries | Specifies the number of queries to retrieve the result from. This must be less than or equal to (QueryHeapDescriptor::numQueries - firstQuery) and it must not be zero. |
| [out] | data | Specifies the pointer to the output data. This must be a valid pointer to an array of numQueries entries. The array entries must have one of the following types:
- std::uint32_t
- std::uint64_t
- QueryPipelineStatistics If the function return false, the content of this array is undefined.
|
| [in] | dataSize | Specifies the size (in bytes) of the output data. This must be equal to numQueries * sizeof(T) where T is the type of the query entries described above. |
- Returns
- True, if all results are available. Otherwise, the results are (partially) unavailable and the content of the output data is undefined.
◆ Submit() [1/2]
| virtual void LLGL::CommandQueue::Submit |
( |
CommandBuffer & | commandBuffer | ) |
|
|
pure virtual |
◆ Submit() [2/2]
| virtual void LLGL::CommandQueue::Submit |
( |
Fence & | fence | ) |
|
|
pure virtual |
Submits the specified fence to the command queue for CPU/GPU synchronization.
◆ WaitFence()
| virtual bool LLGL::CommandQueue::WaitFence |
( |
Fence & | fence, |
|
|
std::uint64_t | timeout ) |
|
pure virtual |
Blocks the CPU execution until the specified fence has been signaled.
- Parameters
-
| [in] | fence | Specifies the fence for which the CPU needs to wait to be signaled. |
| [in] | timeout | Specifies the waiting timeout (in nanoseconds). |
- Returns
- True on success, or false if the fence has a timeout (in nanoseconds) or the device is lost.
- See also
- WaitIdle
◆ WaitIdle()
| virtual void LLGL::CommandQueue::WaitIdle |
( |
| ) |
|
|
pure virtual |
Blocks the CPU execution until the entire GPU command queue has been completed.
- See also
- WaitFence
The documentation for this class was generated from the following file: