summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerstats.cpp
diff options
context:
space:
mode:
authorAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2026-08-13 20:44:24 +0300
committerAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2026-08-14 21:49:53 +0300
commit1d3edf3f8de6d456397f9008c15823b0112fea44 (patch)
tree76be2ce86d3e27b516f61edfede57d37bc4f486e /indra/newview/llviewerstats.cpp
parentb72dc959c3b949fac35fba7f76436553e23f0320 (diff)
p#692 Update stat reporting, add vram and ram usage
Diffstat (limited to 'indra/newview/llviewerstats.cpp')
-rw-r--r--indra/newview/llviewerstats.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/indra/newview/llviewerstats.cpp b/indra/newview/llviewerstats.cpp
index 3b2796572b..5057ba2289 100644
--- a/indra/newview/llviewerstats.cpp
+++ b/indra/newview/llviewerstats.cpp
@@ -714,6 +714,8 @@ void send_viewer_stats(bool include_preferences)
system["os"] = LLOSInfo::instance().getOSStringSimple();
system["cpu"] = gSysCPU.getCPUString();
system["cpu_sse"] = gSysCPU.getSSEVersions();
+ system["cpu_simd"] = gSysCPU.getSIMDVersions();
+ system["cpu_mhz"] = gSysCPU.getMHz();
system["address_size"] = ADDRESS_SIZE;
system["os_bitness"] = LLOSInfo::instance().getOSBitness();
system["hardware_concurrency"] = (LLSD::Integer) std::thread::hardware_concurrency();
@@ -736,6 +738,19 @@ void send_viewer_stats(bool include_preferences)
system["gpu_vendor"] = gGLManager.mGLVendorShort;
system["gpu_version"] = gGLManager.mDriverVersionVendorString;
system["opengl_version"] = gGLManager.mGLVersionString;
+ system["gpu_vram_mb"] = (S32)gGLManager.mVRAM;
+ system["glsl_version"] = llformat("%d.%d", gGLManager.mGLSLVersionMajor, gGLManager.mGLSLVersionMinor);
+
+ // Resource usage
+ // getAvailableMemKB might be a bit stale, but that's fine, this is statistics,
+ // not a debug tool.
+ // TODO: 26.3 branch introduced getAvailableCommitMemMB, use that on windows
+ system["ram_avail_mb"] = (S32Megabytes)(LLMemory::getAvailableMemKB()).value();
+ system["ram_allocated_mb"] = (S32Megabytes)(LLMemory::getAllocatedMemKB()).value();
+ static constexpr F64 BYTES_TO_MB = 1024.0 * 1024.0;
+ F64 texture_bytes_alloc = LLImageGL::getTextureBytesAllocated() / BYTES_TO_MB;
+ F64 vertex_bytes_alloc = LLVertexBuffer::getBytesAllocated() / BYTES_TO_MB;
+ system["gpu_vram_tracked_mb"] = (F32)(texture_bytes_alloc + vertex_bytes_alloc);
gGLManager.asLLSD(system["gl"]);