XII Release 0.1.0
Loading...
Searching...
No Matches
xiiGALCommandQueue Class Referenceabstract

Interface that defines methods to manipulate a command queue object. More...

#include <CommandQueue.h>

Inheritance diagram for xiiGALCommandQueue:
[legend]

Public Member Functions

XII_ALWAYS_INLINE const xiiGALCommandQueueCreationDescription & GetDescription () const
 This returns the creation description for this object.
XII_ALWAYS_INLINE xiiGALDevice * GetDevice () const
 This returns the device for this object.
virtual xiiUInt64 GetNextFenceValue () const =0
 This returns the value of the internal fence that will be signaled the next time.
virtual xiiUInt64 GetCompletedFenceValue ()=0
 This returns the last completed value of the internal fence.
virtual void WaitForFenceValue (xiiUInt64 uiFenceValue)
virtual xiiUInt64 Submit (xiiGALCommandList *pCommandList)
virtual xiiUInt64 WaitForIdle ()=0
 This blocks execution until all pending GPU commands are complete.
Public Member Functions inherited from xiiGALObject
XII_ALWAYS_INLINE xiiStringView GetDebugName () const
 Returns the debug name of this resource.
void SetDebugName (xiiStringView sDebugName) const
 Sets the debug name for this resource.
Public Member Functions inherited from xiiReflectedClass
virtual const xiiRTTI * GetDynamicRTTI () const
bool IsInstanceOf (const xiiRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
template<typename T>
XII_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.
Public Member Functions inherited from xiiRefCounted
virtual ~xiiRefCounted ()=default
 Adds a virtual destructor.
Public Member Functions inherited from xiiRefCountingImpl
 xiiRefCountingImpl ()=default
 Constructor.
 xiiRefCountingImpl (const xiiRefCountingImpl &rhs)
void operator= (const xiiRefCountingImpl &rhs)
xiiUInt32 AddRef () const
 Increments the reference counter. Returns the new reference count.
bool TryAddRef () const
xiiUInt32 ReleaseRef () const
 Decrements the reference counter. Returns the new reference count.ywat.
bool IsReferenced () const
 Returns true if the reference count is greater than 0, false otherwise.
xiiUInt32 GetRefCount () const
 Returns the current reference count.

Protected Member Functions

 xiiGALCommandQueue (xiiGALDevice *pDevice, const xiiGALCommandQueueCreationDescription &creationDescription)
virtual xiiUInt64 SubmitPlatform (xiiGALCommandList *pCommandList)=0
Protected Member Functions inherited from xiiGALObject
 xiiGALObject ()
 Copyright (c) Theophilus Eriata. All Rights Reserved.
virtual XII_ALWAYS_INLINE void SetDebugNamePlatform (xiiStringView sName) const

Protected Attributes

xiiGALCommandQueueCreationDescription m_Description
xiiGALDevice * m_pDevice

Friends

class xiiGALDevice

Additional Inherited Members

Static Public Member Functions inherited from xiiNoBase
static const xiiRTTI * GetStaticRTTI ()

Detailed Description

Interface that defines methods to manipulate a command queue object.

Member Function Documentation

◆ GetCompletedFenceValue()

virtual xiiUInt64 xiiGALCommandQueue::GetCompletedFenceValue ( )
pure virtual

This returns the last completed value of the internal fence.

Implemented in xiiGALCommandQueueD3D12, and xiiGALCommandQueueVulkan.

◆ GetNextFenceValue()

virtual xiiUInt64 xiiGALCommandQueue::GetNextFenceValue ( ) const
pure virtual

This returns the value of the internal fence that will be signaled the next time.

Implemented in xiiGALCommandQueueD3D12, and xiiGALCommandQueueVulkan.

◆ Submit()

xiiUInt64 xiiGALCommandQueue::Submit ( xiiGALCommandList * pCommandList)
virtual

Submits a recorded command list to the GPU queue for execution.

Note
Command list must be compatible with the queue's flag configuration. Invalid or misconfigured lists may trigger assertions in development builds.
Parameters
pCommandList- The command list to be submitted. Must not be null. Its recording state must be 'Ended' or 'Recording'.
Returns
The fence value that can be used to query GPU completion status for this submission.

◆ WaitForFenceValue()

void xiiGALCommandQueue::WaitForFenceValue ( xiiUInt64 uiFenceValue)
virtual

Blocks the calling thread until the queue's internal fence reaches the requested value. Backends should override this with an exact fence wait. The default implementation falls back to draining the queue, which preserves correctness for backends without fine-grained waits.

Reimplemented in xiiGALCommandQueueVulkan.

◆ WaitForIdle()

virtual xiiUInt64 xiiGALCommandQueue::WaitForIdle ( )
pure virtual

This blocks execution until all pending GPU commands are complete.

Implemented in xiiGALCommandQueueD3D12, and xiiGALCommandQueueVulkan.


The documentation for this class was generated from the following files:
  • /home/runner/work/XII/XII/Source/Engine/GraphicsFoundation/CommandEncoder/CommandQueue.h
  • /home/runner/work/XII/XII/Source/Engine/GraphicsFoundation/CommandEncoder/Implementation/CommandQueue.cpp