omni::graph::exec::unstable::IGlobalPass_abi

Defined in omni/graph/exec/unstable/IGlobalPass.h

class IGlobalPass_abi : public omni::core::Inherits<IPass, OMNI_TYPE_ID("omni.graph.exec.unstable.IGlobalPass")>

Base class for global passes.

See Pass Concepts for an in-depth guide on how this object is used during graph construction.

The purpose of a global pass is to perform global transformations on the graph.

This transformation category should be considered as a last resort given its global impact on the topology which prevents threading at the pass pipeline level.

Register a global pass with OMNI_GRAPH_EXEC_REGISTER_GLOBAL_PASS().

See Passes for more pass related functionality.

Thread Safety

Only a single global pass is active in a graph definition at a time.

Subclassed by omni::core::Generated< omni::graph::exec::unstable::IGlobalPass_abi >

Protected Functions

virtual void run_abi(IGraphBuilder *builder) noexcept = 0

Called from a pass pipeline to apply global graph transformations.

The given builder supplies the graph definition to transform. builder must not be nullptr.

Thread Safety

See thread safety information in interface description.