![]() |
|
A node that pulls on a vector of value that are downstream of the current execution position. More...
#include <speculationNode.h>
Inheritance diagram for VdfSpeculationNode:Public Member Functions | |
| VDF_API | VdfSpeculationNode (VdfNetwork *network, const VdfInputSpecs &inputSpecs, const VdfOutputSpecs &outputSpecs) |
| Construct a new speculation node. | |
| virtual bool | IsSpeculationNode () const |
Returns true, indicating that this node performs speculation. | |
| virtual VdfRequiredInputsPredicate | GetRequiredInputsPredicate (const VdfContext &context) const |
| Returns a predicate to determine the required read inputs. | |
| virtual VDF_API void | Compute (const VdfContext &context) const |
| Executes the speculation node. | |
| VDF_API const VdfSchedule & | GetSchedule (const VdfSchedule *requestingSched) const |
| Returns the schedule for this speculation node. | |
Public Member Functions inherited from VdfNode | |
| TF_MALLOC_TAG_NEW ("Vdf", "new VdfNode") | |
| VDF_API | VdfNode (VdfNetwork *network, const VdfInputSpecs &inputSpecs, const VdfOutputSpecs &outputSpecs) |
Constructs a node in network with the inputs described by inputSpecs and outputs described by outputSpecs. | |
| VdfId | GetId () const |
| Returns the unique id of this node in its network. | |
| const VdfNetwork & | GetNetwork () const |
| Returns the network to which this node belongs. | |
| VdfNetwork & | GetNetwork () |
| Returns the network to which this node belongs. | |
| template<typename TYPE > | |
| bool | IsA () const |
Returns true, if this node is of type TYPE. | |
| VDF_API bool | IsEqual (const VdfNode &rhs) const |
Returns true, if rhs and this node compute the same value(s). | |
| const VdfInputSpecs & | GetInputSpecs () const |
| Returns the list of input specs. | |
| const VdfInput * | GetInput (const TfToken &inputName) const |
Returns the connector named inputName, returns NULL if no input of that name exists. | |
| VDF_API VdfInput * | GetInput (const TfToken &inputName) |
Returns the input named inputName, returns NULL if no input of that name exists. | |
| const InputMapIterator | GetInputsIterator () const |
| Returns an iterator class that can be used with TF_FOR_ALL to iterate through the inputs. | |
| bool | HasInputConnections () const |
| Returns true if the node has input connections, false otherwise. | |
| bool | HasOutputConnections () const |
| Returns true if the node has output connections, false otherwise. | |
| VDF_API VdfConnectionVector | GetInputConnections () const |
| Returns a flat vector of all input connections. | |
| VDF_API VdfConnectionVector | GetOutputConnections () const |
| Returns a flat vector of all output connections. | |
| const VdfOutputSpecs & | GetOutputSpecs () const |
| Returns the list of output specs. | |
| const VdfOutput * | GetOutput (const TfToken &name) const |
Returns the output object named name. | |
| VDF_API VdfOutput * | GetOutput (const TfToken &name) |
Returns the output object named name. | |
| VDF_API VdfOutput * | GetOptionalOutput (const TfToken &name) |
Returns the output object named name. | |
| const VdfOutput * | GetOptionalOutput (const TfToken &name) const |
Returns the output object named name. | |
| const VdfOutput * | GetOutput () const |
| Returns the only output object that this node contains. | |
| VDF_API VdfOutput * | GetOutput () |
| Returns the only output object that this node contains. | |
| const OutputMapIterator | GetOutputsIterator () const |
| Returns an iterator class that can be used with TF_FOR_ALL to iterator through the output connectors. | |
| size_t | GetNumOutputs () const |
| Returns the number of outputs that this node currently has. | |
| size_t | GetNumInputs () const |
| Returns the number of inputs that this node currently has. | |
| VDF_API void | SetDebugName (const std::string &name) |
| Sets the debug name for this node. | |
| template<class F > | |
| void | SetDebugNameCallback (F &&f) |
| Sets the debug name for this node with a lazily invoked callback. | |
| VDF_API void | SetDebugNameCallback (VdfNodeDebugNameCallback &&callback) |
| Sets the debug name for this node with a lazily invoked callback. | |
| VDF_API const std::string | GetDebugName () const |
| Returns the debug name for this node, if one is registered. | |
| virtual VDF_API size_t | GetMemoryUsage () const |
| Returns the amount of memory used by the node in bytes. | |
| VDF_API VdfMask | ComputeOutputDependencyMask (const VdfConnection &inputConnection, const VdfMask &inputDependencyMask, const VdfOutput &output) const |
Returns a mask that indicates which elements of the data that flows along output depend on the elements indicated by inputDependencyMask that flow in via inputConnection. | |
| VDF_API void | ComputeOutputDependencyMasks (const VdfConnection &inputConnection, const VdfMask &inputDependencyMask, VdfMaskedOutputVector *outputDependencies) const |
| Vectorized version of ComputeOutputDependencyMask. | |
| VDF_API VdfMask::Bits | ComputeInputDependencyMask (const VdfMaskedOutput &maskedOutput, const VdfConnection &inputConnection) const |
Returns a mask that indicates which elements of the data that flows along inputConnection are needed to compute the data flowing out as indicated by maskedOutput. | |
| VDF_API VdfConnectionAndMaskVector | ComputeInputDependencyMasks (const VdfMaskedOutput &maskedOutput, bool skipAssociatedInputs) const |
| Vectorized version of ComputeInputDependencyMask. | |
| VDF_API VdfConnectionAndMaskVector | ComputeInputDependencyRequest (const VdfMaskedOutputVector &request) const |
| Vectorized version of ComputeInputDependencyMasks(). | |
Additional Inherited Members | |
Static Public Member Functions inherited from VdfNode | |
| static VdfIndex | GetIndexFromId (const VdfId id) |
| Get the node index from the node id. | |
| static VdfVersion | GetVersionFromId (const VdfId id) |
| Get the node version from the node id. | |
Protected Member Functions inherited from VdfNode | |
| VDF_API | VdfNode (VdfNetwork *network) |
| Protected constructor. | |
| VDF_API void | _AppendInputs (const VdfInputSpecs &inputSpecs, std::vector< VdfInput * > *resultingInputs=NULL) |
| Builds inputs from the supplied input specs and appends them to the already-existing set of inputs, if any. | |
| VDF_API void | _AppendOutputs (const VdfOutputSpecs &outputSpecs, std::vector< VdfOutput * > *resultingOutputs=NULL) |
| Builds outputs from the supplied output specs and appends them to the already-existing set of outputs, if any. | |
| virtual VDF_API bool | _IsDerivedEqual (const VdfNode &rhs) const |
| Can be overridden by derived classes to facilitate equality comparision. | |
| virtual VDF_API void | _DidAddInputConnection (const VdfConnection *c, int atIndex) |
| Notifies a node that one connection has been added. | |
| virtual VDF_API void | _WillRemoveInputConnection (const VdfConnection *c) |
| Notifies a node that one connection will be removed. | |
| virtual VDF_API | ~VdfNode () |
| Protected Destructor. | |
| void | _SetId (const VdfVersion version, const VdfIndex index) |
| Sets the node id. | |
| virtual VDF_API VdfMask | _ComputeOutputDependencyMask (const VdfConnection &inputConnection, const VdfMask &inputDependencyMask, const VdfOutput &output) const |
Returns a mask that indicates which elements of the data that flows along output depend on the elements indicated by inputDependencyMask that flow in via inputConnection. | |
| virtual VDF_API bool | _ComputeOutputDependencyMasks (const VdfConnection &inputConnection, const VdfMask &inputDependencyMask, VdfMaskedOutputVector *outputDependencies) const |
| Vectorized version of _ComputeOutputDependencyMask. | |
| virtual VDF_API VdfConnectionAndMaskVector | _ComputeInputDependencyRequest (const VdfMaskedOutputVector &request) const |
| Vectorized version of _ComputeOutputDependencyMasks. | |
| virtual VDF_API VdfMask::Bits | _ComputeInputDependencyMask (const VdfMaskedOutput &maskedOutput, const VdfConnection &inputConnection) const |
Returns a mask that indicates which elements of the data that flows along inputConnection are needed to compute the data flowing out as indicated by maskedOutput. | |
| virtual VDF_API VdfConnectionAndMaskVector | _ComputeInputDependencyMasks (const VdfMaskedOutput &maskedOutput, bool skipAssociatedInputs) const |
| Vectorized version of _ComputeInputDependencyMask. | |
| virtual VDF_API const VdfInputAndOutputSpecs * | _AcquireInputAndOutputSpecsPointer (const VdfInputSpecs &inputSpecs, const VdfOutputSpecs &outputSpecs) |
| Gets an input/output specs pointer that the node can use. | |
| virtual VDF_API void | _ReleaseInputAndOutputSpecsPointer (const VdfInputAndOutputSpecs *specs) |
| Releases an input/output specs pointer that was acquired with a previous call to _AcquireInputAndOutputSpecsPointer(). | |
| VDF_API void | _InitializeInputAndOutputSpecs (const VdfInputAndOutputSpecs *specs) |
| Initializes the input/output specs pointer for this node. | |
| VDF_API void | _ClearInputAndOutputSpecsPointer () |
| Clears the input/output specs pointer. | |
| VDF_API void | _ReplaceInputSpecs (const VdfInputSpecs &inputSpecs) |
Replaces the node's input specs with inputSpecs and rebuilds all inputs. | |
Static Protected Member Functions inherited from VdfNode | |
| template<typename BaseClassType , typename ClassType > | |
| static size_t | _GetMemoryUsage (const ClassType &c, size_t dynamicSize) |
| Helper method for determining the amount of memory that a node uses. | |
A node that pulls on a vector of value that are downstream of the current execution position.
Definition at line 35 of file speculationNode.h.
| VDF_API VdfSpeculationNode | ( | VdfNetwork * | network, |
| const VdfInputSpecs & | inputSpecs, | ||
| const VdfOutputSpecs & | outputSpecs | ||
| ) |
Construct a new speculation node.
|
virtual |
Executes the speculation node.
Implements VdfNode.
|
inlinevirtual |
Returns a predicate to determine the required read inputs.
For speculation nodes, this is empty since speculation nodes technically do not need input values (they compute them from their own executors). Returning anything here would cause infinite loops.
Reimplemented from VdfNode.
Definition at line 56 of file speculationNode.h.
| VDF_API const VdfSchedule & GetSchedule | ( | const VdfSchedule * | requestingSched | ) | const |
Returns the schedule for this speculation node.
Schedules if necessary.
|
inlinevirtual |
Returns true, indicating that this node performs speculation.
Reimplemented from VdfNode.
Definition at line 48 of file speculationNode.h.