XII Release 0.1.0
Loading...
Searching...
No Matches
xiiGALQueryD3D12 Class Referencefinal
Inheritance diagram for xiiGALQueryD3D12:
[legend]

Public Member Functions

virtual bool GetData (void *pData, xiiUInt32 uiDataSize, bool bAutoInvalidate=true) override final
 This retrieves the query data.
 
virtual void Invalidate () override final
 This invalidates the query and releases the associated resources.
 
- Public Member Functions inherited from xiiGALQuery
XII_ALWAYS_INLINE const xiiGALQueryCreationDescriptionGetDescription () const
 This returns the creation description for this object.
 
XII_ALWAYS_INLINE xiiGALQuery::QueryState GetQueryState () const
 This retrieves the current query state.
 
- Public Member Functions inherited from xiiGALDeviceObject
XII_ALWAYS_INLINE xiiSharedPtr< xiiGALDeviceGetDevice () const
 Returns the xiiGALDevice that created this resource.
 
- 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 xiiRTTIGetDynamicRTTI () 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.
 
xiiUInt32 ReleaseRef () const
 Decrements the reference counter. Returns the new reference count.
 
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

 xiiGALQueryD3D12 (xiiSharedPtr< xiiGALDeviceD3D12 > pDeviceD3D12, const xiiGALQueryCreationDescription &creationDescription)
 
virtual xiiResult InitPlatform () override final
 
- Protected Member Functions inherited from xiiGALQuery
 xiiGALQuery (xiiSharedPtr< xiiGALDevice > pDevice, const xiiGALQueryCreationDescription &creationDescription)
 
void OnBeginQuery (xiiGALCommandList *pCommandList)
 
void OnEndQuery (xiiGALCommandList *pCommandList)
 
void CheckQueryDataPtr (void *pData, xiiUInt32 uiDataSize)
 
- Protected Member Functions inherited from xiiGALDeviceObject
 xiiGALDeviceObject (xiiSharedPtr< xiiGALDevice > pDevice)
 
- Protected Member Functions inherited from xiiGALObject
virtual XII_ALWAYS_INLINE void SetDebugNamePlatform (xiiStringView sName) const
 

Friends

class xiiGALDeviceD3D12
 
class xiiMemoryUtils
 

Additional Inherited Members

- Public Types inherited from xiiGALQuery
enum class  QueryState { Inactive , Querying , Ended }
 
- Static Public Member Functions inherited from xiiNoBase
static const xiiRTTIGetStaticRTTI ()
 
- Protected Attributes inherited from xiiGALQuery
xiiGALQueryCreationDescription m_Description
 
xiiGALCommandListm_pCommandList = nullptr
 
QueryState m_QueryState = QueryState::Inactive
 
- Protected Attributes inherited from xiiGALDeviceObject
xiiSharedPtr< xiiGALDevicem_pDevice
 

Member Function Documentation

◆ GetData()

bool xiiGALQueryD3D12::GetData ( void * pData,
xiiUInt32 uiDataSize,
bool bAutoInvalidate = true )
finaloverridevirtual

This retrieves the query data.

Parameters
pData- The pointer to the query data structure. This must be a pointer to one of Occlusion, BinaryOcclusion, Timestamp, PipelineStatistics, and Duration structures. An application may provide nullptr to only check the query status.
uiDataSize- The size of the data structure.
bAutoInvalidate- Whether to invalidate the query if the results are available and release associated resources. An application should typically always invalidate completed queries unless it needs to retrieve the same data through GetData() multiple times. A query will not be invalidated if pData is nullptr.
Returns
True if the query data is available, false otherwise.
Note
In Direct3D11 backend timestamp queries will only be available after FinishFrame is called for the frame in which they were collected. If AutoInvalidate is set to true, and the data have been retrieved, an application must not call GetData() until it begins and ends the query again.

Implements xiiGALQuery.

◆ InitPlatform()

xiiResult xiiGALQueryD3D12::InitPlatform ( )
finaloverrideprotectedvirtual

Implements xiiGALQuery.

◆ Invalidate()

void xiiGALQueryD3D12::Invalidate ( )
finaloverridevirtual

This invalidates the query and releases the associated resources.

Reimplemented from xiiGALQuery.


The documentation for this class was generated from the following files: