14 #include <unordered_map>
18 class DtGlTextureResidentMemoryTracker;
42 virtual void makeResidentIfNecessary(
void* gContext,
GLuint textureID);
47 virtual bool makeNonResidentIfNecessary(
void* gContext,
GLuint textureID,
bool canDelete);
50 virtual void deletingTexture(
GLuint textureID);
54 virtual bool ensureTextureIsResident(
GLuint textureID, GLuint64 textureAddress);
57 virtual GLuint64 gpuTextureAddress(
GLuint textureID)
const;
60 virtual bool isTexture(
GLuint textureID)
const;
68 virtual void setAllowNvidiaBindlessFix(
bool enable);
std::map< unsigned int, int > TexIDToCount
Definition: DtGlTextureResidencyManager.h:24
helper class to handle texture residency
Definition: DtGlTextureResidencyManager.h:21
std::map< void *, TexIDToCount > ContextToTexID
Definition: DtGlTextureResidencyManager.h:25
unsigned int GLuint
Definition: DtGlTextureBufferObject.h:17
DtGlTextureResidentMemoryTracker class is used to track resident memory of the textures in the system...
Definition: DtGlTextureResidentMemoryTracker.h:73
ContextToTexID myTextureCountByContext
Definition: DtGlTextureResidencyManager.h:78
std::unordered_map< GLuint, bool > myTextureIsResidentMap
Definition: DtGlTextureResidencyManager.h:104
#define DT_DLL_VRVGRAPHICSUTILS
Definition: vrvGraphicsUtils.h:18
bool myAllowNvidiaBindlessFix
Definition: DtGlTextureResidencyManager.h:110
TexIDToCount myTextureIdToRefCountAcrossContexts
Definition: DtGlTextureResidencyManager.h:86
std::unordered_map< void *, DtGlTextureResidentMemoryTracker * > myContextsToTrackers
Definition: DtGlTextureResidencyManager.h:88