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

#include <vboSimpleMemoryManager.h>

+ Inheritance diagram for HdStVBOSimpleMemoryManager:

Classes

class  _SimpleBufferArray
 
class  _SimpleBufferArrayRange
 

Public Member Functions

 HdStVBOSimpleMemoryManager (HdStResourceRegistry *resourceRegistry)
 
virtual HDST_API
HdBufferArraySharedPtr 
CreateBufferArray (TfToken const &role, HdBufferSpecVector const &bufferSpecs, HdBufferArrayUsageHint usageHint)
 
virtual HDST_API
HdBufferArrayRangeSharedPtr 
CreateBufferArrayRange ()
 Factory for creating HdBufferArrayRange. More...
 
virtual HDST_API
HdAggregationStrategy::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 ~HdAggregationStrategy ()
 
virtual HD_API void Flush ()
 (Optional) called to Flush consolidated / staging buffers. More...
 

Protected Types

using _SimpleBufferArraySharedPtr = std::shared_ptr< _SimpleBufferArray >
 
using _SimpleBufferArrayRangeSharedPtr = std::shared_ptr< _SimpleBufferArrayRange >
 
using _SimpleBufferArrayRangePtr = std::weak_ptr< _SimpleBufferArrayRange >
 

Protected Attributes

HdStResourceRegistry *const _resourceRegistry
 

Additional Inherited Members

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

Detailed Description

VBO simple memory manager.

This class doesn't perform any aggregation.

Definition at line 47 of file vboSimpleMemoryManager.h.

Member Typedef Documentation

Definition at line 209 of file vboSimpleMemoryManager.h.

Constructor & Destructor Documentation

HdStVBOSimpleMemoryManager::HdStVBOSimpleMemoryManager ( HdStResourceRegistry resourceRegistry)
inline

Definition at line 50 of file vboSimpleMemoryManager.h.

Member Function Documentation

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

Returns id for given bufferSpecs to be used for aggregation.

Implements HdAggregationStrategy.

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

Factory for creating HdBufferArray managed by HdStVBOSimpleMemoryManager.

Implements HdAggregationStrategy.

virtual HDST_API HdBufferArrayRangeSharedPtr HdStVBOSimpleMemoryManager::CreateBufferArrayRange ( )
virtual

Factory for creating HdBufferArrayRange.

Implements HdAggregationStrategy.

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

Returns the buffer specs from a given buffer array.

Implements HdAggregationStrategy.

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

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

Implements HdAggregationStrategy.

Member Data Documentation

HdStResourceRegistry* const HdStVBOSimpleMemoryManager::_resourceRegistry
protected

Definition at line 309 of file vboSimpleMemoryManager.h.


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