HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VdfSpeculationNode Class Referencefinal

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)
 
virtual bool IsSpeculationNode () const
 
virtual VdfRequiredInputsPredicate GetRequiredInputsPredicate (const VdfContext &context) const
 
virtual VDF_API void Compute (const VdfContext &context) const
 
VDF_API const VdfScheduleGetSchedule (const VdfSchedule *requestingSched) const
 
- Public Member Functions inherited from VdfNode
 TF_MALLOC_TAG_NEW ("Vdf","new VdfNode")
 
VDF_API VdfNode (VdfNetwork *network, const VdfInputSpecs &inputSpecs, const VdfOutputSpecs &outputSpecs)
 
VdfId GetId () const
 
const VdfNetworkGetNetwork () const
 
VdfNetworkGetNetwork ()
 
template<typename TYPE >
bool IsA () const
 
VDF_API bool IsEqual (const VdfNode &rhs) const
 
const VdfInputSpecsGetInputSpecs () const
 
const VdfInputGetInput (const TfToken &inputName) const
 
VDF_API VdfInputGetInput (const TfToken &inputName)
 
const InputMapIterator GetInputsIterator () const
 
bool HasInputConnections () const
 
bool HasOutputConnections () const
 
VDF_API VdfConnectionVector GetInputConnections () const
 
VDF_API VdfConnectionVector GetOutputConnections () const
 
const VdfOutputSpecsGetOutputSpecs () const
 
const VdfOutputGetOutput (const TfToken &name) const
 
VDF_API VdfOutputGetOutput (const TfToken &name)
 
VDF_API VdfOutputGetOptionalOutput (const TfToken &name)
 
const VdfOutputGetOptionalOutput (const TfToken &name) const
 
const VdfOutputGetOutput () const
 
VDF_API VdfOutputGetOutput ()
 
const OutputMapIterator GetOutputsIterator () const
 
size_t GetNumOutputs () const
 
size_t GetNumInputs () const
 
VDF_API void SetDebugName (const std::string &name)
 
template<class F >
void SetDebugNameCallback (F &&f)
 
VDF_API void SetDebugNameCallback (VdfNodeDebugNameCallback &&callback)
 
VDF_API const std::string GetDebugName () const
 
virtual VDF_API size_t GetMemoryUsage () const
 
VDF_API VdfMask ComputeOutputDependencyMask (const VdfConnection &inputConnection, const VdfMask &inputDependencyMask, const VdfOutput &output) const
 
VDF_API void ComputeOutputDependencyMasks (const VdfConnection &inputConnection, const VdfMask &inputDependencyMask, VdfMaskedOutputVector *outputDependencies) const
 
VDF_API VdfMask::Bits ComputeInputDependencyMask (const VdfMaskedOutput &maskedOutput, const VdfConnection &inputConnection) const
 
VDF_API VdfConnectionAndMaskVector ComputeInputDependencyMasks (const VdfMaskedOutput &maskedOutput, bool skipAssociatedInputs) const
 
VDF_API VdfConnectionAndMaskVector ComputeInputDependencyRequest (const VdfMaskedOutputVector &request) const
 

Additional Inherited Members

- Static Public Member Functions inherited from VdfNode
static VdfIndex GetIndexFromId (const VdfId id)
 
static VdfVersion GetVersionFromId (const VdfId id)
 
- Protected Member Functions inherited from VdfNode
VDF_API VdfNode (VdfNetwork *network)
 
VDF_API void _AppendInputs (const VdfInputSpecs &inputSpecs, std::vector< VdfInput * > *resultingInputs=NULL)
 
VDF_API void _AppendOutputs (const VdfOutputSpecs &outputSpecs, std::vector< VdfOutput * > *resultingOutputs=NULL)
 
virtual VDF_API bool _IsDerivedEqual (const VdfNode &rhs) const
 
virtual VDF_API void _DidAddInputConnection (const VdfConnection *c, int atIndex)
 
virtual VDF_API void _WillRemoveInputConnection (const VdfConnection *c)
 
virtual VDF_API ~VdfNode ()
 
void _SetId (const VdfVersion version, const VdfIndex index)
 
virtual VDF_API bool _ComputeOutputDependencyMasks (const VdfConnection &inputConnection, const VdfMask &inputDependencyMask, VdfMaskedOutputVector *outputDependencies) const
 
virtual VDF_API
VdfConnectionAndMaskVector 
_ComputeInputDependencyRequest (const VdfMaskedOutputVector &request) const
 
virtual VDF_API
VdfConnectionAndMaskVector 
_ComputeInputDependencyMasks (const VdfMaskedOutput &maskedOutput, bool skipAssociatedInputs) const
 
virtual VDF_API const
VdfInputAndOutputSpecs
_AcquireInputAndOutputSpecsPointer (const VdfInputSpecs &inputSpecs, const VdfOutputSpecs &outputSpecs)
 
virtual VDF_API void _ReleaseInputAndOutputSpecsPointer (const VdfInputAndOutputSpecs *specs)
 
VDF_API void _InitializeInputAndOutputSpecs (const VdfInputAndOutputSpecs *specs)
 
VDF_API void _ClearInputAndOutputSpecsPointer ()
 
VDF_API void _ReplaceInputSpecs (const VdfInputSpecs &inputSpecs)
 
- Static Protected Member Functions inherited from VdfNode
template<typename BaseClassType , typename ClassType >
static size_t _GetMemoryUsage (const ClassType &c, size_t dynamicSize)
 

Detailed Description

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.

Constructor & Destructor Documentation

VDF_API VdfSpeculationNode::VdfSpeculationNode ( VdfNetwork network,
const VdfInputSpecs inputSpecs,
const VdfOutputSpecs outputSpecs 
)

Construct a new speculation node.

Member Function Documentation

virtual VDF_API void VdfSpeculationNode::Compute ( const VdfContext context) const
virtual

Executes the speculation node.

Implements VdfNode.

virtual VdfRequiredInputsPredicate VdfSpeculationNode::GetRequiredInputsPredicate ( const VdfContext context) const
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& VdfSpeculationNode::GetSchedule ( const VdfSchedule requestingSched) const

Returns the schedule for this speculation node. Schedules if necessary.

virtual bool VdfSpeculationNode::IsSpeculationNode ( ) const
inlinevirtual

Returns true, indicating that this node performs speculation.

Reimplemented from VdfNode.

Definition at line 48 of file speculationNode.h.


The documentation for this class was generated from the following file: