7 #ifndef PXR_EXEC_VDF_DATA_MANAGER_VECTOR_H
8 #define PXR_EXEC_VDF_DATA_MANAGER_VECTOR_H
38 template<VdfDataManagerDeallocationMode DeallocationMode>
52 template<VdfDataManagerDeallocationMode Mode>
93 template<VdfDataManagerDeallocationMode DeallocationMode>
237 _data->
Touch(handle);
274 template<VdfDataManagerDeallocationMode DeallocationMode>
284 template<VdfDataManagerDeallocationMode DeallocationMode>
295 _data->Resize(network);
299 template<VdfDataManagerDeallocationMode DeallocationMode>
302 const VdfId outputId)
306 const DataHandle dataHandle = _data->GetDataHandle(outputId);
307 if (IsValidDataHandle(dataHandle)) {
308 _data->Reset(dataHandle, outputId);
313 template<VdfDataManagerDeallocationMode DeallocationMode>
VdfSMBLData * GetOrCreateSMBLData(const DataHandle handle)
VDF_API Vdf_ExecutorDataVector * Vdf_DataManagerVectorAllocate(const VdfNetwork &network)
bool IsTouched(const DataHandle handle)
VdfInvalidationTimestamp GetInvalidationTimestamp() const
VDF_API void Vdf_DataManagerVectorDeallocateNow(Vdf_ExecutorDataVector *data)
void Touch(const DataHandle handle)
#define PXR_NAMESPACE_OPEN_SCOPE
bool IsTouched(const DataHandle handle) const
VdfInvalidationTimestamp GetInvalidationTimestamp(const DataHandle handle) const
void ClearDataForOutput(const VdfId outputId)
Vdf_ExecutorDataManagerTraits< VdfDataManagerVector >::DataHandle DataHandle
bool Untouch(const DataHandle handle)
bool IsValidDataHandle(const DataHandle handle) const
DataHandle GetDataHandle(const VdfId outputId) const
void Touch(const DataHandle handle) const
This class provides functionality to manage the executor specific data associated with each output in...
void SetInvalidationTimestamp(const DataHandle handle, VdfInvalidationTimestamp timestamp)
bool Untouch(const DataHandle handle)
Vdf_ExecutorDataVector::DataHandle DataHandle
This is a data manager for executors that uses data stored in a vector indexed by output ids...
VdfExecutorInvalidationData * GetInvalidationData(const DataHandle handle) const
VdfExecutorInvalidationData * GetInvalidationData(const DataHandle handle)
VdfSMBLData holds per-output data that is meant to be consumed by the executor. This data is an optio...
VdfExecutorBufferData * GetBufferData(const DataHandle handle) const
VDF_API void Vdf_DataManagerVectorDeallocateLater(Vdf_ExecutorDataVector *data)
void SetInvalidationTimestamp(const DataHandle &handle, VdfInvalidationTimestamp ts)
VdfSMBLData * GetSMBLData(const DataHandle handle) const
This object is responsible for storing the executor buffer data, comprised of the executor cache vect...
DataHandle GetDataHandle(const VdfId outputId) const
VdfExecutorBufferData * GetBufferData(const DataHandle handle)
DataHandle GetOrCreateDataHandle(const VdfId outputId) const
VdfInvalidationTimestamp GetInvalidationTimestamp(const DataHandle handle) const
size_t GetNumData() const
A vector-like container for executor data used by the VdfDataManagerVector. Unlike a hash-map...
unsigned int VdfInvalidationTimestamp
Type of the timestamp that identifies the most recent round of invalidation.
#define PXR_NAMESPACE_CLOSE_SCOPE
static const size_t InvalidHandle
VdfSMBLData * GetSMBLData(const DataHandle handle) const
VdfSMBLData * GetOrCreateSMBLData(const DataHandle handle) const
void Resize(const VdfNetwork &network)
DataHandle GetOrCreateDataHandle(const VdfId outputId)
VdfExecutorDataManager< VdfDataManagerVector > Base
VdfDataManagerDeallocationMode
uint64_t VdfId
The unique identifier type for Vdf objects.