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

#include <vboMemoryManager.h>

+ 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)
 
virtual HDST_API
HdBufferArrayRangeSharedPtr 
CreateBufferArrayRange ()
 
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 HdStAggregationStrategy
virtual HDST_API ~HdStAggregationStrategy ()
 
virtual HDST_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 HdStAggregationStrategy
typedef size_t AggregationId
 Aggregation ID. More...
 

Detailed Description

VBO memory manager.

Definition at line 50 of file vboMemoryManager.h.

Member Typedef Documentation

Definition at line 236 of file vboMemoryManager.h.

Definition at line 234 of file vboMemoryManager.h.

Definition at line 232 of file vboMemoryManager.h.

Constructor & Destructor Documentation

HdStVBOMemoryManager::HdStVBOMemoryManager ( HdStResourceRegistry resourceRegistry)
inline

Definition at line 53 of file vboMemoryManager.h.

Member Function Documentation

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

Returns id for given bufferSpecs to be used for aggregation.

Implements HdStAggregationStrategy.

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

Factory for creating HdBufferArray managed by HdStVBOMemoryManager aggregation.

Implements HdStAggregationStrategy.

virtual HDST_API HdBufferArrayRangeSharedPtr HdStVBOMemoryManager::CreateBufferArrayRange ( )
virtual

Factory for creating HdBufferArrayRange managed by HdStVBOMemoryManager aggregation.

Implements HdStAggregationStrategy.

virtual HdBufferSpecVector HdStVBOMemoryManager::GetBufferSpecs ( HdBufferArraySharedPtr const bufferArray) const
virtual

Returns the buffer specs from a given buffer array.

Implements HdStAggregationStrategy.

virtual size_t HdStVBOMemoryManager::GetResourceAllocation ( HdBufferArraySharedPtr const bufferArray,
VtDictionary result 
) const
virtual

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

Implements HdStAggregationStrategy.

Member Data Documentation

HdStResourceRegistry* HdStVBOMemoryManager::_resourceRegistry
protected

Definition at line 329 of file vboMemoryManager.h.


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