24 #ifndef PXR_IMAGING_HD_STRATEGY_BASE_H
25 #define PXR_IMAGING_HD_STRATEGY_BASE_H
89 #endif // PXR_IMAGING_HD_STRATEGY_BASE_H
std::shared_ptr< class HdBufferArray > HdBufferArraySharedPtr
virtual HdBufferArrayRangeSharedPtr CreateBufferArrayRange()=0
Factory for creating HdBufferArrayRange.
virtual HD_API ~HdAggregationStrategy()
virtual HdBufferSpecVector GetBufferSpecs(HdBufferArraySharedPtr const &bufferArray) const =0
Returns the buffer specs from a given buffer array.
size_t AggregationId
Aggregation ID.
virtual AggregationId ComputeAggregationId(HdBufferSpecVector const &bufferSpecs, HdBufferArrayUsageHint usageHint) const =0
Returns id for given bufferSpecs to be used for aggregation.
virtual size_t GetResourceAllocation(HdBufferArraySharedPtr const &bufferArray, VtDictionary &result) const =0
std::vector< struct HdBufferSpec > HdBufferSpecVector
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
#define PXR_NAMESPACE_CLOSE_SCOPE
std::shared_ptr< HdBufferArrayRange > HdBufferArrayRangeSharedPtr
virtual HdBufferArraySharedPtr CreateBufferArray(TfToken const &role, HdBufferSpecVector const &bufferSpecs, HdBufferArrayUsageHint usageHint)=0
Factory for creating HdBufferArray.
virtual HD_API void Flush()
(Optional) called to Flush consolidated / staging buffers.