Open 3D Engine Atom Gem API Reference 25.05.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::Render::PassEntry Struct Reference

#include <ImGuiGpuProfiler.h>

Public Types

using PipelineStatisticsArray = AZStd::array< uint64_t, PipelineStatisticsAttributeCount >
 

Public Member Functions

 PassEntry (const class AZ::RPI::Pass *pass, PassEntry *parent)
 
void LinkChild (PassEntry *childEntry)
 
void PropagateDeviceIndex (int deviceIndex)
 Propagate deviceIndex to parents.
 
bool IsTimestampEnabled () const
 Checks if timestamp queries are enabled for this PassEntry.
 
bool IsPipelineStatisticsEnabled () const
 Checks if PipelineStatistics queries are enabled for this PassEntry.
 

Public Attributes

Name m_name
 The name of the pass.
 
Name m_path
 Cache the path name of the Pass as a unique identifier.
 
RPI::TimestampResult m_timestampResult
 
uint64_t m_interpolatedTimestampInNanoseconds = 0u
 
PipelineStatisticsArray m_pipelineStatistics
 Convert the PipelineStatistics result to an array for easier access.
 
PassEntrym_parent = nullptr
 Used as a double linked structure to reference the parent <-> child relationship.
 
AZStd::vector< PassEntry * > m_children
 
bool m_timestampEnabled = false
 Mirrors the enabled queries state of the pass.
 
bool m_pipelineStatisticsEnabled = false
 
bool m_enabled = false
 Mirrors the enabled/disabled state of the pass.
 
int m_deviceIndex = RHI::MultiDevice::DefaultDeviceIndex
 
AZStd::unordered_set< int > m_childrenDeviceIndices
 
bool m_linked = false
 Dirty flag to determine if this entry is linked to an parent entry.
 
bool m_isParent = false
 Cache if the pass is a parent.
 

Static Public Attributes

static const uint32_t PipelineStatisticsAttributeCount = 7u
 Total number of attribute columns to draw the PipelineStatistics.
 

Detailed Description

Intermediate resource that represents the structure of a Pass within the FrameGraph. A tree structure will be created from these entries that mimics the pass' structure. By default, all entries have a parent<-child reference, but only entries that pass the filter will also hold a parent->child reference.

Member Function Documentation

◆ LinkChild()

void AZ::Render::PassEntry::LinkChild ( PassEntry childEntry)

Links the child TimestampEntry to the parent's, and sets the dirty flag for both the parent and child entry. Calling this method will effectively add a parent->child reference for this instance, and all parent entries leading up to this entry from the root entry.


The documentation for this struct was generated from the following file: