Pool for GPU queries.  
 More...
#include <QueryPoolVulkan.h>
 | 
| 
  | ezQueryPoolVulkan (ezGALDeviceVulkan *pDevice) | 
|   | 
| void  | Initialize (ezUInt32 uiValidBits) | 
|   | Initializes the pool.  
  | 
|   | 
| 
void  | DeInitialize () | 
|   | 
| 
void  | AfterBeginFrame (vk::CommandBuffer commandBuffer) | 
|   | Needs to be called every frame so the pool can figure out which queries have finished and reuse old data. 
  | 
|   | 
| 
void  | EnsureFreeQueryPoolSize (vk::CommandBuffer commandBuffer) | 
|   | We have to call this before each begin rendering call as if we run out of queries inside a render pass, we can't recover given that resetQueryPool can only be called outside a render pass which is necessary to be called on every new pool. 
  | 
|   | 
| ezGALTimestampHandle  | InsertTimestamp (vk::CommandBuffer commandBuffer, vk::PipelineStageFlagBits pipelineStage=vk::PipelineStageFlagBits::eBottomOfPipe) | 
|   | Inserts a timestamp into the given command buffer.  
  | 
|   | 
| ezEnum< ezGALAsyncResult >  | GetTimestampResult (ezGALTimestampHandle hTimestamp, ezTime &out_result, bool bForce=false) | 
|   | Retrieves the timestamp value if it is available.  
  | 
|   | 
| 
ezGALPoolHandle  | BeginOcclusionQuery (vk::CommandBuffer commandBuffer, ezEnum< ezGALQueryType > type) | 
|   | 
| 
void  | EndOcclusionQuery (vk::CommandBuffer commandBuffer, ezGALPoolHandle hPool) | 
|   | 
| 
ezEnum< ezGALAsyncResult >  | GetOcclusionQueryResult (ezGALPoolHandle hPool, ezUInt64 &out_uiQueryResult, bool bForce=false) | 
|   | 
◆ GetTimestampResult()
Retrieves the timestamp value if it is available. 
- Parameters
 - 
  
    | hTimestamp | The target timestamp to resolve.  | 
    | result | The time of the timestamp. If this is empty on success the timestamp has expired.  | 
    | bForce | Wait for the timestamp to become available.  | 
  
   
- Returns
 - Returns false if the result is not available yet. 
 
 
 
◆ Initialize()
      
        
          | void ezQueryPoolVulkan::Initialize  | 
          ( | 
          ezUInt32  | 
          uiValidBits | ) | 
           | 
        
      
 
Initializes the pool. 
- Parameters
 - 
  
    | uiValidBits | The number of valid bits in the query result. Each queue has different query characteristics and a separate pool is needed for each queue.  | 
  
   
 
 
◆ InsertTimestamp()
      
        
          | ezGALTimestampHandle ezQueryPoolVulkan::InsertTimestamp  | 
          ( | 
          vk::CommandBuffer  | 
          commandBuffer,  | 
        
        
           | 
           | 
          vk::PipelineStageFlagBits  | 
          pipelineStage = vk::PipelineStageFlagBits::eBottomOfPipe  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Inserts a timestamp into the given command buffer. 
- Parameters
 - 
  
    | commandBuffer | Target command buffer to insert the timestamp into.  | 
    | hTimestamp | Timestamp to insert. After insertion the only valid option is to call GetTimestampResult.  | 
    | pipelineStage | The value of the timestamp will be the point in time in which all previously committed commands have finished this stage.  | 
  
   
 
 
The documentation for this class was generated from the following files:
- /home/runner/work/ezEngine/ezEngine/Code/Engine/RendererVulkan/Pools/QueryPoolVulkan.h
 
- /home/runner/work/ezEngine/ezEngine/Code/Engine/RendererVulkan/Pools/Implementation/QueryPoolVulkan.cpp