Loading...
Searching...
No Matches
HdStInterleavedMemoryManager Class Reference

Interleaved memory manager (base class). More...

#include <interleavedMemoryManager.h>

+ Inheritance diagram for HdStInterleavedMemoryManager:

Classes

class  _StripedInterleavedBuffer
 striped buffer More...
 
class  _StripedInterleavedBufferRange
 specialized buffer array range More...
 

Protected Types

using _StripedInterleavedBufferSharedPtr = std::shared_ptr< _StripedInterleavedBuffer >
 
using _StripedInterleavedBufferRangeSharedPtr = std::shared_ptr< _StripedInterleavedBufferRange >
 
using _StripedInterleavedBufferRangePtr = std::weak_ptr< _StripedInterleavedBufferRange >
 

Protected Member Functions

 HdStInterleavedMemoryManager (HdStResourceRegistry *resourceRegistry)
 
HdBufferArrayRangeSharedPtr CreateBufferArrayRange () override
 Factory for creating HdBufferArrayRange.
 
HdBufferSpecVector GetBufferSpecs (HdBufferArraySharedPtr const &bufferArray) const override
 Returns the buffer specs from a given buffer array.
 
size_t GetResourceAllocation (HdBufferArraySharedPtr const &bufferArray, VtDictionary &result) const override
 Returns the size of the GPU memory used by the passed buffer array.
 

Protected Attributes

HdStResourceRegistry *const _resourceRegistry
 

Additional Inherited Members

- Public Types inherited from HdStAggregationStrategy
typedef size_t AggregationId
 Aggregation ID.
 
- Public Member Functions inherited from HdStAggregationStrategy
virtual HdBufferArraySharedPtr CreateBufferArray (TfToken const &role, HdBufferSpecVector const &bufferSpecs, HdBufferArrayUsageHint usageHint)=0
 Factory for creating HdBufferArray.
 
virtual HdBufferArrayRangeSharedPtr CreateBufferArrayRange ()=0
 Factory for creating HdBufferArrayRange.
 
virtual AggregationId ComputeAggregationId (HdBufferSpecVector const &bufferSpecs, HdBufferArrayUsageHint usageHint) const =0
 Returns id for given bufferSpecs to be used for aggregation.
 
virtual HdBufferSpecVector GetBufferSpecs (HdBufferArraySharedPtr const &bufferArray) const =0
 Returns the buffer specs from a given buffer array.
 
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.
 
virtual HDST_API void Flush ()
 (Optional) called to Flush consolidated / staging buffers.
 

Detailed Description

Interleaved memory manager (base class).

Definition at line 54 of file interleavedMemoryManager.h.

Member Typedef Documentation

◆ _StripedInterleavedBufferRangePtr

using _StripedInterleavedBufferRangePtr = std::weak_ptr<_StripedInterleavedBufferRange>
protected

Definition at line 203 of file interleavedMemoryManager.h.

◆ _StripedInterleavedBufferRangeSharedPtr

using _StripedInterleavedBufferRangeSharedPtr = std::shared_ptr<_StripedInterleavedBufferRange>
protected

Definition at line 201 of file interleavedMemoryManager.h.

◆ _StripedInterleavedBufferSharedPtr

using _StripedInterleavedBufferSharedPtr = std::shared_ptr<_StripedInterleavedBuffer>
protected

Definition at line 199 of file interleavedMemoryManager.h.

Constructor & Destructor Documentation

◆ HdStInterleavedMemoryManager()

HdStInterleavedMemoryManager ( HdStResourceRegistry resourceRegistry)
inlineprotected

Definition at line 324 of file interleavedMemoryManager.h.

Member Function Documentation

◆ CreateBufferArrayRange()

HdBufferArrayRangeSharedPtr CreateBufferArrayRange ( )
overrideprotectedvirtual

Factory for creating HdBufferArrayRange.

Implements HdStAggregationStrategy.

◆ GetBufferSpecs()

HdBufferSpecVector GetBufferSpecs ( HdBufferArraySharedPtr const &  bufferArray) const
overrideprotectedvirtual

Returns the buffer specs from a given buffer array.

Implements HdStAggregationStrategy.

◆ GetResourceAllocation()

size_t GetResourceAllocation ( HdBufferArraySharedPtr const &  bufferArray,
VtDictionary result 
) const
overrideprotectedvirtual

Returns the size of the GPU memory used by the passed buffer array.

Implements HdStAggregationStrategy.

Member Data Documentation

◆ _resourceRegistry

HdStResourceRegistry* const _resourceRegistry
protected

Definition at line 339 of file interleavedMemoryManager.h.


The documentation for this class was generated from the following file: