7#ifndef PXR_EXEC_EXEC_SYSTEM_H
8#define PXR_EXEC_EXEC_SYSTEM_H
12#include "pxr/exec/exec/api.h"
20PXR_NAMESPACE_OPEN_SCOPE
25class Exec_RequestTracker;
31template <
typename>
class TfSpan;
75 const VdfRequest &computeRequest);
97 bool _HasPendingRecompilation()
const;
103 void _InvalidateAll();
107 void _InvalidateDisconnectedInputs();
115 void _InvalidateMetadataValues(
116 TfSpan<
const std::pair<SdfPath, TfToken>> invalidObjects);
121 std::unique_ptr<Exec_Program> _program;
122 std::unique_ptr<Exec_Runtime> _runtime;
124 std::unique_ptr<Exec_RequestTracker> _requestTracker;
127PXR_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 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.
Class to hold on to an externally owned output and a mask.
Contains a specification of how to execute a particular VdfNetwork.