24 #ifndef PXR_IMAGING_HD_STRATEGY_BASE_H 25 #define PXR_IMAGING_HD_STRATEGY_BASE_H 28 #include "pxr/imaging/hd/api.h" 29 #include "pxr/imaging/hd/version.h" 30 #include "pxr/imaging/hd/bufferSpec.h" 31 #include "pxr/imaging/hd/bufferArray.h" 38 PXR_NAMESPACE_OPEN_SCOPE
41 using HdBufferArraySharedPtr = std::shared_ptr<class HdBufferArray>;
42 using HdBufferArrayRangeSharedPtr = std::shared_ptr<class HdBufferArrayRange>;
59 HdBufferSpecVector
const &bufferSpecs,
68 HdBufferSpecVector
const &bufferSpecs,
73 HdBufferArraySharedPtr
const &bufferArray)
const = 0;
78 HdBufferArraySharedPtr
const &bufferArray,
87 PXR_NAMESPACE_CLOSE_SCOPE
89 #endif // PXR_IMAGING_HD_STRATEGY_BASE_H size_t AggregationId
Aggregation ID.
The union provides a set of flags that provide hints to the memory management system about the proper...
Aggregation strategy base class.
A map with string keys and VtValue values.
virtual HdBufferArraySharedPtr CreateBufferArray(TfToken const &role, HdBufferSpecVector const &bufferSpecs, HdBufferArrayUsageHint usageHint)=0
Factory for creating HdBufferArray.
Token for efficient comparison, assignment, and hashing of known strings.
virtual HdBufferArrayRangeSharedPtr CreateBufferArrayRange()=0
Factory for creating HdBufferArrayRange.
virtual HD_API void Flush()
(Optional) called to Flush consolidated / staging buffers.
virtual HdBufferSpecVector GetBufferSpecs(HdBufferArraySharedPtr const &bufferArray) const =0
Returns the buffer specs from a given buffer array.
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
Returns the accumulated GPU resource allocation for items in the BufferArray passed as parameter.
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...