7#ifndef PXR_EXEC_EXEC_SYSTEM_H
8#define PXR_EXEC_EXEC_SYSTEM_H
12#include "pxr/exec/exec/api.h"
21PXR_NAMESPACE_OPEN_SCOPE
26class Exec_RequestTracker;
32template <
typename>
class TfSpan;
77 const VdfRequest &computeRequest);
85 const VdfRequest &computeRequest,
86 ExecValueOverrideVector &&valueOverrides);
108 bool _HasPendingRecompilation()
const;
114 void _InvalidateAll();
118 void _InvalidateDisconnectedInputs();
126 void _InvalidateMetadataValues(
127 TfSpan<
const std::pair<SdfPath, TfToken>> invalidObjects);
133 void _InvalidateUnknownValues();
138 std::unique_ptr<Exec_Program> _program;
139 std::unique_ptr<Exec_Runtime> _runtime;
141 std::unique_ptr<Exec_RequestTracker> _requestTracker;
144PXR_NAMESPACE_CLOSE_SCOPE
A class that represents a point in time for execution.
Holds an implementation of EsfStageInterface in a fixed-size buffer.
Contains data structures necessary to implement exec requests that are independent of scene descripti...
Public API to deliver scene changes from ExecSystem derived classes.
Utility class with various diagnostic functions for ExecSystem.
Base implementation of a system to procedurally compute values based on scene description and computa...
EXEC_API std::unique_ptr< VdfExecutorInterface > _ComputeWithOverrides(const VdfSchedule &schedule, const VdfRequest &computeRequest, ExecValueOverrideVector &&valueOverrides)
Computes the values in the computeRequest using the provided schedule in the presence of valueOverrid...
EXEC_API void _ChangeTime(const EfTime &time)
Changes time on the system.
EXEC_API void _ParallelForEachRequest(TfFunctionRef< void(Exec_RequestImpl &)> f) const
Invoke f on each outstanding exec request.
EXEC_API ExecSystem(EsfStage &&stage)
Construct an exec system for computing values on stage.
EXEC_API void _Compute(const VdfSchedule &schedule, const VdfRequest &computeRequest)
Computes the values in the computeRequest using the provided schedule.
Specifies a computed value.
A path value used to locate objects in layers or scenegraphs.
This class provides a non-owning reference to a type-erased callable object with a specified signatur...
Represents a range of contiguous elements.
Token for efficient comparison, assignment, and hashing of known strings.
Abstract base class for classes that execute a VdfNetwork to compute a requested set of values.
Class to hold on to an externally owned output and a mask.
Contains a specification of how to execute a particular VdfNetwork.