omni::graph::exec::unstable::IGlobalPass

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

class IGlobalPass : public omni::core::Generated<omni::graph::exec::unstable::IGlobalPass_abi>

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.

Public Functions

inline void run(omni::core::ObjectParam<omni::graph::exec::unstable::IGraphBuilder> builder) noexcept

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.

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.