![]() |
XII Release 0.1.0
|
Interface that defines methods to manipulate a query object. More...
#include <Query.h>
Public Types | |
enum class | QueryState { Inactive , Querying , Ended } |
Public Member Functions | |
XII_ALWAYS_INLINE const xiiGALQueryCreationDescription & | GetDescription () const |
This returns the creation description for this object. | |
virtual bool | GetData (void *pData, xiiUInt32 uiDataSize, bool bAutoInvalidate=true)=0 |
This retrieves the query data. | |
virtual void | Invalidate () |
This invalidates the query and releases the associated resources. | |
XII_ALWAYS_INLINE xiiGALQuery::QueryState | GetQueryState () const |
This retrieves the current query state. | |
![]() | |
XII_ALWAYS_INLINE xiiSharedPtr< xiiGALDevice > | GetDevice () const |
Returns the xiiGALDevice that created this resource. | |
![]() | |
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. | |
![]() | |
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. | |
![]() | |
virtual | ~xiiRefCounted ()=default |
Adds a virtual destructor. | |
![]() | |
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 | |
xiiGALQuery (xiiSharedPtr< xiiGALDevice > pDevice, const xiiGALQueryCreationDescription &creationDescription) | |
virtual xiiResult | InitPlatform ()=0 |
void | OnBeginQuery (xiiGALCommandList *pCommandList) |
void | OnEndQuery (xiiGALCommandList *pCommandList) |
void | CheckQueryDataPtr (void *pData, xiiUInt32 uiDataSize) |
![]() | |
xiiGALDeviceObject (xiiSharedPtr< xiiGALDevice > pDevice) | |
![]() | |
virtual XII_ALWAYS_INLINE void | SetDebugNamePlatform (xiiStringView sName) const |
Protected Attributes | |
xiiGALQueryCreationDescription | m_Description |
xiiGALCommandList * | m_pCommandList = nullptr |
QueryState | m_QueryState = QueryState::Inactive |
![]() | |
xiiSharedPtr< xiiGALDevice > | m_pDevice |
Friends | |
class | xiiGALDevice |
class | xiiMemoryUtils |
class | xiiGALCommandList |
Additional Inherited Members | |
![]() | |
static const xiiRTTI * | GetStaticRTTI () |
Interface that defines methods to manipulate a query object.
|
strong |
|
nodiscardpure virtual |
This retrieves the query data.
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. |
Implemented in xiiGALQueryVulkan.
|
virtual |
This invalidates the query and releases the associated resources.
Reimplemented in xiiGALQueryVulkan.