7 #ifndef PXR_EXEC_VDF_EXECUTOR_DATA_MANAGER_INTERFACE_H
8 #define PXR_EXEC_VDF_EXECUTOR_DATA_MANAGER_INTERFACE_H
32 template <
typename DerivedClass,
typename DataHandle>
49 _Self()->Resize(network);
59 return _Self()->IsValidDataHandle(handle);
68 return _Self()->GetOrCreateDataHandle(outputId);
76 return _Self()->GetDataHandle(outputId);
85 return _Self()->GetBufferData(handle);
95 const DataHandle handle)
const {
96 return _Self()->GetInvalidationData(handle);
106 const DataHandle handle)
const {
107 return _Self()->GetInvalidationTimestamp(handle);
116 const DataHandle handle,
118 _Self()->SetInvalidationTimestamp(handle, ts);
129 return _Self()->GetSMBLData(handle);
138 return _Self()->GetOrCreateSMBLData(handle);
148 return _Self()->IsTouched(handle);
157 void _Touch(
const DataHandle handle)
const {
158 _Self()->Touch(handle);
168 return _Self()->Untouch(handle);
174 return _Self()->ClearDataForOutput(output);
180 const DerivedClass * _Self()
const {
181 return static_cast<const DerivedClass *
>(
this);
186 DerivedClass * _Self() {
187 return static_cast<DerivedClass *
>(
this);
bool _IsValidDataHandle(const DataHandle handle) const
VdfExecutorBufferData * _GetBufferData(const DataHandle handle) const
Vdf_ExecutorDataManagerInterface()=default
#define PXR_NAMESPACE_OPEN_SCOPE
~Vdf_ExecutorDataManagerInterface()=default
void _ClearDataForOutput(const VdfOutput &output)
void _Touch(const DataHandle handle) const
VdfSMBLData * _GetOrCreateSMBLData(const DataHandle handle) const
VdfSMBLData holds per-output data that is meant to be consumed by the executor. This data is an optio...
void _Resize(const VdfNetwork &network)
This object is responsible for storing the executor buffer data, comprised of the executor cache vect...
DataHandle _GetDataHandle(const VdfId outputId) const
VdfInvalidationTimestamp _GetInvalidationTimestamp(const DataHandle handle) const
bool _Untouch(const DataHandle handle)
The interface contract for the static polymorphism used by executor data manager implementations.
unsigned int VdfInvalidationTimestamp
Type of the timestamp that identifies the most recent round of invalidation.
#define PXR_NAMESPACE_CLOSE_SCOPE
bool _IsTouched(const DataHandle handle) const
VdfSMBLData * _GetSMBLData(const DataHandle handle) const
void _SetInvalidationTimestamp(const DataHandle handle, VdfInvalidationTimestamp ts)
VdfExecutorInvalidationData * _GetInvalidationData(const DataHandle handle) const
DataHandle _GetOrCreateDataHandle(const VdfId outputId) const
uint64_t VdfId
The unique identifier type for Vdf objects.