UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FVulkanQueryPool Class Reference

#include <VulkanQuery.h>

+ Inheritance diagram for FVulkanQueryPool:

Public Member Functions

 FVulkanQueryPool (FVulkanDevice &InDevice, uint32 InMaxQueries, EVulkanQueryPoolType InQueryType)
 
virtual ~FVulkanQueryPool ()
 
uint32 GetMaxQueries () const
 
VkQueryPool GetHandle () const
 
EVulkanQueryPoolType GetPoolType () const
 
FVulkanDeviceGetDevice ()
 
uint32 GetQueryStride () const
 
bool IsFull () const
 
void ReserveQuery (FVulkanRenderQuery *Query)
 
uint32 ReserveQuery (uint64 *ResultPtr)
 
void Reset (FVulkanCommandBuffer &InCmdBuffer, uint32 InQueryStride=1u)
 
bool IsStale () const
 
void IncrementUnusedFrameCount ()
 

Protected Attributes

FVulkanDeviceDevice
 
VkQueryPool QueryPool
 
const uint32 MaxQueries
 
const EVulkanQueryPoolType QueryType
 
TArray< TRefCountPtr< FVulkanRenderQuery > > QueryRefs
 
TArray< uint64 * > QueryResults
 
uint32 CurrentQueryCount = 0
 
uint32 QueryStride = 1u
 
int32 UnusedFrameCount = 0
 
friend FVulkanDynamicRHI
 

Constructor & Destructor Documentation

◆ FVulkanQueryPool()

FVulkanQueryPool::FVulkanQueryPool ( FVulkanDevice InDevice,
uint32  InMaxQueries,
EVulkanQueryPoolType  InQueryType 
)

◆ ~FVulkanQueryPool()

FVulkanQueryPool::~FVulkanQueryPool ( )
virtual

Member Function Documentation

◆ GetDevice()

FVulkanDevice & FVulkanQueryPool::GetDevice ( )
inline

◆ GetHandle()

VkQueryPool FVulkanQueryPool::GetHandle ( ) const
inline

◆ GetMaxQueries()

uint32 FVulkanQueryPool::GetMaxQueries ( ) const
inline

◆ GetPoolType()

EVulkanQueryPoolType FVulkanQueryPool::GetPoolType ( ) const
inline

◆ GetQueryStride()

uint32 FVulkanQueryPool::GetQueryStride ( ) const
inline

◆ IncrementUnusedFrameCount()

void FVulkanQueryPool::IncrementUnusedFrameCount ( )
inline

◆ IsFull()

bool FVulkanQueryPool::IsFull ( ) const
inline

◆ IsStale()

bool FVulkanQueryPool::IsStale ( ) const

◆ ReserveQuery() [1/2]

void FVulkanQueryPool::ReserveQuery ( FVulkanRenderQuery Query)

◆ ReserveQuery() [2/2]

uint32 FVulkanQueryPool::ReserveQuery ( uint64 ResultPtr)

◆ Reset()

void FVulkanQueryPool::Reset ( FVulkanCommandBuffer InCmdBuffer,
uint32  InQueryStride = 1u 
)

Member Data Documentation

◆ CurrentQueryCount

uint32 FVulkanQueryPool::CurrentQueryCount = 0
protected

◆ Device

FVulkanDevice& FVulkanQueryPool::Device
protected

◆ FVulkanDynamicRHI

friend FVulkanQueryPool::FVulkanDynamicRHI
protected

◆ MaxQueries

const uint32 FVulkanQueryPool::MaxQueries
protected

◆ QueryPool

VkQueryPool FVulkanQueryPool::QueryPool
protected

◆ QueryRefs

TArray<TRefCountPtr<FVulkanRenderQuery> > FVulkanQueryPool::QueryRefs
protected

◆ QueryResults

TArray<uint64*> FVulkanQueryPool::QueryResults
protected

◆ QueryStride

uint32 FVulkanQueryPool::QueryStride = 1u
protected

When queries are issued during a multiview render pass, vkCmdBeginQuery and vkCmdEndQuery each correspond to multiple subsequent queries in the pool, one for each view. The interpretation of these per-view values is implementation dependent, but they can be summed together to get the actual value.

◆ QueryType

const EVulkanQueryPoolType FVulkanQueryPool::QueryType
protected

◆ UnusedFrameCount

int32 FVulkanQueryPool::UnusedFrameCount = 0
protected

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