|
HDST_API | _StripedInterleavedBuffer (HdStInterleavedMemoryManager *mgr, HdStResourceRegistry *resourceRegistry, TfToken const &role, HdBufferSpecVector const &bufferSpecs, HdBufferArrayUsageHint usageHint, int bufferOffsetAlignment, int structAlignment, size_t maxSize, TfToken const &garbageCollectionPerfToken) |
| Constructor.
|
|
virtual HDST_API | ~_StripedInterleavedBuffer () |
| Destructor. It invalidates _rangeList.
|
|
virtual HDST_API bool | GarbageCollect () |
| perform compaction if necessary, returns true if it becomes empty.
|
|
virtual HDST_API void | DebugDump (std::ostream &out) const |
| Debug output.
|
|
virtual HDST_API void | Reallocate (std::vector< HdBufferArrayRangeSharedPtr > const &ranges, HdBufferArraySharedPtr const &curRangeOwner) |
| Performs reallocation.
|
|
void | SetNeedsReallocation () |
| Mark to perform reallocation on Reallocate()
|
|
void | SetNeedsCompaction () |
| Mark to perform compaction on GarbageCollect()
|
|
size_t | GetStride () const |
| Returns the stride.
|
|
size_t | GetElementStride () const |
|
HDST_API HdStBufferResourceSharedPtr | GetResource () const |
| Returns the GPU resource.
|
|
HDST_API HdStBufferResourceSharedPtr | GetResource (TfToken const &name) |
| Returns the named GPU resource.
|
|
HdStBufferResourceNamedList const & | GetResources () const |
| Returns the list of all named GPU resources for this bufferArray.
|
|
HDST_API HdBufferSpecVector | GetBufferSpecs () const |
| Reconstructs the bufferspecs and returns it (for buffer splitting)
|
|
HdStInterleavedMemoryManager * | GetManager () const |
|
HD_API | HdBufferArray (TfToken const &role, TfToken const garbageCollectionPerfToken, HdBufferArrayUsageHint usageHint) |
|
TfToken const & | GetRole () const |
| Returns the role of the GPU data in this bufferArray.
|
|
size_t | GetVersion () const |
| Returns the version of this buffer array.
|
|
HD_API void | IncrementVersion () |
| Increments the version of this buffer array.
|
|
HD_API bool | TryAssignRange (HdBufferArrayRangeSharedPtr &range) |
| Attempts to assign a range to this buffer array.
|
|
virtual bool | GarbageCollect ()=0 |
| Performs compaction if necessary and returns true if it becomes empty.
|
|
virtual void | Reallocate (std::vector< HdBufferArrayRangeSharedPtr > const &ranges, HdBufferArraySharedPtr const &curRangeOwner)=0 |
| Performs reallocation.
|
|
virtual HD_API size_t | GetMaxNumElements () const |
| Returns the maximum number of elements capacity.
|
|
virtual void | DebugDump (std::ostream &out) const =0 |
| Debug output.
|
|
size_t | GetRangeCount () const |
| How many ranges are attached to the buffer array.
|
|
HD_API HdBufferArrayRangePtr | GetRange (size_t idx) const |
| Get the attached range at the specified index.
|
|
HD_API void | RemoveUnusedRanges () |
| Remove any ranges from the range list that have been deallocated Returns number of ranges after clean-up.
|
|
bool | NeedsReallocation () const |
| Returns true if Reallocate() needs to be called on this buffer array.
|
|
bool | IsImmutable () const |
| Returns true if this buffer array is marked as immutable.
|
|
HdBufferArrayUsageHint | GetUsageHint () const |
| Returns the usage hints for this buffer array.
|
|
striped buffer
Definition at line 207 of file interleavedMemoryManager.h.