Open 3D Engine Atom Gem API Reference 24.09.2
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)
 
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.
 
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: