XII Release 0.1.0
Loading...
Searching...
No Matches
xiiGALQueryVulkan Class Referencefinal

Copyright (c) Theophilus Eriata. All Rights Reserved. More...

#include <QueryVulkan.h>

Inheritance diagram for xiiGALQueryVulkan:
[legend]

Public Member Functions

virtual bool GetData (void *pData, xiiUInt32 uiDataSize, bool bAutoInvalidate=true) override final
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 xiiGALQueryCreationDescription & GetDescription () 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< xiiGALDevice > GetDevice () const
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

 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)
 Copyright (c) Theophilus Eriata. All Rights Reserved.
Protected Member Functions inherited from xiiGALObject
 xiiGALObject ()
 Copyright (c) Theophilus Eriata. All Rights Reserved.
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 xiiRTTI * GetStaticRTTI ()
Protected Attributes inherited from xiiGALQuery
xiiGALQueryCreationDescription m_Description
xiiGALCommandList * m_pCommandList = nullptr
QueryState m_QueryState = QueryState::Inactive
Protected Attributes inherited from xiiGALDeviceObject
xiiSharedPtr< xiiGALDevice > m_pDevice

Detailed Description

Copyright (c) Theophilus Eriata. All Rights Reserved.

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:
  • /home/runner/work/XII/XII/Source/Engine/GraphicsVulkan/Resources/QueryVulkan.h
  • /home/runner/work/XII/XII/Source/Engine/GraphicsVulkan/Resources/Implementation/QueryVulkan.cpp