All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HdStVBOMemoryManager Class Reference

VBO memory manager. More...

+ Inheritance diagram for HdStVBOMemoryManager:

Classes

class  _StripedBufferArray
 striped buffer array More...
 
class  _StripedBufferArrayRange
 specialized buffer array range More...
 

Public Member Functions

 HdStVBOMemoryManager (HdStResourceRegistry *resourceRegistry)
 
virtual HDST_API
HdBufferArraySharedPtr 
CreateBufferArray (TfToken const &role, HdBufferSpecVector const &bufferSpecs, HdBufferArrayUsageHint usageHint)
 Factory for creating HdBufferArray managed by HdStVBOMemoryManager aggregation. More...
 
virtual HDST_API
HdBufferArrayRangeSharedPtr 
CreateBufferArrayRange ()
 Factory for creating HdBufferArrayRange managed by HdStVBOMemoryManager aggregation. More...
 
virtual HDST_API AggregationId ComputeAggregationId (HdBufferSpecVector const &bufferSpecs, HdBufferArrayUsageHint usageHint) const
 Returns id for given bufferSpecs to be used for aggregation. More...
 
virtual HdBufferSpecVector GetBufferSpecs (HdBufferArraySharedPtr const &bufferArray) const
 Returns the buffer specs from a given buffer array. More...
 
virtual size_t GetResourceAllocation (HdBufferArraySharedPtr const &bufferArray, VtDictionary &result) const
 Returns the size of the GPU memory used by the passed buffer array. More...
 
- Public Member Functions inherited from HdAggregationStrategy
virtual HD_API void Flush ()
 (Optional) called to Flush consolidated / staging buffers. More...
 

Protected Types

using _StripedBufferArraySharedPtr = std::shared_ptr< _StripedBufferArray >
 
using _StripedBufferArrayRangeSharedPtr = std::shared_ptr< _StripedBufferArrayRange >
 
using _StripedBufferArrayRangePtr = std::weak_ptr< _StripedBufferArrayRange >
 

Protected Attributes

HdStResourceRegistry_resourceRegistry
 

Additional Inherited Members

- Public Types inherited from HdAggregationStrategy
typedef size_t AggregationId
 Aggregation ID. More...
 

Detailed Description

VBO memory manager.

Definition at line 50 of file vboMemoryManager.h.

Member Function Documentation

virtual HDST_API AggregationId ComputeAggregationId ( HdBufferSpecVector const &  bufferSpecs,
HdBufferArrayUsageHint  usageHint 
) const
virtual

Returns id for given bufferSpecs to be used for aggregation.

Implements HdAggregationStrategy.

virtual HDST_API HdBufferArraySharedPtr CreateBufferArray ( TfToken const &  role,
HdBufferSpecVector const &  bufferSpecs,
HdBufferArrayUsageHint  usageHint 
)
virtual

Factory for creating HdBufferArray managed by HdStVBOMemoryManager aggregation.

Implements HdAggregationStrategy.

virtual HDST_API HdBufferArrayRangeSharedPtr CreateBufferArrayRange ( )
virtual

Factory for creating HdBufferArrayRange managed by HdStVBOMemoryManager aggregation.

Implements HdAggregationStrategy.

virtual HdBufferSpecVector GetBufferSpecs ( HdBufferArraySharedPtr const &  bufferArray) const
virtual

Returns the buffer specs from a given buffer array.

Implements HdAggregationStrategy.

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

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

Implements HdAggregationStrategy.


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