XII Release 0.1.0
Loading...
Searching...
No Matches
xiiGALQueryVulkan Class Referencefinal
Inheritance diagram for xiiGALQueryVulkan:
[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.
 
XII_ALWAYS_INLINE xiiUInt32 GetQueryPoolIndex (xiiUInt32 uiQueryID) const
 
bool OnBeginQuery (xiiGALCommandListVulkan *pCommandListVulkan)
 
bool OnEndQuery (xiiGALCommandListVulkan *pCommandListVulkan)
 
- 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

 xiiGALQueryVulkan (xiiSharedPtr< xiiGALDeviceVulkan > pDeviceVulkan, 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 xiiGALDeviceVulkan
 
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 xiiGALQueryVulkan::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 xiiGALQueryVulkan::InitPlatform ( )
finaloverrideprotectedvirtual

Implements xiiGALQuery.

◆ Invalidate()

void xiiGALQueryVulkan::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: