Pass Registration#

Macros to register a plugin’s passes.

Pass registration macros should be called at global scope (not within a function/method).

In order to avoid accidentally registering a pass twice, it is recommended to call registration macros from a *.cpp* file rather than a *.h* file.

Registration macros only add the pass to a list of passes to register. This is useful if you have passes defined in several **.cpp** files in your module. It is up to the module developer to call registerModulePasses() and deregisterModulePasses() to perform the actual registration.

See Passes for more pass related functionality.

Classes#

Macros#

OMNI_GRAPH_EXEC_REGISTER_GLOBAL_PASS

Adds an omni::graph::exec::unstable::IGlobalPass to a list to be registered as type omni::graph::exec::unstable::PassType::eGlobal at the module's (i.e.g DLL) startup.

OMNI_GRAPH_EXEC_REGISTER_PARTITION_PASS

Adds an omni::graph::exec::unstable::IPartitionPass to a list to be registered as type omni::graph::exec::unstable::PassType::ePartitioning at the module's (i.e.g DLL) startup.

OMNI_GRAPH_EXEC_REGISTER_PASS

Adds an omni::graph::exec::unstable::IPass to a list to be registered at the module's (i.e.g DLL) startup.

OMNI_GRAPH_EXEC_REGISTER_POPULATE_PASS

Adds an omni::graph::exec::unstable::IPopulatePass to a list to be registered as type omni::graph::exec::unstable::PassType::ePopulate at the module's (i.e.g DLL) startup.

Enumerations#

omni::graph::exec::unstable::PassType

Grouping type for different passes.

Functions#

void omni::graph::exec::unstable::deregisterModulePasses() noexcept

Deregisters the module's omni::graph::exec::unstable::IPass factories with IPassRegistry .

IPassRegistry * omni::graph::exec::unstable::getPassRegistry() noexcept

Returns the singleton pass registry.

void omni::graph::exec::unstable::registerModulePasses() noexcept

Registers the module's omni::graph::exec::unstable::IPass factories with omni::graph::exec::unstable::IPassRegistry .