#include <QueryPool.h>
Inherits AZ::RHI::DeviceQueryPool.
Public Member Functions | |
| AZ_RTTI (QueryPool, "{46816FA4-3B31-434A-AAE3-037BC889AE73}", Base) | |
| AZ_CLASS_ALLOCATOR (QueryPool, AZ::SystemAllocator) | |
| VkQueryPool | GetNativeQueryPool () const |
| void | ResetQueries (CommandList &commandList, const RHI::Interval &interval) |
Public Member Functions inherited from AZ::RHI::DeviceQueryPool | |
| ResultCode | Init (Device &device, const QueryPoolDescriptor &descriptor) |
| Initialize the DeviceQueryPool. | |
| ResultCode | InitQuery (DeviceQuery *query) |
| ResultCode | InitQuery (DeviceQuery **queries, uint32_t queryCount) |
| ResultCode | GetResults (uint64_t *results, uint32_t resultsCount, QueryResultFlagBits flags) |
| ResultCode | GetResults (DeviceQuery *query, uint64_t *result, uint32_t resultsCount, QueryResultFlagBits flags) |
| Same as GetResults(uint64_t, uint32_t, QueryResultFlagBits) but for one specific DeviceQuery. | |
| ResultCode | GetResults (DeviceQuery **queries, uint32_t queryCount, uint64_t *results, uint32_t resultsCount, QueryResultFlagBits flags) |
| const QueryPoolDescriptor & | GetDescriptor () const override final |
| const DeviceQuery * | GetQuery (QueryHandle handle) const |
| Returns the query by their handle. | |
Public Member Functions inherited from AZ::RHI::DeviceResourcePool | |
| AZ_RTTI (DeviceResourcePool, "{757EB674-25DC-4D00-9808-D3DAF33A4EFE}", DeviceObject) | |
| void | Shutdown () override final |
| Shuts down the pool. This method will shutdown all resources associated with the pool. | |
| template<typename ResourceType > | |
| void | ForEach (AZStd::function< void(ResourceType &)> callback) |
| template<typename ResourceType > | |
| void | ForEach (AZStd::function< void(const ResourceType &)> callback) const |
| uint32_t | GetResourceCount () const |
| Returns the number of resources in the pool. | |
| ResourcePoolResolver * | GetResolver () |
| Returns the resolver for this pool. | |
| const ResourcePoolResolver * | GetResolver () const |
| const HeapMemoryUsage & | GetHeapMemoryUsage (HeapMemoryLevel heapMemoryLevel) const |
| Returns the memory used by this pool for a specific heap type. | |
| const PoolMemoryUsage & | GetMemoryUsage () const |
| Returns the memory used by this pool. | |
Public Member Functions inherited from AZ::RHI::DeviceObject | |
| AZ_RTTI (DeviceObject, "{17D34F71-944C-4AF5-9823-627474C4C0A6}", Object) | |
| bool | IsInitialized () const |
| Returns whether the device object is initialized. | |
| Device & | GetDevice () const |
Public Member Functions inherited from AZ::RHI::Object | |
| AZ_RTTI (Object, "{E43378F1-2331-4173-94B8-990ED20E6003}") | |
| void | SetName (const Name &name) |
| Sets the name of the object. | |
| const Name & | GetName () const |
| Returns the name set on the object by SetName. | |
| uint32_t | use_count () |
| Returns the current use count of the object. | |
Static Public Member Functions | |
| static RHI::Ptr< QueryPool > | Create () |
Additional Inherited Members | |
Protected Types inherited from AZ::RHI::DeviceResourcePool | |
| using | PlatformMethod = AZStd::function< RHI::ResultCode()> |
| A simple functor that returns a result code. | |
Protected Member Functions inherited from AZ::RHI::DeviceQueryPool | |
| DeviceQuery * | GetQuery (QueryHandle handle) |
| template<class T > | |
| AZStd::vector< Interval > | GetQueryIntervals (const AZStd::vector< T * > &queries) |
| template<class T > | |
| AZStd::vector< Interval > | GetQueryIntervalsSorted (const AZStd::vector< T * > &queries) |
| template<class T > | |
| void | SortQueries (AZStd::vector< T * > &queries) |
| void | ComputeFragmentation () const override |
Protected Member Functions inherited from AZ::RHI::DeviceResourcePool | |
| void | OnFrameBegin () override |
| void | OnFrameCompile () override |
| void | OnFrameEnd () override |
| void | SetResolver (AZStd::unique_ptr< ResourcePoolResolver > &&resolvePolicy) |
| ResultCode | Init (Device &device, const ResourcePoolDescriptor &descriptor, const PlatformMethod &initMethod) |
| ResultCode | InitResource (DeviceResource *resource, const PlatformMethod &initResourceMethod) |
| bool | ValidateIsRegistered (const DeviceResource *resource) const |
| bool | ValidateIsUnregistered (const DeviceResource *resource) const |
| bool | ValidateIsInitialized () const |
| Validates that the resource pool is initialized and ready to service requests. | |
| bool | ValidateNotProcessingFrame () const |
| Validates that we are not in the frame processing phase. | |
Protected Member Functions inherited from AZ::RHI::DeviceObject | |
| void | Init (Device &device) |
| The derived class should call this method to assign the device. | |
Protected Member Functions inherited from AZ::RHI::Object | |
| void | add_ref () const |
| void | release () const |
Protected Attributes inherited from AZ::RHI::DeviceResourcePool | |
| PoolMemoryUsage | m_memoryUsage |
Protected Attributes inherited from AZ::RHI::Object | |
| AZStd::atomic_int | m_useCount = 0 |
QueryPool implementation for Vulkan. It uses the VkQueryPool vulkan object to implement the pool.