summaryrefslogtreecommitdiff
path: root/indra/llrender
diff options
context:
space:
mode:
authorErik Kundiman <erik@megapahit.org>2024-09-07 17:46:04 +0800
committerErik Kundiman <erik@megapahit.org>2024-09-07 17:46:04 +0800
commita742349cabd97b42e61e1b445f79840407cb3479 (patch)
tree6d6f043f53cd3d7b9bf004e543932a86cb89ad7c /indra/llrender
parent895e2decd591ce8ab3cfcdce93c8b10447eedbee (diff)
parent1f754e50908ba325c132b8d83383f7f0dbbdf793 (diff)
Merge remote-tracking branch 'secondlife/release/2024.08-DeltaFPS' into 2024.08-DeltaFPS
Diffstat (limited to 'indra/llrender')
-rw-r--r--indra/llrender/llgl.cpp12
-rw-r--r--indra/llrender/llgl.h1
2 files changed, 13 insertions, 0 deletions
diff --git a/indra/llrender/llgl.cpp b/indra/llrender/llgl.cpp
index 2a7cc3d141..2f2c58ce73 100644
--- a/indra/llrender/llgl.cpp
+++ b/indra/llrender/llgl.cpp
@@ -1047,6 +1047,7 @@ void LLGLManager::initWGL()
GLH_EXT_NAME(wglGetGPUIDsAMD) = (PFNWGLGETGPUIDSAMDPROC)GLH_EXT_GET_PROC_ADDRESS("wglGetGPUIDsAMD");
GLH_EXT_NAME(wglGetGPUInfoAMD) = (PFNWGLGETGPUINFOAMDPROC)GLH_EXT_GET_PROC_ADDRESS("wglGetGPUInfoAMD");
}
+ mHasNVXGpuMemoryInfo = ExtensionExists("GL_NVX_gpu_memory_info", gGLHExts.mSysExts);
if (ExtensionExists("WGL_EXT_swap_control", gGLHExts.mSysExts))
{
@@ -1221,6 +1222,17 @@ bool LLGLManager::initGL()
LL_WARNS("RenderInit") << "VRAM Detected (AMDAssociations):" << mVRAM << LL_ENDL;
}
}
+ else if (mHasNVXGpuMemoryInfo)
+ {
+ GLint mem_kb = 0;
+ glGetIntegerv(GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX, &mem_kb);
+ mVRAM = mem_kb / 1024;
+
+ if (mVRAM != 0)
+ {
+ LL_WARNS("RenderInit") << "VRAM Detected (NVXGpuMemoryInfo):" << mVRAM << LL_ENDL;
+ }
+ }
#endif
#if LL_WINDOWS
diff --git a/indra/llrender/llgl.h b/indra/llrender/llgl.h
index 440a7d37c4..506baec03d 100644
--- a/indra/llrender/llgl.h
+++ b/indra/llrender/llgl.h
@@ -97,6 +97,7 @@ public:
// Vendor-specific extensions
bool mHasAMDAssociations = false;
+ bool mHasNVXGpuMemoryInfo = false;
bool mIsAMD;
bool mIsNVIDIA;