7#ifndef PXR_EXEC_VDF_SCHEDULE_NODE_H
8#define PXR_EXEC_VDF_SCHEDULE_NODE_H
21PXR_NAMESPACE_OPEN_SCOPE
33class VdfScheduleOutput
37 : output(o), requestMask(m),
38 passToOutput(NULL), fromBufferOutput(NULL),
39 uniqueIndex(VdfScheduleTaskInvalid) {}
104 for (
size_t i = 0; i < size; ++i) {
105 if (ARCH_LIKELY(
outputs[i].output == output)) {
134PXR_NAMESPACE_CLOSE_SCOPE
A VdfMask is placed on connections to specify the data flowing through them.
This is the base class for all nodes in a VdfNetwork.
A VdfOutput represents an output on a node.
This class contains scheduling information necessary to run a single VdfNode.
const VdfOutput * outputToClear
An output whose temporary buffer can be deallocated as soon as this schedule node has finished execut...
int GetOutputIndex(const VdfOutput *output) const
Returns the index of output in the outputs array, or -1 if it does not exist.
std::vector< VdfScheduleInput > inputs
The list of inputs scheduled for this node.
const VdfNode * node
The node being scheduled.
bool affective
Whether this node, as scheduled, is affective, meaning it cannot be ignored as an optimization while ...
std::vector< VdfScheduleOutput > outputs
The list of outputs that are being scheduled for this node.
VdfMask mask
The dependency mask, indicating which elements of the source output value this input depends on.
const VdfOutput * source
The output from which the scheduled input sources its values.
const VdfInput * input
The input corresponding to this scheduled input.
uint32_t VdfScheduleInputDependencyUniqueIndex
A sequential index assigned to the unique output and mask combination of a VdfScheduleInputDependency...