![]() |
VR-Forces 5.0.1 Developer's Guide
|
helper class to handle texture residency
Public Types | |
| typedef std::map< unsigned int, int > | TexIDToCount |
| typedef std::map< void *, TexIDToCount > | ContextToTexID |
Public Member Functions | |
| DtGlTextureResidencyManager () | |
| virtual | ~DtGlTextureResidencyManager () |
| DtGlTextureResidencyManager (const DtGlTextureResidencyManager &)=delete | |
| DtGlTextureResidencyManager & | operator= (const DtGlTextureResidencyManager &)=delete |
| virtual void | makeResidentIfNecessary (void *gContext, GLuint textureID) |
| virtual bool | makeNonResidentIfNecessary (void *gContext, GLuint textureID, bool canDelete) |
| virtual GLuint64 | gpuTextureAddress (GLuint textureID) const |
| virtual bool | isTexture (GLuint textureID) const |
| virtual DtGlTextureResidentMemoryTracker * | tracker () const |
Protected Member Functions | |
| virtual DtGlTextureResidentMemoryTracker * | getOrCreateTracker (void *graphicsContext) |
Protected Attributes | |
| ContextToTexID | myTextureCountByContext |
| TexIDToCount | myTextureIdToRefCountAcrossContexts |
| std::unordered_map< void *, DtGlTextureResidentMemoryTracker * > | myContextsToTrackers |
| typedef std::map<unsigned int, int> makVrv::DtGlTextureResidencyManager::TexIDToCount |
| typedef std::map<void*, TexIDToCount> makVrv::DtGlTextureResidencyManager::ContextToTexID |
| makVrv::DtGlTextureResidencyManager::DtGlTextureResidencyManager | ( | ) |
constructor
|
virtual |
destructor
|
delete |
not allowed
|
delete |
not allowed
|
virtual |
Check if a texture is resident in a given context. If not, make it resident.
|
virtual |
Make a texture non-resident in GPU memory If canDelete=true, the function will try to delete the texture and return true if it succeeded in deleting the texture.
|
virtual |
Get the Gpu address of a texture.
check if the texture is in fact an OpenGL texture
|
virtual |
get a tracker since residency is per gc, there's a tracker per gc just get the first tracker in our map
|
protectedvirtual |
get or create the tracker.
|
protected |
|
protected |
|
protected |