|
virtual command_queue_type | get_type () const =0 |
| Gets the type of the command queue, which specifies what commands can be executed on it. More...
|
|
virtual void | wait_idle () const =0 |
| Waits for all issued GPU operations on this queue to finish before returning. This can be used to ensure that e.g. resources are no longer in use on the GPU before destroying them. More...
|
|
virtual void | flush_immediate_command_list () const =0 |
| Flushes and executes the special immediate command list returned by get_immediate_command_list immediately. This can be used to force commands to execute right away instead of waiting for the runtime to flush it automatically at some point. More...
|
|
virtual command_list * | get_immediate_command_list ()=0 |
| Gets a special command list, on which all issued commands are executed as soon as possible (or right before the application executes its next command list on this queue). This only exists on command queues that contain the command_queue_type::graphics flag, on other queues nullptr is returned. More...
|
|
virtual void | begin_debug_event (const char *label, const float color[4]=nullptr)=0 |
| Opens a debug event region in the command queue. More...
|
|
virtual void | end_debug_event ()=0 |
| Closes the current debug event region (the last one opened with begin_debug_event). More...
|
|
virtual void | insert_debug_marker (const char *label, const float color[4]=nullptr)=0 |
| Inserts a debug marker into the command queue. More...
|
|
virtual bool | wait (fence fence, uint64_t value)=0 |
| Queues a GPU-side wait until the specified fence reaches the specified value and returns immediately. More...
|
|
virtual bool | signal (fence fence, uint64_t value)=0 |
| Queues a GPU-side update of the specified fence to the specified value after previous operations finished executing. More...
|
|
virtual uint64_t | get_timestamp_frequency () const =0 |
| Queries the GPU timestamp frequency in ticks per second. More...
|
|
virtual device * | get_device ()=0 |
| Gets the parent device for this object. More...
|
|
virtual uint64_t | get_native () const =0 |
| Gets the underlying native object for this API object. More...
|
|
virtual void | get_private_data (const uint8_t guid[16], uint64_t *data) const =0 |
| Gets a user-defined 64-bit value from the object that was previously set via set_private_data, or zero if none associated with the specified guid exists. More...
|
|
virtual void | set_private_data (const uint8_t guid[16], const uint64_t data)=0 |
| Stores a user-defined 64-bit value in the object and associates it with the specified guid . More...
|
|
template<typename T > |
T & | get_private_data () const |
| Gets a reference to user-defined data from the object that was previously allocated via create_private_data. More...
|
|
template<typename T , typename... Args> |
T & | create_private_data (Args &&... args) |
| Allocates user-defined data and stores it in the object. More...
|
|
template<typename T > |
void | destroy_private_data () |
| Frees user-defined data that was previously allocated via create_private_data. More...
|
|
A command queue, used to execute command lists on the GPU.
Functionally equivalent to the immediate 'ID3D11DeviceContext' or a 'ID3D12CommandQueue' or 'VkQueue'.
This class may NOT be used concurrently from multiple threads!