OGRE-Next  2.3
Object-Oriented Graphics Rendering Engine
Ogre::VaoManager::MemoryStatsEntry Struct Reference

#include <OgreVaoManager.h>

Public Member Functions

 MemoryStatsEntry (uint32 _poolType, uint32 _poolIdx, size_t _offset, size_t _sizeBytes, size_t _poolCapacity, bool _bPoolHasTextures)
 
uint64 getCombinedPoolIdx () const
 getCombinedPoolIdx You can use this code to calculate pool capacity per poolType: More...
 

Public Attributes

bool bPoolHasTextures
 This value is the same for all entries with same getCombinedPoolIdx. More...
 
size_t offset
 
size_t poolCapacity
 
uint32 poolIdx
 
uint32 poolType
 
size_t sizeBytes
 

Constructor & Destructor Documentation

◆ MemoryStatsEntry()

Ogre::VaoManager::MemoryStatsEntry::MemoryStatsEntry ( uint32  _poolType,
uint32  _poolIdx,
size_t  _offset,
size_t  _sizeBytes,
size_t  _poolCapacity,
bool  _bPoolHasTextures 
)
inline

Member Function Documentation

◆ getCombinedPoolIdx()

uint64 Ogre::VaoManager::MemoryStatsEntry::getCombinedPoolIdx ( ) const
inline

getCombinedPoolIdx You can use this code to calculate pool capacity per poolType:

std::set<uint64_t> poolsSeen;
size_t usedBytes = 0u;
size_t capacityBytes = 0u;
VaoManager::MemoryStatsEntryVec::const_iterator itor = memoryStats.begin();
VaoManager::MemoryStatsEntryVec::const_iterator endt = memoryStats.end();
while( itor != endt )
{
const uint64_t poolVal = itor->getCombinedPoolIdx();
dynUsedBytes += itor->sizeBytes;
if( poolsSeen.find( poolVal ) == poolsSeen.end() )
{
capacityBytes += itor->poolCapacity;
poolsSeen.insert( poolVal );
}
++itor;
}
Returns

Member Data Documentation

◆ bPoolHasTextures

bool Ogre::VaoManager::MemoryStatsEntry::bPoolHasTextures

This value is the same for all entries with same getCombinedPoolIdx.

Relevant for Vulkan: when this value is true, the whole pool may contain texture data (not necessarily this block) See Tutorial_Memory on how to deal with this parameter

◆ offset

size_t Ogre::VaoManager::MemoryStatsEntry::offset

◆ poolCapacity

size_t Ogre::VaoManager::MemoryStatsEntry::poolCapacity

◆ poolIdx

uint32 Ogre::VaoManager::MemoryStatsEntry::poolIdx

◆ poolType

uint32 Ogre::VaoManager::MemoryStatsEntry::poolType
See also
D3D11VaoManager::InternalBufferType & BufferType GL3PlusVaoManager::VboFlag MetalVaoManager::VboFlag VulkanVaoManager::VboFlag

◆ sizeBytes

size_t Ogre::VaoManager::MemoryStatsEntry::sizeBytes

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